1. 程式人生 > >分類方法中樣本類別不均衡問題

分類方法中樣本類別不均衡問題

一、前言

大部分的分類學習方法都存在一個基本的假設,訓練集中不同類別的訓練樣本數目差不多。如果不同類別的樣本數目差距很大,比如正類樣本有98個,而負類樣本只有2個,這種情況下學習出來的分類器只要一直返回正類的預測結果,那很輕易的就能達到百分之九十八的正確率,但實際上這樣的模型並沒有什麼作用。

二、解決方法

1、欠抽樣(under sampling)

欠抽樣,是指減少分類中數目較多的類別數量,來實現樣本均衡。最直接的方法就是隨機的去掉一些多數類中的樣本,但這樣可能會丟失一些重要的資訊。

比較有代表的欠抽樣演算法是EasyEnsemble,利用整合學習機制,將多數類中的樣本劃分為若干個集合供不同的學習器使用,表面看來每個學習器都進行了欠抽樣,但整體看來卻不會丟失重要資訊。

2、過抽樣(over sampling)

過抽樣,是指增加分類中數目較少的類別數量,來實現樣本均衡。最直接的方法就是隨機的複製一些少數類中的樣本,但這樣可能會導致嚴重的過擬合。

比較有代表性的過抽樣演算法是SMOTE,通過對訓練集裡的少數類樣本進行差值來產生額外的記錄。

3、權重懲罰

權重懲罰,是指對不同的類別樣本賦予不同的權重,比如數量較少的類別擁有更大的權重,再進行建模。

此外還有一些其他的方法,就不一一列舉了。