Re: [問題] 類別不平衡
※ 引述《DennismithJR (DSJ)》之銘言:
: 想請問大家在處理分類問題時遇到標籤分布很不平衡時會怎麼處理呢
: 翻過Kaggle上一些相關問題,幾乎沒看到有人因此做特別的抽樣或其他處理
: 好像只要評估指標是logloss或ROC的AUC就當沒事了...
: 不知道是不是因為樣本少的類別仍有一定數量就能如此?
: 若好比說我有一組樣本
: 標籤有五個類別,數量分別如下面所示,其比例與母體相符
: A: 10000
: B: 5000
: C: 200
: D: 15
: E: 8
: 顯然這樣本在D、E甚至C的分類上可能會出現些問題
: 想請問遇到這樣的分布,有什麼建議的抽樣方式呢?
如果要從抽樣下手
以你的為例 如果只看A跟D+E 10000:23 差不多0.2%
這種比例的imbalance class還算正常
我目前用過最有效的方法是把 A 拆成100塊 A1, A2, A3, ... A100
然後每塊去跟所有的D+E拼起來 訓練100個小模型
這樣每塊變成100個A去對15個D跟8個E, 比例變成100:23
再把100個小模型的結果統整起來變成一個 這步看你怎作都可
缺點是從output要算probability不太容易 只能說是分數
然後大概看不太到很高分數(>0.95)的D或E (類似random forest的缺點)
不過個人經驗是滿有效的,而且幾乎對什麼問題都適用
如果要upsample minority class
就是下面說的SMOTE 或bootstrapping模擬一些樣本出來之類
我覺得類別不平衡最大的難題是在hold-out validation/cross validation時要很小心
實驗時模型跑出來的結果可能會實際上線時差很大
你如果只有8個E 我真的想不到怎麼作validation才能說服自己這模型不是垃圾....
補一篇文給你參考
他最後提到的box method我還沒試過就是
https://svds.com/learning-imbalanced-classes/
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 68.71.180.136
※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1521512580.A.6ED.html
※ 編輯: abc2090614 (68.71.180.136), 03/20/2018 10:29:31
※ 編輯: abc2090614 (68.71.180.136), 03/20/2018 10:31:48
※ 編輯: abc2090614 (68.71.180.136), 03/20/2018 10:34:21
→
03/21 00:14,
6年前
, 1F
03/21 00:14, 1F
討論串 (同標題文章)
DataScience 近期熱門文章
PTT數位生活區 即時熱門文章