天天看點

模型評價名額:精準率(Precision)、召回率(Recall)和準确率(Accuracy)

  機器學習做分類任務得到結果後,往往需要一些名額來評價模型效果,常用到的就有精準率(Precision)、召回率(Recall)和準确率(Accuracy),在不同場景需要看不同名額。

  下圖表示的是一個二分類的混淆矩陣:

真實值\預測值 Positive(1) Negative(0)
Positive(1)

True Positive

(TP)

False Positive

(FP)

Negative(0)

False Negative

(FN)

True Negative

(TN)

  TP,預測是正樣本(1),真實為正樣本(1),預測對了;

  FN,預測是負樣本(0),真實為正樣本(1),預測錯了

  FP,預測是正樣本(1),真實為負樣本(0),預測錯了;

  TN:預測是負樣本(0),真實為負樣本(0),預測對了

精準率(Precision)

精準率(Precision)又稱查準率:預測為正的樣本中真實為正的樣本。

模型評價名額:精準率(Precision)、召回率(Recall)和準确率(Accuracy)

P r e c i s i o n = T P / ( T P + F P ) Precision = TP/(TP+FP) Precision=TP/(TP+FP)

召回率(Recall)

  召回率(Recall)又稱查全率:真實為正的樣本中預測為正的樣本。

模型評價名額:精準率(Precision)、召回率(Recall)和準确率(Accuracy)

r e c a l l = T P / ( T P + F N ) recall = TP/(TP+FN) recall=TP/(TP+FN)

準确率(Accuracy)

  準确率(Accuracy):預測某類正确的樣本比例

模型評價名額:精準率(Precision)、召回率(Recall)和準确率(Accuracy)

A c c u r a c y = ( T P + T N ) / ( T P + T N + F P + F N ) Accuracy = (TP+TN)/(TP+TN+FP+FN) Accuracy=(TP+TN)/(TP+TN+FP+FN)

舉個栗子

  假設銀行有1000個信用卡客戶,其中有10名欺詐使用者。現有一個分類器檢測這1000個信用卡客戶,結果預測出20個欺詐使用者,其中有4名真正的欺詐使用者,另外16名實際上為非欺詐使用者,則混淆矩陣如下:

真實值\預測值 Positive(1) Negative(0)
Positive(1)

True Positive

(TP=4)

False Positive

(FP=16)

Negative(0)

False Negative

(FN=6)

True Negative

(TN=974)

則名額值分别為:

Accuracy = (4+974)/1000 = 0.978

Precision = 4/20 = 0.25

Recall = 4/10 = 0.4

  案例中可以發現,盡管分類器的準确率達到了97.8%,但是如果建立模型目的是盡可能找出隐藏在1000名客戶中的欺詐客戶,則這個分類器并不好。預測為欺詐且真實為欺詐的比率(Precision)僅為25%,真實為欺詐預測為欺詐的比率(Recall)僅為40%,這個比例對銀行而言是不夠好的,可能因為漏判了60%的欺詐客戶,導緻銀行出現比較嚴重的違約可能,造成較大的損失。

總結

  模型整體預測效果看Accuracy(準确率);在預測欺詐、違約、流失客戶時需要看Recall(召回率),召回率越高,說明模型更能夠識别欺詐、違約客戶。想要知道分類器某個分類的準确性則使用Precision(精确率)。

繼續閱讀