多类不平衡指标

时间:2018-11-15 12:27:13

标签: multiclass-classification

我有一个多类不平衡问题。因变量如下所示。

                  Injury
    severe Injury (Class 0)               3394
   Medium Injury (Class 1)           22318
      No Injury (Class 2)                208753

我已经使用参数class_weight ='balanced'的随机森林算法来处理不平衡问题。该模型得出以下结果。

 [[  650    12     9]
  [    3  2938  1670]
  [    7   917 40569]]

 Accuracy Score: 0.9440299305184393
 precision score: 0.9016230160324789
 Recall score: 0.8612021971135553
 AUC Score: 0.8739141097167544
  F1 score: 0.879571098748252

              precision    recall  f1-score   support

    class 0       0.98      0.97      0.98       671
    class 1       0.76      0.64      0.69      4611
    class 2       0.96      0.98      0.97     41493

avg / total       0.94      0.94      0.94     46775

Kappa Score: 0.7391731672532447

由于我真的对0级和1级感兴趣,因此使用“宏”方法计算精度,召回率和F1得分。

ex:
print ('precision score:', precision_score(test_y,ry_pred, average='macro'))

所以,我的问题是,我可以采用单个类(0类和1类)的精度,召回率和f1吗?还是评估模型的总体平均得分(包括2类)?

ex:  F1 score for all three classes = (98+69+97)/3 = 0.8795 
     F1 Score for 2 classes = (98+69)/2 = 83.5

如果我必须对各个班级进行评分,那么我可以对班级0和班级1进行汇总,以说明模型对次要班级的分类情况如何吗?

此外,对于0类,该模型在98分附近表现出高分。这是过拟合的问题吗?我使用k折CV技术评估模型,并显示以下分数。它显示了总体精度,召回率和F1得分。

precision score 0.9009562240704383
   recall score 0.8576816035552879
       F1 score 0.8776626709718627

请提出建议。

0 个答案:

没有答案