一般我們看到的機器學習的模型都是用loss和accuracy來評價的,但實際我們也會接觸到用“TP”、“TN”、“FP”、“FN”來評價模型的,事實上其他諸如准確率、召回率等評價標准都是以“TP”、“TN”、“FP”、“FN”為基礎用公式組合而來的,它們的含義如下表所示:
評價標准 | 含義 |
True positives(TP,真正) | 預測為正,實際為正 |
True negatives(TN,真負) | 預測為負,實際為負 |
False positives(FP,假正) | 預測為正,實際為負 |
False negatives(FN,假負) | 預測為負,實際為正 |
對於上表的記憶,我們只需記得字母縮寫對應的英文單詞的含義就不難,"True"和"False"代表的是實際的正負,"positives"和"negatives"代表的是預測的正負。由上表又可以進一步推導出下表:
定義 | 公式 | 含義 |
TPR(true positive rate,真正類率,靈敏度,Sensitivity) | TPR = TP/(TP+FN) | 代表分類器預測的正類中實際正實例占所有正實例的比例。 |
FPR(false positive rate,假正類率) | FPR = FP/(FP+TN) | 代表分類器預測的正類中實際負實例占所有負實例的比例。 |
TNR(ture negative rate,真負類率,特異度,Specificity) | TNR = TN/(FP+TN) = 1 - FPR | 代表分類器預測的負類中實際負實例占所有負實例的比例。 |
- Recall(召回率)
Recall = TPR = TP /(TP+FN)
即當前被分到正樣本類別中,真實的正樣本占所有正樣本的比例,即召回率(召回了多少正樣本比例);(召回率表示真正預測為正樣本的樣本數占實際正樣本的樣本數的比率)。
- Precision(精確率)
Pre = TP /(TP+FP)
當前預測為正樣本類別中,被正確分類的比例(即正式正樣本所占比例),就是我們一般理解意義上所關心的正樣本的分類精確率確率;(精確率表示真正預測為正樣本的樣本數占所有預測為正樣本的樣本數的比例) 通俗說:預測為正樣本中正確的占的比例。
- Accuracy(准確率,ACC)
ACC = (TP+TN) / (TP+TN+FN+FP)
表示預測正確的樣本占所有樣本的比率。
- F-Score
F-Score 是精確率Precision和召回率Recall的加權調和平均值。該值是為了綜合衡量Precision和Recall而設定的。計算公式為:




這時,Precision和Recall都很重要,權重相同。當有些情況下,我們認為Precision更重要,那就調整參數的值小於1;如果我們認為Recall更加重要,那就調整參數
的值大於1。
一般來說,當F-Score或F1-score較高時,說明結果較理想。
- ROC曲線
在一個二分類模型中,假設采用邏輯回歸分類器,其給出針對每個實例為正類的概率,那么通過設定一個閾值如0.6,概率大於等於0.6的為正類,小於0.6的為負類。對應的就可以算出一組(FPR,TPR),在平面中得到對應坐標點。隨着閾值的逐漸減小,越來越多的實例被划分為正類,但是這些正類中同樣也摻雜着真正的負實例,即TPR和FPR會同時增大。閾值最大時,對應坐標點為(0,0),閾值最小時,對應坐標點(1,1)。
如下面這幅圖,(a)圖中實線為ROC曲線,線上每個點對應一個閾值。
(b) P和N得分不作為特征間距離d的一個函數,隨着閾值theta增加,TP和FP都增加。
橫軸FPR:1-TNR,1-Specificity,FPR越大,預測正類中實際負類越多。
縱軸TPR:Sensitivity(正類覆蓋率),TPR越大,預測正類中實際正類越多。
理想目標:TPR=1,FPR=0,即圖中(0,1)點,故ROC曲線越靠攏(0,1)點,越偏離45度對角線越好,Sensitivity、Specificity越大效果越好。
- AUC
AUC 即ROC曲線下的面積,計算方式即為ROC Curve的微積分值,其物理意義可以表示為:隨機給定一正一負兩個樣本,將正樣本排在負樣本之前的概率,因此AUC越大,說明正樣本越有可能被排在負樣本之前,即分類額結果越好。
AUC(Area under Curve):Roc曲線下的面積,介於0.1和1之間。Auc作為數值可以直觀的評價分類器的好壞,值越大越好。