準確率(accuracy)
accuracy=分對的樣本/所有樣本
錯誤率錯誤率=分錯的樣本/所有樣本
但是由於這兩種評價方法將正類和負類看的同等重要不適合用來分析不平衡的資料集,而查準率即精確率、查全率(召回率)更加適合於不平衡的資料集。
真正類率(true positive rate) tpr = tp/(tp+fn),即被**為正類的正例項佔實際正類的比例。
假正類率(false positive rate) fpr = fp/(fp+tn),即被**為正類的負例項佔負例項實際數的比例。
真負類率(true negative rate) tnr = tn/(fp+tn),即被**為負類的負例項佔負例項實際數的比例。
假負類率(false negative rate)fnr = fn/(tp+fn),即被**為負類的正例項佔正例項實際數的比例。
召回率(查全率 recall)r = tpr = tp/(tp+fn)。
準確率(accuracy) accuracy = (tp+tn)/(tp+fn+fp+tn),即分類正確的樣本數佔所有樣本數量。
精確率(查準率 precision) precision=tp/(tp+fp),即被**為正類的例項中,有多少比例的真正類。
由於查準率和查全率通常情況下相互矛盾,乙個高則另乙個較低。
調和平均值為:2/f1-score = 1/precision+1/recall
即f1-score = (2precisionrecall)/(precision+recall)
f1值為查準率和查全率的調和均值,是分類與資訊檢索中常用的指標之一。
roc曲線(receiver operating characteristic)以及auc,常用來評價乙個二分類器的優劣。
roc曲線的橫軸為fpr,假正類率,即誤判為正類的比例。
roc曲線的縱軸為tpr,真正累率,即正確的判斷為正類的比例。
考慮roc曲線圖中的四個點。
第乙個點(0,1),即fpr=0,tpr=1,意味著fp(false positive)=0,且fn(false negative)=0 。 這是乙個完美的分類器,將所有的樣本都正確分類。
第二個點(1,0),即fpr=1,tpr=0,類似地分析可以發現這是乙個最糟糕的分類器,因為它成功避開了所有的正確答案。
第三個點 (0,0),即fpr=tpr=0,即fp(false positive)=tp(true positive)=0,可以發現該分類器**所有的樣本都為負樣本(negative)。
第四個點(1,1),分類器實際上**所有的樣本都為正樣本。經過以上的分析,我們可以斷言,roc曲線越接近左上角,該分類器的效能越好。
繪製roc曲線
根據分類器的概率**結果對樣例排序,並按此順序依次選擇不同的「截斷點」,逐個把樣例作為正例進行**,每次計算出當前分類器的「真正率」和「假正率」然後分別以他們為縱軸和橫軸繪圖。
假設已經得出一系列樣本被劃分為正類的概率,然後按照大小排序,下圖是乙個示例,圖中共有20個測試樣本,「class」欄表示每個測試樣本真正的標籤(p表示正樣本,n表示負樣本),「score」表示每個測試樣本屬於正樣本的概率。
進而,我們從高到低,依次將「score」值作為閾值threshold,當測試樣本屬於正樣本的概率大於或等於這個threshold時,我們認為它為正樣本,否則為負樣本。舉例來說,對於圖中的第4個樣本,其「score」值為0.6,那麼樣本1,2,3,4都被認為是正樣本,因為它們的「score」值都大於等於0.6,而其他樣本則都認為是負樣本。每次選取乙個不同的threshold,我們就可以得到一組fpr和tpr,即roc曲線上的一點。我們共得到了20組fpr和tpr的值。
一般地我們希望分類器得到的分類結果是完全正確的,也就是正例樣本全部都能夠被檢測出來,並且不會混入真負例樣本,這個時候tpr→1且fpr→0,反應在影象上好的分類器的折線應該更加接近左上角。當樣本足夠多時,折線就近似為圓滑的曲線,類似於右圖。
auc分數是roc曲線下的面積(area under curve),越大意味著分類器效果越好。顯然這個面積的數值不會大於1。又由於roc曲線一般都處於y=x這條直線的上方,所以auc的取值範圍在0.5和1之間。使用auc值作為評價標準是因為很多時候roc曲線並不能清晰的說明哪個分類器的效果更好,而作為乙個數值,對應auc更大的分類器效果更好。
既然已經這麼多評價標準,為什麼還要使用roc和auc呢?因為roc曲線有個很好的特性:當測試集中的正負樣本的分布變化的時候,roc曲線能夠保持不變。在實際的資料集中經常會出現類不平衡(class imbalance)現象,即負樣本比正樣本多很多(或者相反),而且測試資料中的正負樣本的分布也可能隨著時間變化。
例如,有100個人去看病,其中10人為患者, 90人是非患者。把患者看作正類,非患者看作負類,這是乙個類不平衡的分布情況。
若**結果為:2人為患者,98人為非患者。顯然,這個**結果是不理想的。
但此時,
準確率(accuracy):分類正確的樣本數/所有樣本數量,即:
accuracy= (tp+tn) / (tp+ fn + fp + tn)= (90+2)/100=92%
大類的效果掩蓋了小類的**效能!!!
比較校驗
比較不同分類器效能不可以直接按評估指標進行比較原因如下:
1.測試效能不等於泛化效能
2.測試效能會隨著測試集的變化而變化
3.很多機器學習演算法本身有一定隨機性
比較校驗方法如下:
(1)成對雙邊t檢驗
分類器a和分類器b採用k折交叉驗證的方法可得k對測試錯誤率,測試錯誤率分別為
機器學習 評估指標
2.1 錯誤率與精度 m個樣本,有a個分錯。錯誤率 e a m 精度 acc 1 a m 2.2 查準率 查全率和f1 tp 真正例 tn 真反例 fp 假正例 fn 假反例 查準率 p tptp fp 查全率 r tptp fn f1是查準率和查全率的調和平均數 1f 1 12 1p 1r 即 f...
機器學習 模型評估指標
from sklearn.metrics import accuracy score print 準確率 accuracy score y true,y pred,normalize true print 正確分類的數量 accuracy score y true,y pred,normalize ...
機器學習 回歸評估指標
1.2 均方誤差 mse 1.3 判定係數 r 2 參考資料 機器學習 目錄 機器學習 分類評估指標 mae mean absolute error 平均絕對誤差,從圖形上看,mae 就相當於將資料點與擬合之間之間的距離絕對值之和。mae 缺點 絕對值函式是不可微分的,這不利於使用諸如梯度下降方法,...