随机森林中的 class_weight 超参数改变了混淆矩阵中的样本数量

飞利卡205

我目前正在研究一个随机森林分类模型,该模型包含 24,000 个样本,其中 20,000 个属于 ,class 0其中 4,000 个属于class 1我做了一个train_test_splitwhere test_set 是0.2整个数据集(大约 4,800 个样本test_set)。由于我正在处理不平衡的数据,因此我查看了class_weight旨在解决此问题的超参数。

我在设置class_weight='balanced'和查看confusion_matrix训练集时面临的问题是

array([[13209, 747], [ 2776, 2468]])

如您所见,下面的数组对应False Negative = 2776后跟True Positive = 2468,而上面的数组对应True Negative = 13209后跟False Positive = 747的问题是,样本量属于class 1根据confusion_matrix2,776 (False Negative) + 2,468 (True Positive)哪个总结了到5,244 samples属于class 1这没有任何意义,因为整个数据集仅包含 4,000 个样本,而class 1其中只有 3,200 个位于train_set. 它看起来像confusion_matrix返回一个Transposed版本的矩阵,因为样品的实际量属于class 1training_set要总结3200个样品train_set在800test_set. 一般来说,正确的数字应该是 747 + 2468,总和为 3,215,这是正确数量的样本属于class 1有人可以解释一下我使用的那一刻会发生什么class_weight吗?confusion_matrix返回transposed矩阵的一个版本是真的吗?我是不是看错了?我尝试寻找答案并访问了几个相似的问题,但没有一个真正涉及这个问题。

这些是我查看的一些来源:

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

如何使用 Scikit Learn 调整随机森林中的参数?

https://datascience.stackexchange.com/questions/11564/how-does-class-weights-work-in-randomforestclassifier

https://stats.stackexchange.com/questions/244630/difference-between-sample-weight-and-class-weight-randomforest-classifier

使用随机森林分类器在不平衡数据集中使用 sample_weight 和 class_weight

任何帮助将不胜感激,谢谢。

沙漠之舟

文档中复制玩具示例

from sklearn.metrics import confusion_matrix

y_true = [0, 1, 0, 1]
y_pred = [1, 1, 1, 0]

tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
(tn, fp, fn, tp)
# (0, 2, 1, 1)

因此,您提供的混淆矩阵的读数似乎是正确的。

混淆_矩阵返回矩阵的转置版本是真的吗?

正如上面的例子所示,没有。但是一个非常容易(而且看起来很无辜)的错误可能是您已经交换参数顺序,这确实很重要;结果确实是一个转置矩阵:y_truey_pred

# correct order of arguments:
confusion_matrix(y_true, y_pred)
# array([[0, 2],
#        [1, 1]])

# inverted (wrong) order of the arguments:
confusion_matrix(y_pred, y_true)
# array([[0, 1],
#        [2, 1]])

从您提供的信息中无法确定这是否是原因,这很好地提醒了您为什么应该始终提供实际代码,而不是对您认为代码正在做什么的口头描述......

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

scikit-learn中的class_weight参数如何工作?

来自分类Dev

接近矩阵-随机森林

来自分类Dev

随机森林中每棵树的平均绝对误差

来自分类Dev

随机森林包预测,newdata参数?

来自分类Dev

Python中的随机森林

来自分类Dev

随机森林中的tuneGrid参数问题

来自分类Dev

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

来自分类Dev

如何处理sklearn随机森林中的类不平衡。我应该使用样本权重还是班级权重参数

来自分类Dev

对象中缺少值-R中的随机森林混淆矩阵

来自分类Dev

在随机森林中查找重要特征非常缓慢

来自分类Dev

如何在Python scikit-learn中从随机森林中的每棵树输出回归预测?

来自分类Dev

LinearSVC中参数class_weight的最佳值是多少?

来自分类Dev

无法弄清楚如何清除随机森林中的NaN

来自分类Dev

Logistic回归-class_weight平衡vs dict参数

来自分类Dev

R:在随机森林中调整mtry时出错(回归)

来自分类Dev

获得随机森林中决策树的价值

来自分类Dev

在svm.scv()中同时使用“ class_weight”和“ c”参数时会发生什么?

来自分类Dev

随机森林包预测,newdata参数?

来自分类Dev

Python中的随机森林

来自分类Dev

DNnClassifier - 用于预测方法的 class_weight

来自分类Dev

有没有办法在 R 中获取随机森林中每棵树的拆分记录和属性?

来自分类Dev

随机森林中的“方差解释”与 XGBoost 中的“错误”有什么区别

来自分类Dev

RandomizedSearchCV 中 class_weight 的采样值

来自分类Dev

如何为随机森林指定 minInstancesPerNode 参数?

来自分类Dev

随机森林中预测值的特征重要性?

来自分类Dev

什么 SKLearn 分类器带有 class_weight 参数

来自分类Dev

随机森林搜索参数中hyperopt的ValueError

来自分类Dev

从混合效应随机森林中获取特征重要性

来自分类Dev

如何模拟要在 R 中的随机森林中使用的分类数据?

Related 相关文章

  1. 1

    scikit-learn中的class_weight参数如何工作?

  2. 2

    接近矩阵-随机森林

  3. 3

    随机森林中每棵树的平均绝对误差

  4. 4

    随机森林包预测,newdata参数?

  5. 5

    Python中的随机森林

  6. 6

    随机森林中的tuneGrid参数问题

  7. 7

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

  8. 8

    如何处理sklearn随机森林中的类不平衡。我应该使用样本权重还是班级权重参数

  9. 9

    对象中缺少值-R中的随机森林混淆矩阵

  10. 10

    在随机森林中查找重要特征非常缓慢

  11. 11

    如何在Python scikit-learn中从随机森林中的每棵树输出回归预测?

  12. 12

    LinearSVC中参数class_weight的最佳值是多少?

  13. 13

    无法弄清楚如何清除随机森林中的NaN

  14. 14

    Logistic回归-class_weight平衡vs dict参数

  15. 15

    R:在随机森林中调整mtry时出错(回归)

  16. 16

    获得随机森林中决策树的价值

  17. 17

    在svm.scv()中同时使用“ class_weight”和“ c”参数时会发生什么?

  18. 18

    随机森林包预测,newdata参数?

  19. 19

    Python中的随机森林

  20. 20

    DNnClassifier - 用于预测方法的 class_weight

  21. 21

    有没有办法在 R 中获取随机森林中每棵树的拆分记录和属性?

  22. 22

    随机森林中的“方差解释”与 XGBoost 中的“错误”有什么区别

  23. 23

    RandomizedSearchCV 中 class_weight 的采样值

  24. 24

    如何为随机森林指定 minInstancesPerNode 参数?

  25. 25

    随机森林中预测值的特征重要性?

  26. 26

    什么 SKLearn 分类器带有 class_weight 参数

  27. 27

    随机森林搜索参数中hyperopt的ValueError

  28. 28

    从混合效应随机森林中获取特征重要性

  29. 29

    如何模拟要在 R 中的随机森林中使用的分类数据?

热门标签

归档