Svm
支持不平衡數據的 SVM
我想嘗試在我的數據集上使用支持向量機 (SVM)。不過,在我嘗試解決這個問題之前,有人警告我 SVM 在極其不平衡的數據上表現不佳。就我而言,我可以有多達 95-98% 的 0 和 2-5% 的 1。
我試圖找到有關在稀疏/不平衡數據上使用 SVM 的資源,但我能找到的只是“sparseSVM”(使用少量支持向量)。
我希望有人能簡要解釋一下:
- 預計 SVM 對此類數據集的處理效果如何
- 必須對 SVM 算法進行哪些修改(如果有)
- 什麼資源/論文討論了這個
許多 SVM 實現通過為正面和負面實例分配不同的權重來解決這個問題。本質上,您對樣本進行稱重,以便正面的權重之和等於負面的權重之和。當然,在評估 SVM 時,您必須記住,如果 95% 的數據是負數,那麼通過始終預測負數來獲得 95% 的準確率是微不足道的。所以你必須確保你的評估指標也被加權,以使它們保持平衡。
特別是在
libsvm
您作為標籤添加的 中,有一個標誌允許您設置類權重(-w
我相信,但請查看文檔)。最後,根據個人經驗,我可以告訴你,我經常發現 SVM 在有或沒有權重校正的情況下都會產生非常相似的結果。