混淆矩陣是一種用於性能評估的方便工具,它是一個方陣,里面的列和行存放的是樣本的實際類vs預測類的數量。
P =陽性,N =陰性:指的是預測結果。
T=真,F=假:表示 實際結果與預測結果是否一致,一致為真,不一致為假。
TP=真陽性:預測結果為P,且實際與預測一致。
FP=假陽性:預測結果為P,但與實際不一致。
TN=真陰性:預測結果為N,且與實際一致。
FN=假陰性:預測結果為N,但與實際不一致。
分類模型的經驗誤差可以通過計算1-准確率得到。
然而,如何選擇一個適當的預測誤差度量是高度依賴於具體問題的。在“垃圾郵件”分類的情況中,我們更加關注的是低誤報率。當然,垃圾郵件被分成了火腿肯定是煩人的,但不是那么糟糕。要是一封郵件被誤分為垃圾郵件,而導致重要信息丟失,那才是更糟糕的呢。
在如“垃圾郵件”分類的二元分類問題中,有一種方便的方式來調整分類器,稱為接受者操作特性(ROC或ROC曲線)。該曲線對應精密性Precision,對應着預測值為陽性的數據中正確的比例。
AUC的含義:ROC曲線下的面積(越大越好,1為理想狀態)
ROC(Receiver Operating Characteristic)
准確率Accuracy
正確分類的樣本占總樣本的比例,對總體准確率的評估。
公式:(TP+TN)/(P+N)。即,對陽性和陰性,總體(分母P+N)預測對了多少(分子TP+TN)。
注:准確率是我們最常見的評價指標,而且很容易理解,就是被分對的樣本數除以所有的樣本數,通常來說,正確率越高,分類器越好。
准確率確實是一個很好很直觀的評價指標,但是有時候准確率高並不能代表一個算法就好。比如某個地區某天地震的預測,假設我們有一堆的特征作為地震分類的屬性,類別只有兩個:0:不發生地震、1:發生地震。一個不加思考的分類器,對每一個測試用例都將類別划分為0,那那么它就可能達到99%的准確率,但真的地震來臨時,這個分類器毫無察覺,這個分類帶來的損失是巨大的。為什么99%的准確率的分類器卻不是我們想要的,因為這里數據分布不均衡,類別1的數據太少,完全錯分類別1依然可以達到很高的准確率卻忽視了我們關注的東西。再舉個例子說明下。在正負樣本不平衡的情況下,准確率這個評價指標有很大的缺陷。比如在互聯網廣告里面,點擊的數量是很少的,一般只有千分之幾,如果用acc,即使全部預測成負類(不點擊)acc也有 99% 以上,沒有意義。因此,單純靠准確率來評價一個算法模型是遠遠不夠科學全面的。
錯誤率(Error rate)
錯誤率則與准確率相反,描述被分類器錯分的比例,error rate = (FP+FN)/(TP+TN+FP+FN),對某一個實例來說,分對與分錯是互斥事件,所以accuracy =1 - error rate。
靈敏度Sensitivity(查全率/召回率Recall)
對“真陽性率”預測的評估,也就是對“陽性/真”預測准確的概率(比如,當試圖預測某種疾病的時候,如果一個病人長了這種病,那么正確的預測出這個人長了這種病,就是“陽性/真”)。
查全率關心的是”預測出正例的保證性”即從正例中挑選出正例的問題。
靈敏度表示的是所有正例中被分對的比例,衡量了分類器對正例的識別能力。召回率是覆蓋面的度量,度量有多個正例被分為正例,與靈敏度相等。
公式:TP/(TP+FN)。即,實際為陽性P(分母TP+FN),其中預測正確的比例(分子TP)。
精密性(精確率/精度/查准率)Precision
對“真陽性率”預測的評估。
查准率關心的是”預測出正例的正確率”即從正反例子中挑選出正例的問題。
表示被分為正例的示例中實際為正例的比例。
公式:TP/(TP+FP)。即,預測為陽性的數據(分母TP+FP)中,實際對了多少(分子TP)。
特異性Specificity
描述了二元分類問題中的“真陰性率”:這指的是對“真/陰性”情況作出正確預測的概率(例如,在試圖預測疾病時,對一個健康者,沒有預測到疾病,就是這種情況)。
表示的是所有負例中被分對的比例,衡量了分類器對負例的識別能力。
公式:TN/(TN+FP)。即,實際為陰性N(分母TN+FP),其中預測正確的比例(分子TN)。
綜合評價指標(F-Measure)
靈敏度Sensitivity(查全率/召回率Recall)與精密性(精確率、精度)Precision這兩個指標有時候會出現的矛盾的情況,這樣就需要綜合考慮他們,最常見的方法就是F-Measure(又稱為F-Score)。兩者一般存在矛盾關系,不能都達到很高的值,所以定義F-score評價綜合標准。如下圖,查准率-查全率曲線(P-R圖):
F-Measure是Precision(P)和Recall(R)加權調和平均:
當參數α=1時,就是最常見的F1,也即
可知F1綜合了P和R的結果,當F1較高時則能說明試驗方法比較有效。
其他評價指標
計算速度:分類器訓練和預測需要的時間;
魯棒性:處理缺失值和異常值的能力;
可擴展性:處理大數據集的能力;
可解釋性:分類器的預測標准的可理解性,像決策樹產生的規則就是很容易理解的,而神經網絡的一堆參數就不好理解,我們只好把它看成一個黑盒子。