作者DennismithJR (DSJ)
看板DataScience
標題[問題] 類別不平衡
時間Mon Mar 19 22:25:51 2018
想請問大家在處理分類問題時遇到標籤分布很不平衡時會怎麼處理呢
翻過Kaggle上一些相關問題,幾乎沒看到有人因此做特別的抽樣或其他處理
好像只要評估指標是logloss或ROC的AUC就當沒事了...
不知道是不是因為樣本少的類別仍有一定數量就能如此?
若好比說我有一組樣本
標籤有五個類別,數量分別如下面所示,其比例與母體相符
A: 10000
B: 5000
C: 200
D: 15
E: 8
顯然這樣本在D、E甚至C的分類上可能會出現些問題
想請問遇到這樣的分布,有什麼建議的抽樣方式呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.54.248
※ 文章網址: https://webptt.com/m.aspx?n=bbs/DataScience/M.1521469553.A.8FB.html
1F:推 goldflower: 一種是不要抽樣 把少樣本的error提高 03/19 22:38
2F:推 aa155495: hard example mining 或 focal loss吧 03/20 00:30
3F:推 EGsux: google SMOTE 03/20 02:12
推
NBAPredictor: Boosting的話沒什麼差 不過D跟E基本上沒救了 03/20 07:53
4F:→ NBAPredictor: D跟E或許可以拉KNN來Stacking 03/20 07:54
不好意思 這邊補充一下原文可能沒說清楚的部分
其實原始資料量要比上面舉例大上許多,或許有上百倍大,
因此稀少類別數或許也有數百個
考量計算成本,目前都是先抽樣一小部分來嘗試
下面的回文有提到可以將樣本多的類別切割,再一一和較稀少的類別拼湊訓練
除此之外,不知道有沒有更省資源的抽樣方法能做到差不多的效果呢@@?
5F:→ f496328mm: 乾脆把 CDE 當作一類 如果選到這類 03/20 09:05
6F:→ f496328mm: 再用另一個 model 去 fit 03/20 09:05
我也曾想試試類似的方法,不過還沒看過有人實際上這樣做
不知道有沒有關鍵字、相關文獻或是實作案例可以讓我參考看看?
7F:→ f496328mm: 另外多類不平衡的話 可能要做多個 1 vs all 03/20 09:07
8F:→ f496328mm: 針對不同的case 給不同的 01 邊界 03/20 09:07
9F:→ f496328mm: 舉例來說 A的 case, pred>0.5 =1, <0.5=0 03/20 09:08
10F:→ f496328mm: but E case, pred>0.1=1 pred<0.1=0 03/20 09:08
11F:推 yogi: 在考慮balanced sampling的問題以前,應該先想想看在不同類 03/20 09:19
12F:→ yogi: 別你能容忍的false pos/neg是多高 03/20 09:20
※ 編輯: DennismithJR (118.168.165.55), 03/21/2018 00:51:21
13F:推 goldflower: 我的調error不就超省資源= = 03/21 02:03
14F:推 lucien0410: oversampling to the rescue! 03/21 15:08
15F:推 littleyuan: data augmentation 04/13 11:42