1. 程式人生 > >機器學習評價指標(ACC,P,R,F1,AUC等)

機器學習評價指標(ACC,P,R,F1,AUC等)

分類
TP:正例預測正確的個數
FP:負例預測錯誤的個數
TN:負例預測正確的個數
FN:正例預測錯誤的個數

準確率(accuracy)
在這裡插入圖片描述
精確率(precision) 描述的是在所有預測出來的正例中有多少是真的正例
在這裡插入圖片描述
準確率與精確率的區別:
在正負樣本不平衡的情況下,準確率這個評價指標有很大的缺陷。比如在網際網路廣告裡面,點選的數量是很少的,一般只有千分之幾,如果用acc,即使全部預測成負類(不點選)acc 也有 99% 以上,沒有意義。

召回率(recall) ,描述的是所有正例我能發現多少
在這裡插入圖片描述
F1值——精確率和召回率的調和均值
在這裡插入圖片描述
只有當精確率和召回率都很高時,F1值才會高

ROC曲線與AUC值
參考:http://www.cnblogs.com/maybe2030/p/5375175.html#_label3

TPR = TP / (TP + FN) 描述的是所有正例我能發現多少,即召回率
FPR = FP / (FP + TN) 描述的是所有負例中我預測錯誤的比例
ROC曲線由兩個變數FPR和TPR所得。
如在醫學診斷中,判斷有病的樣本。那麼儘量把有病的揪出來是主要任務,也就是第一個指標TPR,要越高越好。而把沒病的樣本誤診為有病的,也就是第二個指標FPR,要越低越好。
這兩個指標之間是相互制約的。如果某個醫生對於有病的症狀比較敏感,稍微的小症狀都判斷為有病,那麼他的第一個指標應該會很高,但是第二個指標也就相應地變高。最極端的情況下,他把所有的樣本都看做有病,那麼第一個指標達到1,第二個指標也為1。
我們以FPR為橫軸,TPR為縱軸,得到如下ROC空間。
在這裡插入圖片描述


左上角的點(TPR=1,FPR=0),為完美分類,也就是這個醫生醫術高明,診斷全對。點A(TPR>FPR),醫生A的判斷大體是正確的。中線上的點B(TPR=FPR),也就是醫生B全都是蒙的,蒙對一半,蒙錯一半;下半平面的點C(TPR<FPR),這個醫生說你有病,那麼你很可能沒有病。上圖中一個閾值,得到一個點。ROC越往上,分類器效果越好。我們用一個標量值AUC來量化它。
AUC值為ROC曲線所覆蓋的區域面積,顯然,AUC越大,分類器分類效果越好。
AUC = 1,是完美分類器。0.5 < AUC < 1,優於隨機猜測。AUC = 0.5,跟隨機猜測一樣。AUC < 0.5,比隨機猜測還差。
AUC的物理意義為,任取一對(正、負)樣本,正樣本的score大於負樣本的score的概率。

迴歸
訓練誤差和測試誤差
損失函式