非平衡數據的處理(SMOTE算法)


主要內容:

  非平衡數據的特征

  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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM