1. 程式人生 > >分類中樣本資料不平衡問題的解決方法

分類中樣本資料不平衡問題的解決方法

資料探勘的重點在資料,當資料不平衡的時候怎麼辦呢? 

轉自:http://blog.csdn.net/dream2009gd/article/details/35569343      



問題:研究表明,在某些應用下,1∶35的比例就會使某些分類方法無效,甚至1∶10的比例也會使某些分類方法無效。
(1)少數類所包含的資訊就會很有限,從而難以確定少數類資料的分佈,即在其內部難以發現規律,進而造成少數類的識別率低
(2)資料碎片。很多分類演算法採用分治法,樣本空間的逐漸劃分會導致資料碎片問題,這樣只能在各個獨立的子空間中尋找資料的規律,對於少數類來說每個子空間中包含了很少的資料資訊,一些跨空間的資料規律就不能被挖掘出來。
(3)不恰當的歸納偏置。許多歸納推理系統在存在不確定時往往傾向於把樣本分類為多數類。
------------------------------------------
經驗:
我現在要對一個非平衡資料進行分類 類別0佔比例很大 類別1佔比例很小 這時候我該怎麼處理呢? 想了想 你們做貼吧分類應該也遇到過資料不平衡問題。
那你只能人工調整訓練樣本中類別1的數量啊 ,自己在樣本中加點
一般加多少 ?
差不多1:1或者4:6 ,特別是加一些那種靠近分類面的樣本(典型樣本挑選) 
人工挑一些? 
恩 ,我之前做馬甲挖掘,也是人工加一些,後來效果提升明顯 
------------------------------------------
解決辦法總結:
1. 過抽樣
抽樣處理不平衡資料的最常用方法,基本思想就是通過改變訓練資料的分佈來消除或減小資料的不平衡。
過抽樣方法通過增加少數類樣本來提高少數類的分類效能 ,最簡單的辦法是簡單複製少數類樣本,缺點是可能導致過擬合,沒有給少數類增加任何新的資訊。改進的過抽樣方法通過在少數類中加入隨機高斯噪聲或產生新的合成樣本等方法。 
注意:好像對svm沒用


2.欠抽樣
欠抽樣方法通過減少多數類樣本來提高少數類的分類效能,最簡單的方法是通過隨機地去掉一些多數類樣本來減小多數類的規模,缺點是會丟失多數類的一些重要資訊,不能夠充分利用已有的資訊。


3. 演算法層面,採用代價敏感方法。
(1)重構訓練集的方法。不改變已有演算法,而是根據樣本的不同錯分代價給訓練集中的每一個樣本賦一個權值,接著按權重對原始樣本集進行重構。
(2)引入代價敏感因子,設計出代價敏感的分類演算法。通常對小樣本賦予較高的代價,大樣本賦予較小的代價,期望以此來平衡樣本之間的數目差異。


4. 特徵選擇
樣本數量分佈很不平衡時,特徵的分佈同樣會不平衡。尤其在文字分類問題中,在大類中經常出現的特徵,也許在稀有類中根本不出現。因此,根據不平衡分類問題的特點,選取最具有區分能力的特徵,有利於提高稀有類的識別率 。
按照一個經驗性的樣本比例,挑選正負2個樣本集,分別從中選擇最能表示該類樣本的特徵集,然後將這些特徵集合並作為最後挑選的特徵。


參考:
http://wenku.baidu.com/view/28946d32f111f18583d05a37.html
http://wenku.baidu.com/view/83ab4beb6294dd88d0d26b7c