1. 程式人生 > >8種應對機器學習資料集類別不平衡的策略

8種應對機器學習資料集類別不平衡的策略

資料集類別不平衡通常發生在分類問題上,例如有兩個類別(A,B)的資料集,A有80個,而B有20個,那麼這個資料集是不平衡的。

大多數資料集每一個類別通常不是完全的平衡,小的不平衡不會有太大的問題。但是當樣本分佈差距很大的時候,就會有很大的影響。嚴重的不平衡會導致訓練的模型大概率會輸出數量較多的那個類別,使模型具有很強的偏向性。

   1.獲取更多的資料

這是一個最簡單直接的辦法,但往往資料並不是很容易獲取,需要很大的人力成本。、

   2.  改變評價指標

對於不平衡的資料集,準確率並不能很好的衡量整個模型的效能,可以使用以下一些評價指標:

  1. Confusion Matrix(混淆矩陣): A breakdown of predictions into a table showing correct predictions (the diagonal) and the types of incorrect predictions made (what classes incorrect predictions were assigned).
  2. Precision: A measure of a classifiers exactness.
  3. Recall(召回率): A measure of a classifiers completeness
  4. F1 Score (or F-score): A weighted average of precision and recall.
  5. : Classification accuracy normalized by the imbalance of the classes in the data.
  6. ROC Curves: Like precision and recall, accuracy is divided into sensitivity and specificity and models can be chosen based on the balance thresholds of these values.

   3.對資料進行重新取樣 

過取樣:對於數量較少的類別重複出現。

欠取樣: 將數量較多的類別中的樣本刪除一些,是類別數量均衡。

當有大量的資料時,進行欠取樣

當資料量較小時,進行過取樣

可以考慮隨機取樣或者非隨機取樣(分層取樣)

考慮不同的重取樣比例

   4.生成合成資料

在影象領域,可以通過資料增強的方法,旋轉,翻轉,裁剪等方法,或者現在很多的使用GAN等網路生成新的資料。

  5.嘗試其他的方法

不要總是用同一種熟悉的方法解決所有問題,針對不同的問題,選擇更加合適的方法。

例如決策樹在資料分佈不均衡時表現的更好。

    6.懲罰模型

給模型加上懲罰,使模型訓練時更偏重樣本較少的類別。

    7.轉變視角

對於一些特殊問題,從直接研究到研究異常,研究變化。

    8. 創新

比如將一個大的類別細分成幾個小類別來使資料集均衡。