如何評價我們分類模型的效能?

2021-09-11 11:18:22 字數 2707 閱讀 1465

分類是將每個資料集合中的元素分配給乙個已知的資料類別。

那麼分類都有哪些任務呢?

這個階段將資料分為兩個或三個部分:

這裡有兩種指標可以來評估乙個分類模型的質量:

二分類:

乙個類別被定義為正樣本,乙個類別被定義為負樣本。

多分類乙個類別被定義為正類,其他類別的組合都是被定義為負類。

正樣本應該是在建模過程中被識別出來的物件:例如在信用評分模型中,正樣本包括拖欠債務的顧客,負樣本就是剩下所有類別的顧客。

對於乙個完美分類器來說,我們希望得到如下引數:

fp = 0

fn = 0

tp = 所有正樣本的個數

tn = 所有負樣本的個數

上面我們已經介紹了一些基本的質量指標,現在我們來介紹一些派生出來的質量指標。

所以我們可以得到如下等式:

se = tpr

sp = tnr

1 - se = fnr

1 - sp = fpr

acc = (tp + tn) / (tp + tn + fp + fn)

從上面我們可以看到,分類器有很多的評估質量的指標。那麼如何選取當前模型的指標呢?這就變成了乙個至關重要的問題。

例子在客戶流失分析模型中,我們的資料有兩個類別:客戶流失和客戶不流失。假設我們有 100 個資料,那麼:

然後,我們設計的分類器獲得了如下結果:

tp = 85(85個被正確分類為正樣本)

tn = 1(1個被正確分類為負樣本)

fp = 9(9個原來是負樣本的被分類為正樣本)

fn = 5(5個原來是正樣本的被分類為負樣本)

上述指標總和是:

tp + tn + fp + fn = 100

我們現在計算分類的總體準確率:

acc = (85 + 1)/ 100 = 0.86

86% 的準確率已經是乙個不壞的結果了,但是讓我們看一下另乙個指標:tnr,這個指標反映了分類器檢測負樣本的能力,也就是在我們這個例子中會繼續使用我們軟體的客戶:

tnr = 1 / 10 = 0.1

也就是說,只有乙個不會流失的顧客被識別出來了,剩下的不流失的顧客都被錯誤分類了。如果從這個角度分析,那麼這個模型是非常糟糕的乙個模型。

所以,只有乙個 acc 是不能很準確來衡量乙個模型的好壞的。

在接下來,我們將採用圖形指標來分析模型的好壞。我們將從混淆矩陣開始,這是表示分類結果的最簡單方法。

混淆矩陣是乙個 n*n 矩陣,其中每一行代表了資料的真實歸屬類別,每一行的資料總數表示該類別的資料例項的數目。每一列代表了模型**得到的類別,每一列的總數表示**為該類別的資料的數目。如下左上角的圖,第一行第一列中的 85 表示有 85 個實際歸屬為第一類的資料被正確**為了第一類。同理,第二行第一列中的 9 表示有 9 個實際是第二類的資料被錯誤**為了第一類。

混淆矩陣的形式

各種形式的混淆矩陣讓我們可以更加容易的觀察分類模型效能的這種特徵,主要有如下兩種形式:

收益和損失形式中的混淆矩陣包含分類決策造成的成本總和。

接下來舉幾個例子。

例子1

例子2

截止點和混淆矩陣

截止點是乙個確定的閾值,可以用來確定乙個觀測屬性是否屬於乙個特定的類別。

如果 p(class(x) = 1) > alfa,那麼這個則分配給第一類。其中, alfa 就是乙個截止點。p(class(x) = 1) 就是屬於第一類的概率。

例如:如果給定乙個概率 60%,那麼貸款申請人不善於償還貸款的概率大於這個值(這個值是我們模型計算出來的),那麼就將這個申請人轉入壞賬類別,否則將其轉入好賬類別。

對於相同的問題,我們可以考慮不同的截止點,這也將導致不同的混淆矩陣。通過分析這些矩陣我們就可以選擇乙個最佳的截止點。

混淆矩陣總結

roc 曲線是分類質量視覺化的另外一種方法,顯示了 tpr 和 fpr 之間的依賴關係。

曲線越凸,分類器的效能越好。在下面的例子中,區域 1 中的 「綠色」 分類器更好,區域 2 中的 「紅色」 分類器更好。

我們需要計算決策函式的值;

我們測試不同的 alpha 閾值的分類器。回想一下,alpha 是估計概率的乙個閾值,高於這個概率的觀察值被分配到乙個類別(正樣本),低於這個閾值的概率被分配到另乙個類別(負樣本);

對於具有 alpha 閾值的每乙個分類,我們獲得(tpr,fpr)對,其對應於 roc 曲線上的乙個點。

對於每個具有 alpha 閾值的分類,我們也有相應的混淆矩陣;

例子

分類質量可以使用 roc 曲線下面的面積大小來計算衡量,這個曲線下的面積就是 auc 係數。

auc 係數越高越好。auc = 1 意味著這是乙個完美的分類器,我們把所有的東西都分類準確了。對於純隨機數的分類,我們的 auc = 0.5。如果 auc < 0.5,那麼意味著這個分類器的效能比隨機數還要差。

這裡再說乙個概念:基尼係數(gini coefficient),gc = 2 * auc - 1。基尼係數越高,代表模型的效果越好。如果 gc = 1,那麼這就是乙個完美的模型了。如果 gc = 0,那麼代表這只是乙個隨機數模型。

既然已經這麼多評價標準,為什麼還要使用roc和auc呢?因為roc曲線有個很好的特性:當測試集中的正負樣本的分布變化的時候,roc曲線能夠保持不變。在實際的資料集中經常會出現類不平衡(class imbalance)現象,即負樣本比正樣本多很多(或者相反),而且測試資料中的正負樣本的分布也可能隨著時間變化。下圖是roc曲線和precision-recall曲線的對比:

分類模型的評價

假如某個班級有男生80人,女生20人,共計100人。目標是找出所有女生。現在某人挑選出50個人,其中20人是女生,另外還錯誤的把30個男生也當作女生挑選出來了。評估 evaluation 下他的工作。1 accuracy 準確率 0 1損失。分類器 某人 正確分類的樣本數 總樣本數,即20 50 1...

分類模型的評價

1 二分類模型 指標計算 備註精準率 precision precision tp tp fp 在所有被 為陽性的測試資料中,真正是陽性的比率。越大越好 召回率 recall recall tp tp fn 在所有實際為陽性的測試資料中,真正是陽性的比率。越大越好 f1score f1score 2...

分類模型的評價指標Fscore

小書匠 深度學習 分類方法常用的評估模型好壞的方法.假設我現在有乙個二分類任務,是分析100封郵件是否是垃圾郵件,其中不是垃圾郵件有65封,是垃圾郵件有35封.模型最終給郵件的結論只有兩個 是垃圾郵件與 不是垃圾郵件.經過自己的努力,自己設計了模型,得到了結果,分類結果如下 現在我們設定,不是垃圾郵...