【发布时间】:2019-04-11 07:44:50
【问题描述】:
我正在处理多类不平衡数据。我的因变量高度偏斜。
Injury
2(No Injury) 208753
1(Medium Injury) 22318
0(severe Injury) 3394
我使用带有参数“class_weight='balanced'”的随机森林算法来管理第 2 类不平衡。
当我使用 average='micro' 时,我得到以下结果。
[[ 34 107 688]
[ 148 778 4592]
[ 905 4635 46730]]
Accuracy Score: 0.8110616374089428
precision score: 0.8110616374089428
Recall score: 0.8110616374089428
AUC Score: 0.8582962280567071
F1 score: 0.8110616374089428
Kappa Score: 0.05522284663052324
对于average = 'macro',结果如下。
[[ 31 125 684]
[ 157 838 4559]
[ 890 4694 46639]]
Accuracy Score: 0.8104816009007626
precision score: 0.3586119227436326
Recall score: 0.3602869806251181
AUC Score: 0.5253225798824679
F1 score: 0.3592735337079687
Kappa Score: 0.06376296115668922
那么,我应该考虑哪些结果来评估模型?如果我必须考虑宏观,那么我的模型性能真的很糟糕。请问有什么方法可以提高precision、recall和AUC score吗?
如果我考虑微观结果,我的准确率、召回率、f1 分数是相同的。我如何在项目中证明这一点?
任何帮助将不胜感激。
谢谢。
【问题讨论】:
标签: scikit-learn data-science multiclass-classification