【干货】机器学习中样本比例不平衡的处理方法
推薦閱讀時間:5min~12min
主要內容:機器學習中樣本比例不平衡的處理方法
在機器學習中,常常會遇到樣本比例不平衡的問題,如對于一個二分類問題,正負樣本的比例是 10:1。
這種現象往往是由于本身數據來源決定的,如信用卡的征信問題中往往就是正樣本居多。樣本比例不平衡往往會帶來不少問題,但是實際獲取的數據又往往是不平衡的,因此本文主要討論面對樣本不平衡時的解決方法。
樣本不平衡往往會導致模型對樣本數較多的分類造成過擬合,即總是將樣本分到了樣本數較多的分類中;除此之外,一個典型的問題就是?Accuracy Paradox,這個問題指的是模型的對樣本預測的準確率很高,但是模型的泛化能力差。
其原因是模型將大多數的樣本都歸類為樣本數較多的那一類,如下所示
準確率為
而假如將所有的樣本都歸為預測為負樣本,準確率會進一步上升,但是這樣的模型顯然是不好的,實際上,模型已經對這個不平衡的樣本過擬合了。
針對樣本的不平衡問題,有以下幾種常見的解決思路
搜集更多的數據
改變評判指標
對數據進行采樣
合成樣本
改變樣本權重
搜集更多的數據,從而讓正負樣本的比例平衡,這種方法往往是最被忽視的方法,然而實際上,當搜集數據的代價不大時,這種方法是最有效的。
但是需要注意,當搜集數據的場景本來產生數據的比例就是不平衡時,這種方法并不能解決數據比例不平衡問題。
2?改變評判指標改變評判指標,也就是不用準確率來評判和選擇模型,原因就是我們上面提到的 Accuracy Paradox 問題。實際上有一些評判指標就是專門解決樣本不平衡時的評判問題的,如準確率,召回率,F1值,ROC(AUC),Kappa?等。
根據這篇文章,ROC 曲線具有不隨樣本比例而改變的良好性質,因此能夠在樣本比例不平衡的情況下較好地反映出分類器的優劣。
關于評判指標更詳細的內容可參考文章:?Classification Accuracy is Not Enough: More Performance Measures You Can Use
3對數據進行采樣對數據采樣可以有針對性地改變數據中樣本的比例,采樣一般有兩種方式:over-sampling和 under-sampling,前者是增加樣本數較少的樣本,其方式是直接復制原來的樣本,而后者是減少樣本數較多的樣本,其方式是丟棄這些多余的樣本。
通常來說,當總樣本數目較多的時候考慮 under-sampling,而樣本數數目較少的時候考慮 over-sampling。
關于數據采樣更詳細的內容可參考?Oversampling and undersampling in data analysis
4合成樣本合成樣本(Synthetic Samples)是為了增加樣本數目較少的那一類的樣本,合成指的是通過組合已有的樣本的各個 feature 從而產生新的樣本。
一種最簡單的方法就是從各個 feature 中隨機選出一個已有值,然后拼接成一個新的樣本,這種方法增加了樣本數目較少的類別的樣本數,作用與上面提到的 over-sampling方法一樣,不同點在于上面的方法是單純的復制樣本,而這里則是拼接得到新的樣本。
這類方法中的具有代表性的方法是 SMOTE(Synthetic Minority Over-sampling Technique),這個方法通過在相似樣本中進行 feature 的隨機選擇并拼接出新的樣本。
關于 SMOTE 更詳細的信息可參考論文?SMOTE: Synthetic Minority Over-sampling Technique
5改變樣本權重改變樣本權重指的是增大樣本數較少類別的樣本的權重,當這樣的樣本被誤分時,其損失值要乘上相應的權重,從而讓分類器更加關注這一類數目較少的樣本。
參考:
更多文章請訪問:http://wulc.me/
8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset
In classification, how do you handle an unbalanced training set?
總結
以上是生活随笔為你收集整理的【干货】机器学习中样本比例不平衡的处理方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据分析师+做过名企项目+懂运营+985
- 下一篇: 网易10万+课程迅速刷屏又迅速被封:“违