cao*_*gyu 6 machine-learning scikit-learn
当我们评估模型时,我们需要设置sample_weight吗?现在我已经训练了一个关于分类的模型,但是数据集不平衡。当我使用compute_sample_weight('balanced')设置sample_weight时,分数非常好。“1”级精度:0.88,召回率:0.86。但是如果我不设置sample_weight,分数就会很差。精度:0.85,召回率:0.21。样本权重会破坏原始数据分布吗?
样本权重参数仅在训练期间使用。
假设您有一个数据集,其中 16 个点属于“0”类,4 个点属于“1”类。
如果没有此参数,在优化过程中,它们的损失计算权重为 1:它们对模型最小化损失的贡献相同。这意味着 80% 的损失是由于“0”类点造成的,20% 是由于“1”类点造成的。
通过将其设置为“平衡”,scikit-learn 将自动计算分配给“0”类和“1”类的权重,使得 50% 的损失来自“0”类,50% 来自“1”类。
此参数会影响您需要用来将“0”类预测与“1”类预测分开的“最佳阈值”,并且还会影响模型的性能。
| 归档时间: |
|
| 查看次数: |
6585 次 |
| 最近记录: |