摘要:html
數據挖掘、機器學習和推薦系統中的評測指標—準確率(Precision)、召回率(Recall)、F值(F-Measure)簡介。算法
引言:網絡
在機器學習、數據挖掘、推薦系統完成建模以後,須要對模型的效果作評價。dom
業內目前經常採用的評價指標有準確率(Precision)、召回率(Recall)、F值(F-Measure)等,下圖是不一樣機器學習算法的評價指標。下文講對其中某些指標作簡要介紹。機器學習
本文針對二元分類器!
本文針對二元分類器!!
本文針對二元分類器!!!ide
對分類的分類器的評價指標將在之後文章中介紹。性能
在介紹指標前必須先了解「混淆矩陣」:學習
混淆矩陣測試
True Positive(真正,TP):將正類預測爲正類數大數據
True Negative(真負,TN):將負類預測爲負類數
False Positive(假正,FP):將負類預測爲正類數誤報 (Type I error)
False Negative(假負,FN):將正類預測爲負類數→漏報 (Type II error)
一、準確率(Accuracy)
準確率(accuracy)計算公式爲:
注:準確率是咱們最多見的評價指標,並且很容易理解,就是被分對的樣本數除以全部的樣本數,一般來講,正確率越高,分類器越好。
準確率確實是一個很好很直觀的評價指標,可是有時候準確率高並不能表明一個算法就好。好比某個地區某天地震的預測,假設咱們有一堆的特徵做爲地震分類的屬性,類別只有兩個:0:不發生地震、1:發生地震。一個不加思考的分類器,對每個測試用例都將類別劃分爲0,那那麼它就可能達到99%的準確率,但真的地震來臨時,這個分類器毫無察覺,這個分類帶來的損失是巨大的。爲何99%的準確率的分類器卻不是咱們想要的,由於這裏數據分佈不均衡,類別1的數據太少,徹底錯分類別1依然能夠達到很高的準確率卻忽視了咱們關注的東西。再舉個例子說明下。在正負樣本不平衡的狀況下,準確率這個評價指標有很大的缺陷。好比在互聯網廣告裏面,點擊的數量是不多的,通常只有千分之幾,若是用acc,即便所有預測成負類(不點擊)acc也有 99% 以上,沒有意義。所以,單純靠準確率來評價一個算法模型是遠遠不夠科學全面的。
二、錯誤率(Error rate)
錯誤率則與準確率相反,描述被分類器錯分的比例,error rate = (FP+FN)/(TP+TN+FP+FN),對某一個實例來講,分對與分錯是互斥事件,因此accuracy =1 - error rate。
三、靈敏度(sensitive)
sensitive = TP/P,表示的是全部正例中被分對的比例,衡量了分類器對正例的識別能力。
四、特效度(sensitive)
specificity = TN/N,表示的是全部負例中被分對的比例,衡量了分類器對負例的識別能力。
五、精確率、精度(Precision)
精確率(precision)定義爲:
表示被分爲正例的示例中實際爲正例的比例。
六、召回率(recall)
召回率是覆蓋面的度量,度量有多個正例被分爲正例,recall=TP/(TP+FN)=TP/P=sensitive,能夠看到召回率與靈敏度是同樣的。
七、綜合評價指標(F-Measure)
P和R指標有時候會出現的矛盾的狀況,這樣就須要綜合考慮他們,最多見的方法就是F-Measure(又稱爲F-Score)。
F-Measure是Precision和Recall加權調和平均:
當參數α=1時,就是最多見的F1,也即
可知F1綜合了P和R的結果,當F1較高時則能說明試驗方法比較有效。
八、其餘評價指標
計算速度:分類器訓練和預測須要的時間;
魯棒性:處理缺失值和異常值的能力;
可擴展性:處理大數據集的能力;
可解釋性:分類器的預測標準的可理解性,像決策樹產生的規則就是很容易理解的,而神經網絡的一堆參數就很差理解,咱們只好把它當作一個黑盒子。
下面來看一下ROC和PR曲線(如下內容爲本身總結):
一、ROC曲線:
ROC(Receiver Operating Characteristic)曲線是以假正率(FP_rate)和假負率(TP_rate)爲軸的曲線,ROC曲線下面的面積咱們叫作AUC,以下圖所示:
圖片根據Paper:Learning from eImbalanced Data畫出
其中:
(1)曲線與FP_rate軸圍成的面積(記做AUC)越大,說明性能越好,即圖上L2曲線對應的性能優於曲線L1對應的性能。即:曲線越靠近A點(左上方)性能越好,曲線越靠近B點(右下方)曲線性能越差。
(2)A點是最完美的performance點,B處是性能最差點。
(3)位於C-D線上的點說明算法性能和random猜想是同樣的–如C、D、E點。位於C-D之上(即曲線位於白色的三角形內)說明算法性能優於隨機猜想–如G點,位於C-D之下(即曲線位於灰色的三角形內)說明算法性能差於隨機猜想–如F點。
(4)雖然ROC曲線相比較於Precision和Recall等衡量指標更加合理,可是其在高不平衡數據條件下的的表現仍然過於理想,不可以很好的展現實際狀況。
二、PR曲線:
即,PR(Precision-Recall)曲線。
舉個例子(例子來自Paper:Learning from eImbalanced Data):
假設N_c>>P_c(即Negative的數量遠遠大於Positive的數量),若FP很大,即有不少N的sample被預測爲P,由於,所以FP_rate的值仍然很小(若是利用ROC曲線則會判斷其性能很好,可是實際上其性能並很差),可是若是利用PR,由於Precision綜合考慮了TP和FP的值,所以在極度不平衡的數據下(Positive的樣本較少),PR曲線可能比ROC曲線更實用。
轉載自:機器學習算法中的準確率(Precision)、召回率(Recall)、F值(F-Measure)是怎麼一回事
分類: 機器學習