機器學習常見評價指標: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