天天看點

模型的評估方法-準确率與混淆矩陣

準确率:

準确率有的時候是騙人的,舉一個例子來說,如果有100隻動物,其中90隻貓,10隻狗,我們訓練了一個模型,這個模型将我們的這100隻動物全都預測成了貓,從我們主觀上判斷這個模型肯定是不好的(我的目的是為了區分,他卻給我預測成全部都是一樣的),但是我們從準确率來看,P(貓)=90/100=90%,預測貓的準确率還挺高的,是以我們說有的時候準确率是騙人的,在很多情況下不能說明一個模型的好壞。是以又引入了混淆矩陣。

混淆矩陣:

首先我們來說一下什麼是混淆矩陣,混淆矩陣(confusion matrix),也被稱為錯誤矩陣(error matrix)。矩陣的每一清單達了分類器對樣本的預測類别,矩陣的每一行則表達了樣本所屬的真實類别,之是以叫做:“混淆矩陣”,是因為能夠很容易的看到機器學習有沒有将樣本的類别給混淆了(或者說可以清楚地看到有多少樣本被分類分對了或者是分錯了)。

以下有幾個概念需要先說明:

TP(True Positive): 真實為0,預測也為0
 FN(False Negative): 真實為0,預測為1
 FP(False Positive): 真實為1,預測為0
 TN(True Negative): 真實為0,預測也為0
           

可以這樣了解:True和False分别代表預測值的對錯,Positive代表真實值為1,Negative代表真實值為0

混淆矩陣的形式如下:

模型的評估方法-準确率與混淆矩陣

公式的計算:

準确度(Accuracy) = (TP+TN) / (TP+TN+FN+TN)

精度(precision, 或者PPV, positive predictive value) = TP / (TP + FP)

召回(recall, 或者敏感度,sensitivity,真陽性率,TPR,True Positive Rate) = TP / (TP + FN)

特異度(specificity,或者真陰性率,TNR,True Negative Rate) = TN / (TN + FP)

繼續閱讀