1. 程式人生 > >AUC、Precision、Recall、F-measure、Accuracy

AUC、Precision、Recall、F-measure、Accuracy

機器學習常見評價指標: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,代表將真實負樣本劃分為正樣本的概率
  接著,我們以“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+Recall
  F−measure=2×Precision×RecallPrecision+Recall
  準確率(Accuracy):Accuracy=TP+TNTP+TN+FP+FN

Precision=TPTP+FPPrecision=TPTP+FP

  關於聚類的評價指標可以參考文章:
  Clustering Algorithms and Evaluations
  Evaluation of clustering
  F-measure、RI 的計算

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