8種應對機器學習資料集類別不平衡的策略
阿新 • • 發佈:2019-01-08
資料集類別不平衡通常發生在分類問題上,例如有兩個類別(A,B)的資料集,A有80個,而B有20個,那麼這個資料集是不平衡的。
大多數資料集每一個類別通常不是完全的平衡,小的不平衡不會有太大的問題。但是當樣本分佈差距很大的時候,就會有很大的影響。嚴重的不平衡會導致訓練的模型大概率會輸出數量較多的那個類別,使模型具有很強的偏向性。
1.獲取更多的資料
這是一個最簡單直接的辦法,但往往資料並不是很容易獲取,需要很大的人力成本。、 2. 改變評價指標
對於不平衡的資料集,準確率並不能很好的衡量整個模型的效能,可以使用以下一些評價指標:
- 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).
- Precision: A measure of a classifiers exactness.
- Recall(召回率): A measure of a classifiers completeness
- F1 Score (or F-score): A weighted average of precision and recall.
- : Classification accuracy normalized by the imbalance of the classes in the data.
- 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.轉變視角
對於一些特殊問題,從直接研究到研究異常,研究變化。