【发布时间】:2016-12-31 06:09:10
【问题描述】:
当我在 Scikit learn 中阅读决策树时,我发现:
在训练之前平衡您的数据集,以防止树被 偏向于占主导地位的阶级。类平衡可以 通过从每个类中抽取相同数量的样本来完成,或 最好通过标准化样本权重的总和 (sample_weight) 为每个类设置相同的值。
在链接中:http://scikit-learn.org/stable/modules/tree.html
我很困惑。
(1)
类平衡可以通过采样相同数量的样本来完成 每个班级
如果我这样做,我应该使用为每个类中的每个样本添加适当的样本权重(或添加类样本......)。
例如,如果我有两个类:A 和 B 的样本数
A:100 B:10000
我可以为每个输入 10000 个样本并设置权重吗:
A的输入样本:10000,B的输入样本:10000
A 的重量:0.01,B 的重量:1.0
(2)
但还是说:
最好通过标准化样本权重的总和 (sample_weight) 为每个类设置相同的值
我完全被它弄糊涂了。这是否意味着我应该输入 100 个 A 样本和 10000 个 B 样本然后设置权重:
A:100 的输入样本,B:10000 的输入样本
A 的权重:1.0,B 的权重:1.0
但我似乎没有采取任何措施来平衡不平衡的数据。
Scikit learn 中哪种方式更好,第二种方式是什么意思?谁能帮我澄清一下?
【问题讨论】:
标签: machine-learning scikit-learn imbalanced-data