1. 程式人生 > >欠取樣(undersampling)和過取樣(oversampling)會對模型帶來怎樣的影響

欠取樣(undersampling)和過取樣(oversampling)會對模型帶來怎樣的影響

參考:知乎專欄

專案中出現了二分類資料不平橫問題,研究總結下對於類別不平橫問題的處理經驗:

1:為什麼類別不平橫會影響模型的輸出:

許多模型的輸出類別是基於閾值的,例如邏輯迴歸中小於0.5的為反例,大於則為正例。在資料不平衡時,預設的閾值會導致模型輸出傾向與類別資料多的類別。

因此可以在實際應用中,解決辦法包括:

1)調整分類閾值,使得更傾向與類別少的資料。

2)選擇合適的評估標準,比如ROC或者F1,而不是準確度(accuracy)

3)過取樣法(sampling):來處理不平橫的問題。分為欠取樣(undersampling)和過取樣(oversampling)兩種,

過取樣:重複正比例資料,實際上沒有為模型引入更多資料,過分強調正比例資料,會放大正比例噪音對模型的影響。

欠取樣:丟棄大量資料,和過取樣一樣會存在過擬合的問題。

由於隨機過取樣採取簡單複製樣本的策略來增加少數類樣本,這樣容易產生模型過擬合的問題,即使得模型學習到的資訊過於特別(Specific)而不夠泛化(General)

4)資料合成:SMOTE(Synthetic Minority Oversampling Technique)即合成少數類過取樣技術,它是基於隨機過取樣演算法的一種改進方案,,SMOTE演算法的基本思想是對少數類樣本進行分析並根據少數類樣本人工合成新樣本新增到資料集中。

經驗: