gpt4 book ai didi

python - scikit-learn:随机森林 class_weight 和 sample_weight 参数

转载 作者:IT老高 更新时间:2023-10-28 21:13:16 44 4
gpt4 key购买 nike

我有一个类不平衡问题,并且一直在使用 scikit-learn (>= 0.16) 中的实现来试验加权随机森林。

我注意到该实现在树构造函数中采用 class_weight 参数,在 fit 方法中采用 sample_weight 参数来帮助解决类不平衡问题。不过,这两者似乎相乘以决定最终权重。

我无法理解以下内容:

  • 在树的构建/训练/预测的哪些阶段使用了这些权重?我看过一些关于加权树的论文,但我不确定 scikit 实现了什么。
  • class_weight 和 sample_weight 到底有什么区别?

最佳答案

RandomForests 是建立在树上的,树上有很好的记录。检查 Trees 如何使用样本权重:

至于 class_weightsample_weight 之间的区别:很多可以简单地通过它们的数据类型的性质来确定。 sample_weight 是长度为 n_samples 的一维数组,为用于训练的每个示例分配显式权重。 class_weight 是每个类的字典到该类的统一权重(例如,{1:.9, 2:.5, 3:.01}),或者是一个字符串,告诉 sklearn 如何自动确定这个字典。

因此,给定示例的训练权重是其明确命名为 sample_weight 的乘积(如果未提供 sample_weight,则为 1),它是 class_weight (如果未提供 class_weight 则为 1)。

关于python - scikit-learn:随机森林 class_weight 和 sample_weight 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30805192/

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