1. 程式人生 > >機器學習常見評價指標:AUC、Precision、Recall、F-measure、Accuracy

機器學習常見評價指標:AUC、Precision、Recall、F-measure、Accuracy

1、AUC的計算    AUC是一個模型評價指標,用於二分類模型的評價。AUC是“Area under Curve(曲線下的面積)”的英文縮寫,而這條“Curve(曲線)”就是ROC曲線。    為什麼要用AUC作為二分類模型的評價指標呢?為什麼不直接通過計算準確率來對模型進行評價呢?答案是這樣的:機器學習中的很多模型對於分類問題的預測結果大多是概率,即屬於某個類別的概率,如果計算準確率的話,就要把概率轉化為類別,這就需要設定一個閾值,概率大於某個閾值的屬於一類,概率小於某個閾值的屬於另一類,而閾值的設定直接影響了準確率的計算。使用AUC可以解決這個問題,接下來詳細介紹AUC的計算。    例如,資料集一共有5個樣本,真實類別為(1,0,0,1,0);二分類機器學習模型,得到的預測結果為(0.5,0.6,0.4,0.7,0.3)。將預測結果轉化為類別——預測結果降序排列,以每個預測值(概率值)作為閾值,即可得到類別。計算每個閾值下的“True Positive Rate”、“False Positive Rate”。以“True Positive Rate”作為縱軸,以“False Positive Rate”作為橫軸,畫出ROC曲線,ROC曲線下的面積,即為AUC的值。    那麼什麼是“True Positive Rate”、“False Positive Rate”?    首先,我們看如下的圖示: 

  然後,我們計算兩個指標的值:    TruePositiveRate=TPTP+FNTruePositiveRate=TPTP+FN,代表將真實正將本劃分為正樣本的概率    FalsePositiveRate=FPFP+TNFalsePositiveRate=FPFP+TN,代表將真實負樣本劃分為正樣本的概率    接著,我們以“True Positive Rate”作為縱軸,以“False Positive Rate”作為橫軸,畫出ROC曲線,ROC曲線下的面積,即為AUC的值。類似下圖: 

2、Precision、Recall、F-measure、Accuracy的計算    首先,我們看如下圖示(與上邊的圖示相同): 

  精確率(Precision):Precision=TPTP+FPPrecision=TPTP+FP    召回率(Recall):Recall=TPTP+FNRecall=TPTP+FN    F-measure:F−measure=2×Precision×RecallPrecision+RecallF−measure=2×Precision×RecallPrecision+Recall    準確率(Accuracy):Accuracy=TP+TNTP+TN+FP+FNAccuracy=TP+TNTP+TN+FP+FN   關於聚類的評價指標可以參考文章:    Clustering Algorithms and Evaluations 

  Evaluation of clustering    F-measure、RI 的計算