如何为成本敏感学习设置 class_weight 参数?

数据挖掘 分类 scikit-学习 随机森林 二进制
2022-02-19 14:19:44

我正在处理具有平衡数据集的二元分类问题,但是误报比误报要昂贵得多。假设 FP 通常比 FN 成本高 3 倍,并且响应变量 = 1 表示正识别。我应该如何在 sklearn 的 RandomForest 中设置 class_weight 参数来反映这一点?根据我的理解,我会说:

class_weight = {0:1.0,1:3.0}

我不确定我是否正确理解了这个参数,还是应该反过来?

谢谢。

1个回答

(1)(0)(1)FP(0)FN

行元素为 Y_true,列元素为 Y_pred。

FP 的意思是,我们预测为 Positive,结果为 False,即 Class is Negative(0 here)

这意味着我们不希望模型错误地分类负类。
因此,这意味着,我们将对 Negative 类施加更大的惩罚。因此,

class_weight = {0:3.0.0,1:1.0}