機器學習分類問題中,資料不均衡時的解決方法

2021-08-19 01:26:42 字數 1125 閱讀 2010

資料不均衡是指資料集中每種類別的資料的數量相差比較大。比如乙個資料集s中,a類資料有100個,b類有1個,一般相差乙個以上數量級的就算是資料不均衡了,需要進行預處理。

資料不均衡會導致最終的分類結果有偏差。同樣以資料集s作為說明,如果不作任何處理直接用s作為訓練資料,那麼用訓練模型對乙個新的資料進行測試,得到的結果將有約100/(100+1)即近似為1的概率被**為類別a,而被**為b類的概率只有1/101,幾乎等於0。這樣一來,**的結果總是偏向a類。

分類問題中,資料不均衡時的解決方法:

(資料合成)

機器學習分類器模型評價指標:

easyensemble:利用模型融合,多次下取樣(有放回)得到不同的資料集,訓練多個不同的分類器,並將這些分類器組合起來得到最終結果,最終的結果是所有結果的平均值。

balancecascade:利用增量訓練的思想(boosting):先通過一次下取樣產生訓練集,訓練乙個分類器,對於那些分類正確的大眾樣本不放回,然後對這個更小的大眾樣本下取樣產生訓練集,訓練第二個分類器,以此類推,最終組合所有分類器的結果得到最終結果。

**自:

(來自:

解決資料不平衡問題的方法有很多,上面只是一些最常用的方法,而最常用的方法也有這麼多種,如何根據實際問題選擇合適的方法呢?接下來談談一些我的經驗。

在正負樣本都非常之少的情況下,應該採用資料合成的方式;在負樣本足夠多,正樣本非常之少且比例及其懸殊的情況下,應該考慮一分類方法;在正負樣本都足夠多且比例不是特別懸殊的情況下,應該考慮取樣或者加權的方法。

取樣和加權在數學上是等價的,但實際應用中效果卻有差別。尤其是取樣了諸如random forest等分類方法,訓練過程會對訓練集進行隨機取樣。在這種情況下,如果計算資源允許上取樣往往要比加權好一些。

另外,雖然上取樣和下取樣都可以使資料集變得平衡,並且在資料足夠多的情況下等價,但兩者也是有區別的。實際應用中,我的經驗是如果計算資源足夠且小眾類樣本足夠多的情況下使用上取樣,否則使用下取樣,因為上取樣會增加訓練集的大小進而增加訓練時間,同時小的訓練集非常容易產生過擬合。對於下取樣,如果計算資源相對較多且有良好的並行環境,應該選擇ensemble方法。

**自

機器學習分類問題中 訓練資料類別不均衡怎麼解決

碰到樣本資料類別不均衡怎麼辦?如果有 10000個樣例,做二分類,9990條資料 都屬於 正類1,如果不處理的話 全部結果為 1,準確率也為 99 但這顯然不是想要的結果。碰到這樣樣本很不平衡的樣例,應該怎樣做。def down sample df df1 df df label 1 正例df2 d...

機器學習分類資料不均衡的簡單處理

隨機選擇類別較多的資料與類別較少的資料一致。x特徵,y類別 x data.ix data.columns class y data.ix data.columns class 小類別資料個數 number records fraud len data data.class 1 小類別資料索引 fra...

在機器學習中如何應對不均衡分類問題?

在處理機器學習等資料科學問題時,經常會碰到不均衡種類分布的情況,即在樣本資料中乙個或多個種類的觀察值明顯少於其他種類的觀察值的現象。在我們更關心少數類的問題時這個現象會非常突出,例如竊電問題 銀行詐騙 易 罕見病鑑定等。在這種情況下,運用常規的機器學習演算法的 模型可能會無法準確 這是因為機器學習演...