13.解決樣本不均衡問題
阿新 • • 發佈:2018-12-19
實際工作中經常遇到樣本不均衡問題,比如某P2P平臺預測使用者信譽,1為信譽良好,0為有違約記錄,樣本採集下來為1的樣本佔絕大多數(比如90%),此時如果你用分類模型,目標函式是準確率,那麼即使你全部預測為1,那麼準確率也為90%,會極大的影響模型效果。
因此在我們在訓練模型之前,先要處理樣本均衡的問題,總結方法如下:
1.上下采樣:上取樣為增加小眾樣本數量(一份資料複製多份),下采樣為減少大眾樣本數量(剔除部分樣本),上取樣的問題是如果運氣好那麼一下會預測對很多點,運氣差則全部預測錯,常用的方法是在上取樣的基礎上增加一點擾動。
2.資料合成:比如圖形問題,可以對小眾樣本圖形旋轉一定角度變成新的樣本。
這裡提到smote演算法。smote在小眾類中K近鄰隨機選一個點,增加一些擾動生成新的點。
3.加權。即增加小眾樣本的權重(這點聯想到GBDT那裡增加預測錯誤樣本的權重),但是難點在權重如何定。
文章大概介紹的思想是:
1.能否再多采集一些資料,讓小眾樣本足夠多
2.換一種目標函式,比如準確率會有偏差,那麼換成ROC,recall試試
3.上下采樣的思想
4.資料合成的思想
5.用用對樣本分佈不敏感的模型,如樹模型
6.嘗試Penalized類模型(會對分錯的小眾類很高的懲罰)如 penalized-SVM and penalized-LDA
7.對分佈極不均衡的樣本,可以轉換為求異常值