1 何爲 Imbalanced class problem
在分類問題中,有時候一種類別的數據會遠遠的多於另外一種類別,
但正是這些少量的類別的數據,往往又是極其重要的。
比如信用卡欺詐事件,該事件遠遠地小於信用卡未被欺詐的事件。
要從信用卡操作的數據中,識別出欺詐這一類別的事件,比例極其小,但確是及其重要的。
在大量的操作數據中找到欺詐事件,猶如大海撈針。
這個時候如果繼續使用精度來評估分類器就不準確了。
因爲即使把所有的信用卡操作數據,都判斷爲未欺詐類別,
其正確率也可以達到99.999......%,這種分類器明顯是無用的。
針對Imbalanced class problem, 研究者提出了許多其它的參數來評估模型。
2 Confusion Matrix
2.1 相關概念
在Confusion Matrix中,
由Confusion Matrix 定義一些參數:
2.2 計算實例
實例中的分類器,雖然正確率達到了99.1%,但是Recall參數只有0.1, 對於class=Yes 類別的預測,
正確率只有10%,非常低。
2.3 分類問題的拓展參數
還是類似的的confusion matrix
3 ROC(Receiver Operating Characteristic)
ROC 發展於20世紀50年代的信號檢測理論, 用於顯示檢測率和誤報警率之間的權衡。
ROC曲線顯示TPR與FPR的關係,用ROC曲線上的一個點表示模型的性能,
改變分類器的閾值參數會改變點的位置
(TPR,FPR)
- (0,0):把所有數據判別爲負類;
- (1,1):把所有數據判別爲正類;
- (1,0):理想情況
對角線是一條假想線,低於該線表示於正確的類別相反。
4 基於ROC的模型比較
沒有一種模型總是好於另一種
上圖中,對於小的FPR值,M1 更好
對於大的FPR值,M12更好
5 如何構建一個ROC曲線
- 爲每個實例,使用分類器產生一個連續值的分數,該實例在+ class 的可能性越高,得分越高
- 根據分數,按照降序排列實例
- 應用一個閾值在每個獨特價分數值
- 在每個閾值計算TPFP, TN, FN的數量,
TPR = TP / (TP + FN)
FPR= FP / (FP + TN)