gpt4 book ai didi

python - 如何在 sklearn 算法中使用 sample_weight 参数

转载 作者:太空宇宙 更新时间:2023-11-04 04:16:37 28 4
gpt4 key购买 nike

我有一个非常不平衡的数据集,我正在执行分类任务。因此,我尝试了所有算法,即(决策树、朴素贝叶斯、逻辑回归),对于每一种算法,我都在 scikit learn 中遇到了一个名为 sample_weights 的参数。

假设我的数据集中有大约 10 万个正数据点和 2 万个负数据点。
0.83 % 的正标签和 0.16 % 的负标签

根据文档,我假设此参数用于通过为具有较少数据点(即不平衡数据集)的类赋予更多权重来解决此类问题。

class_weight : dict or ‘balanced’, default: None

Weights associated with classes in the form {class_label: weight}. Ifnot given, all classes are supposed to have weight one. Formulti-output problems, a list of dicts can be provided in the sameorder as the columns of y.

我的问题是,对于上述不平衡数据集示例,我理想的 class_weights 应该是多少,这样我就可以避免过采样或欠采样等技术?

最佳答案

权重应该设置为balanced,这样训练的类就好像它们是平衡的。

类别权重相当于随机过采样。在我看来,智能过采样技术如 SMOTE是一种比在训练过程中给样本增加权重的方法更有效的方法。

但是,过采样技术会增加计算成本,因为模型需要在更大数据集上进行训练(由于过采样)。另一方面,类加权对模型没有额外的计算成本。除非训练非常计算量大的模型,否则我通常更喜欢 SMOTE。

关于python - 如何在 sklearn 算法中使用 sample_weight 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55288023/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com