2024-05-23 13:33:28 发布
网友
我试图解决一个类不平衡的二元分类问题。我有21万条记录的数据集,其中92%是0s和8%是1s。我在python中使用sklearn (v 0.16)作为random forests。在
python
sklearn (v 0.16)
random forests
我看到在构造分类器时有两个参数sample_weight和{}。我当前正在使用参数class_weight="auto"。在
sample_weight
class_weight="auto"
我用这个正确吗? 类权重和样本权重的实际作用是什么?我应该使用什么?在
你应该使用类权重。在
使用“采样权重”(Sample weights),可以为特定采样的影响指定乘数。对权重为2.0的样本进行加权,其效果与点在数据中出现两次时的效果相同(尽管确切效果取决于估计器)。在
类权重具有相同的效果,但它用于对属于指定类的每个样本应用集合乘数。就功能而言,您可以使用其中一种,但是class_weights是为了方便起见而提供的,因此您不必手动为每个样本加权。也可以将两种方法结合使用,其中类权重乘以样本权重。在
class_weights
sample_weights在fit()方法上的主要用途之一是允许像AdaBoostClassifier这样的提升元算法操作现有的决策树分类器,并根据算法的需要增加或减少单个样本的权重。在
sample_weights
fit()
AdaBoostClassifier
你应该使用类权重。在
使用“采样权重”(Sample weights),可以为特定采样的影响指定乘数。对权重为2.0的样本进行加权,其效果与点在数据中出现两次时的效果相同(尽管确切效果取决于估计器)。在
类权重具有相同的效果,但它用于对属于指定类的每个样本应用集合乘数。就功能而言,您可以使用其中一种,但是
class_weights
是为了方便起见而提供的,因此您不必手动为每个样本加权。也可以将两种方法结合使用,其中类权重乘以样本权重。在sample_weights
在fit()
方法上的主要用途之一是允许像AdaBoostClassifier
这样的提升元算法操作现有的决策树分类器,并根据算法的需要增加或减少单个样本的权重。在相关问题 更多 >
编程相关推荐