gpt4 book ai didi

python - 随机森林 Python 中的 Class_Weight

转载 作者:太空宇宙 更新时间:2023-11-04 04:56:10 27 4
gpt4 key购买 nike

我目前正在尝试改变随机森林分类器的阈值以绘制 ROC 曲线。我的印象是,对随机森林执行此操作的唯一方法是使用 class_weight 参数。我已经能够成功地做到这一点,提高和降低精确度、召回率、真阳性和假阳性率;但是,我不确定我实际上在做什么。目前我有以下内容;

rfc = RandomForestClassifier(n_jobs=-1, oob_score=True,  n_estimators=50,max_depth=40,min_samples_split=100,min_samples_leaf=80, class_weight={0:.4, 1:.9})

.4 和 .9 实际上指的是什么。我认为这是 40% 的数据集是 0,而 90% 是 1,但这显然没有意义(超过 %100)。它实际上在做什么?谢谢!

最佳答案

类权重通常不需要归一化为 1(重要的只是类权重的比率,因此要求它们总和为 1 实际上并不是限制)。

因此,将类权重设置为 0.4 和 0.9 相当于假设数据中的类标签从 0.4/(0.4+0.9) 拆分为 0.9/(0.4+0.9) [大约 ~30% 属于类 0 和~70% 属于第 1 类。

查看不同类别权重的另一种方法是,与另一个类别相比,可以更强烈地惩罚一个类别中的错误,但仍然假设数据中的标签数量是平衡的。在您的示例中,将 1 错误分类为 0 的情况比将 0 错误分类为 1 的情况严重 9/4 倍。

关于python - 随机森林 Python 中的 Class_Weight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47006168/

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