邏輯迴歸4-分類評估方法、混淆矩陣、精確率、召回率、roc曲線、auc指標
阿新 • • 發佈:2021-09-22
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+FP)
- 召回率:查的全不全
- TP/(TP+FN)
- 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,效果就是胡說