Imbalanced class problem(ROC, Confusion Matrix)
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)
總結
以上是生活随笔為你收集整理的Imbalanced class problem(ROC, Confusion Matrix)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 函数参数传递、数组指针、二级指针、左值、
- 下一篇: 利用flask写的接口(base64,