1. 程式人生 > 其它 >邏輯迴歸4-分類評估方法、混淆矩陣、精確率、召回率、roc曲線、auc指標

邏輯迴歸4-分類評估方法、混淆矩陣、精確率、召回率、roc曲線、auc指標

1.分類評估方法

1.1 精確率與召回率

1.1.1 混淆矩陣

在分類任務下,預測結果(Predicted Condition)與正確標記(True Condition)之間存在四種不同的組合,構成混淆矩陣(適用於多分類)

1.1.2 準確率、精確率(Precision)與召回率(Recall)

  • 準確率:(對不對)
    • (TP+TN)/(TP+TN+FN+FP)
  • 精確率:(查的準不準)
    • TP/(TP+FP)
  • 召回率:查的全不全
    • TP/(TP+FN)

1.2 F1-score

F1-score,反映了模型的穩健型

1.3 分類評估報告API

  • sklearn.metrics.classification_report(y_true, y_pred, labels=[], target_names=None )
    • y_true:真實目標值
    • y_pred:估計器預測目標值
    • target_names:目標類別名稱
    • return:每個類別精確率與召回率
ret = classification_report(y_test, y_predict, labels=(2,4), target_names=("良性", "惡性"))
print(ret)

2 ROC曲線與AUC指標

假設這樣一個情況,如果99個樣本癌症,1個樣本非癌症,不管怎樣我全都預測正例(預設癌症為正例),準確率就為99%但是這樣效果並不好,這就是樣本不均衡下的評估問題

問題:如何衡量樣本不均衡下的評估?

2.1 TPR與FPR

  • TPR = TP / (TP + FN)
    • 所有真實類別為1的樣本中,預測類別為1的比例
  • FPR = FP / (FP + TN)
    • 所有真實類別為0的樣本中,預測類別為1的比例

2.2 ROC曲線

ROC曲線的橫軸就是FPR,縱軸就是TPR,當二者相等時,表示的意義則是:對於不論真實類別是1還是0的樣本,分類器預測為1的概率是相等的,此時AUC為0.5

2.3 AUC指標

  • AUC的概率意義是隨機取一對正負樣本,正樣本得分大於負樣本得分的概率
  • AUC=1,完美分類器,採用這個預測模型時,不管設定什麼閾值都能得出完美預測。絕大多數預測的場合,不存在完美分類器。
  • 0.5<AUC<1,優於隨機猜測。這個分類器(模型)妥善設定閾值的話,能有預測價值。
    • 越接近1,效果越好
    • 越接近0,效果越差
    • 越接近0.5,效果就是胡說