資料不均衡的簡單處理方法,以及其的好壞。

2021-10-09 13:40:18 字數 1183 閱讀 4822

本文內容基本來自一下**,簡單記錄一下資料不均衡的各種處理方法,以及各方法的好壞:

diving deep with imbalanced data

首先就是較為簡單的隨機下取樣,也就是訓練的時候,從多數類抽取與少數類差不多的數量,使得訓練的時候資料均衡。

優點:很明顯增加了訓練的速度,減小了gpu的壓力。

缺點:1.會導致損失一部分的資訊,不利於建立基於規則的模型(rule-based classifiers),比如隨機森林。(本人沒有使用過隨機森林,所以不是很理解)

2.單純的隨機取樣,可能會獲得乙個有偏差的樣本,最後訓練的模型的泛化效能可能較差。

與隨機下取樣方法對應的就是隨機上取樣,這個方法簡單的執行就是複製n次少數類,但這不一定是好方法,可以使用一些隨機增強的方式增加少數類。

優點:這總方法不會損失資訊。

缺點:單純的複製少數類,這樣可能會導致模型的過擬合。

以下場景你可以考慮使用以上方法:

1.資料比較多的時候,可以使用隨機下取樣,提公升訓練速度是很開心的事情。

2.資料較少的時候,可以使用隨機上取樣,這樣不會導致你要複製過多的少數類,而產生各種問題。

3.考慮一下其他的隨機方法,比如分層抽樣。

4.考慮一下其他比例,不一定要把資料的比例調整為1:1

然後基於提高少數類的目的,我們可以考慮生成更多少數類樣本,有點類似隨機增強。比較經典的演算法就是smote。目前類似的方法有很多了,大家可以多搜搜這樣方面的文獻,或許你可考慮一下更加高階的對抗生成網路。

優點:1.比起單純的複製少數類,該方法可以增加模型的泛用性,減小過擬合。

2.不會丟失資訊

3.簡單,方便,可解釋。

缺點:1.生成樣本的時候,smote不會考慮生成樣本周圍屬於其他類別的樣本,生成的樣本和其他類別的樣本重疊,而引入雜訊。

2.不適用與高緯度資料。(我覺得也不適合複雜資料,比如生成醫學影象,效果很差。)

應該是應用其他最為舒適,需要增加任何樣本的代價敏感學習(cost-sensitive learning),簡單來說就是在損失函式上給少數類加入更多權重,比如wce_loss,dice_loss,focal_loss……挺多的,隨機組合起來就更多了。

常用的方法就是以上,算的上較為萬能。不過不管什麼方法還是結合自己資料集的實際情況。依據具體情況,你也可知制定出特有的處理資料不均衡的方法。

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

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

解決資料不均衡的問題

1 類別不均衡會對分類效能產生有害的影響。2 隨著任務規模的擴大,類別不均衡性對分類效能的影響越大。3 類別不均衡的影響不能簡單地以訓練樣本數量的不足來解釋,它依賴於各類樣本的分布。過取樣 oversampling,相當於插值 下取樣 downsampling,相當於壓縮 兩階段訓練 two pha...

在深度學習中處理不均衡資料集

hard negative mining online hard sample mining 在上面的情況中,我們當然需要我們的少數 買 的類別要特別的準確,而 不買 的類別則無關緊要。但是在實際情況中,由於買的情況比不買的情況要少得多,我們的模型 會偏向 不買 的類別,而 買 的類別的準確率則可能...