機器學習模型評價指標 – 混淆矩陣
在機器學習領域中,混淆矩陣(confusion matrix)是一種評價分類模型好壞的形象化展示工具。其中,矩陣的每一列表示的是模型預測的樣本情況;矩陣的每一行表示的樣本的真實情況。
1. 混淆矩陣的舉例
例如用一個分類模型來判別一個水果是蘋果還是梨,混淆矩陣將會模型的預測結果總結成如下表所示的表格。
模型預測結果 | ||
---|---|---|
蘋果 | ||
真實結果 | 蘋果 | 10 |
梨 | 3 |
通過上述表格可以看出,樣本的數量一共是10+2+3+15=3010+2+3+15=30個樣本。其中蘋果有10+2=1210+2=12個,梨有3+15=183+15=18個。該模型預測的蘋果的數量是10+3=1310+3=13個,有1010個是預測正確的,33個是預測錯誤的。該模型預測的梨的數量是2+15=172+15=17個,其中有1515個是預測正確的,22個是預測錯誤的。
2. 混淆矩陣
對於一個二分類的模型,其模型的混淆矩陣是一個2×22×2的矩陣。如下圖所示:
Predicted condition | ||
---|---|---|
positive | ||
True condition | positive | True Positive |
negative | False Positive |
混淆矩陣比模型的精度的評價指標更能夠詳細地反映出模型的”好壞”。模型的精度指標,在正負樣本數量不均衡的情況下,會出現容易誤導的結果。
其中,列是模型預測的結果,行是樣本真實的結果。四個矩陣元素的含義分別是:
2.1 True Positive
真正類(TP),樣本的真實類別是正類,並且模型預測的結果也是正類。
2.2 False Negative
假負類(FN),樣本的真實類別是正類,但是模型將其預測成為負類。
2.3 False Positive
假正類(FP),樣本的真實類別是負類,但是模型將其預測成為正類。
2.4 True Negative
真負類(TN),樣本的真實類別是負類,並且模型將其預測成為負類。
3. 混淆矩陣延伸出的各個評價指標
從混淆矩陣中,可以衍生出各種評價的指標。如下是截取的wiki上的一個截圖(https://en.wikipedia.org/wiki/Confusion_matrix)
各個指標的定義以及含義如下所示:
3.1 Accuracy
模型的精度,即模型預測正確的個數 / 樣本的總個數
Accuracy=TP+TNTP+FN+FP+TNAccuracy=TP+TNTP+FN+FP+TN
一般情況下,模型的精度越高,說明模型的效果越好。
3.2 Positive predictive value (PPV, Precision)
查准率,陽性預測值,在模型預測為正類的樣本中,真正為正類的樣本所占的比例。
Precision=TPTP+FPPrecision=TPTP+FP
一般情況下,查准率越高,說明模型的效果越好。
3.3 False discovery rate (FDR)
錯誤發現率,表示在模型預測為正類的樣本中,真正的負類的樣本所占的比例。
FDR=FPTP+FPFDR=FPTP+FP
一般情況下,錯誤發現率越小,說明模型的效果越好。
3.4 False omission rate (FOR)
錯誤遺漏率,表示在模型預測為負類的樣本中,真正的正類所占的比例。即評價模型”遺漏”掉的正類的多少。
FOR=FNFN+TNFOR=FNFN+TN
一般情況下,錯誤遺漏率越小,模型的效果越好。
3.5 Negative predictive value (NPV)
陰性預測值,在模型預測為負類的樣本中,真正為負類的樣本所占的比例。
NPV=TNFN+TNNPV=TNFN+TN
一般情況下,NPV越高,說明的模型的效果越好。
3.6 True positive rate (TPR, Recall)
召回率,真正類率,表示的是,模型預測為正類的樣本的數量,占總的正類樣本數量的比值。
Recall=TPTP+FNRecall=TPTP+FN
一般情況下,Recall越高,說明有更多的正類樣本被模型預測正確,模型的效果越好。
3.7 False positive rate (FPR), Fall-out
假正率,表示的是,模型預測為正類的樣本中,占模型負類樣本數量的比值。
Fall−out=FPFP+TNFall−out=FPFP+TN
一般情況下,假正類率越低,說明模型的效果越好。
3.8 False negative rate (FNR), Miss rate
假負類率,缺失率,模型預測為負類的樣本中,是正類的數量,占真實正類樣本的比值。
FNR=FNFN+TNFNR=FNFN+TN
缺失值越小,說明模型的效果越好。
3.9 True negative rate (TNR)
一般情況下,真負類率越高,說明的模型的效果越好
TNR=TNFN+TN
混淆矩陣是除了ROC曲線和AUC之外的另一個判斷分類好壞程度的方法。
以下有幾個概念需要先說明:
TP(True Positive): 真實為0,預測也為0
FN(False Negative): 真實為0,預測為1
FP(False Positive): 真實為1,預測為0
TN(True Negative): 真實為0,預測也為0
:分類模型總體判斷的准確率(包括了所有class的總體准確率)
: 預測為0的准確率
: 真實為0的准確率
: 真實為1的准確率
: 預測為1的准確率
: 對於某個分類,綜合了Precision和Recall的一個判斷指標,F1-Score的值是從0到1的,1是最好,0是最差
: 另外一個綜合Precision和Recall的標准,F1-Score的變形
舉個經典的二分類例子:
,
,
如果是多分類的呢?舉一個三分類的例子:
,
,
因此我們知道,計算Specificity,Recall,Precision等只是計算某一分類的特性,而Accuracy和F1-Score這些是判斷分類模型總體的標准。我們可以根據實際需要,得出不同的效果。