「機器學習」資料不平衡情況下的處理方法(1)
阿新 • • 發佈:2019-02-08
1. background
前端時間想換工作,於是面了幾家公司。發現了公司面試基本會問當資料集分佈不平衡的時候該怎麼處理。在現實做專案的時候這種情況也會很多。於是做了一下整理。
2. 資料不平衡
資料不平衡的情況主要出現在二分類。比如現在公司做的重要郵件檢測。幾千個郵件只有幾百個重要郵件,其他都是不重要郵件。這樣帶來的問題是,你想要檢測的數量小的損失率帶來的整體影響很小。(比如你把所有小類的95%都分錯了帶來的影響 對於整體來說也可能不大)。所以在評價的時候看著資料很不錯,為啥實際應用卻檢測不出來這樣的結果。而且資料量小也就代表資訊少,效果不會很好也能預想到。
3. 一般方法
資料不平衡的解決方法一般分為兩種:
1. 取樣法
2. 懲罰法
這篇先來介紹一下采樣法。
4. 取樣法
取樣法有如下幾種
1. 過取樣(Oversampling)
2. 欠取樣(Undersampling)
4.1 過取樣:
過取樣就是把小類資料給擴大,把資料多複製幾份之類的。但是顯而易見這種做法會明顯增加過擬合現象。導致測試集中表現良好,實際中效果很差。覺得比較好的方法使人工製造資料。在一定規律下,自己生成新的小類資料已達到擴充小類資料樣本的目的。然而問題是如何製造這些資料,感覺這塊學問比較大。此前在郵件分類中自動生成新的重要郵件。然而效果不是特別好,不知道是不是因為本身生成的樣本有問題。