主要內容:
非平衡數據的特征
SMOTE算法的思想及步驟
SMOTE算法的手工案例
SMOTE算法的函數介紹
1.非平衡數據的特征
在實際應用中,類別型的因變量可能存在嚴重的偏倚,即類別之間的比例嚴重失調。如欺詐問題中,欺詐類觀測在樣本集中畢竟占少數;客戶流失問題中,忠實的客戶往往也是占很少一部分;在某營銷活動的響應問題中,真正參與活動的客戶也同樣只是少部分。
如果數據存在嚴重的不平衡,預測得出的結論往往也是有偏的,即分類結果會偏向於較多觀測的類。為了解決數據的非平衡問題,2002年Chawla提出了SMOTE算法,即合成少數過采樣技術,它是基於隨機過采樣算法的一種改進方案。
2.SMOTE算法的思想及步驟
SMOTE算法的基本思想就是對少數類別樣本進行分析和模擬,並將人工模擬的新樣本添加到數據集中,進而使原始數據中的類別不再嚴重失衡。
算法步驟為:
- 采樣最鄰近算法,計算出每個少數類樣本的K個近鄰。
- 從K個近鄰中隨機挑選N個樣本進行隨機線性插值。
- 構造新的少數類樣本。
- 將新樣本與原數據合成,產生新的訓練集。
3.SMOTE算法的手工案例
(4)重復步驟(1)、(2)和(3),通過迭代少數類別中的每一個樣本𝑥𝑖,最終將原始的少數類別樣本量擴大為理想的比例。
4.SMOTE算法的函數介紹
Note: 在anaconda下 輸入命令conda install -c glemaitre imbalanced-learn 即可安裝imblearn第三方庫
具體使用:from imblearn.over_sampling import SMOTE