處理機器學習中不平衡類的5種策略

類失衡:假設您有一個罕見的疾病機器學習數據集,即大約8%的陽性。在這種情況下,即使你不訓練,只是簡單地說沒有生病,這也會給出92%的準確率。因此,在類不平衡的情況下,準確性是不準確的。

在本指南中,我們介紹了處理機器學習中不平衡類的5種策略:

  1. 對少數類進行上採樣
  2. 對多數類進行下采樣
  3. 更改性能指標
  4. 懲罰算法
  5. 使用基於樹的算法

1.上採樣少數類:指隨機複製少數類的觀察結果,使樣本數量與多數類匹配。

首先,我們將每個類的觀察結果分成不同的DataFrame。

接下來,我們將使用替換重取樣少數類,設置樣本數以匹配多數類的樣本數。

最後,我們將上採樣的少數類DataFrame與原始的多數類DataFrame相結合。

處理機器學習中不平衡類的5種策略

創建合成樣本(數據增強)

創建合成樣本是上採樣的近親,有些人可能會將它們歸類在一起。例如,SMOTE算法是一種從少數類中重新採樣的方法,同時稍微調整特徵值,從而創建“新的”樣本。

2. 下采樣多數類:下采樣涉及從多數類中隨機移除觀測值,以防止其信號支配學習算法。

首先,我們將每個類的觀察結果分成不同的DataFrame。

接下來,我們將重採樣多數類而不進行替換,將樣本數設置為與少數類相匹配。

最後,我們將下采樣的多數類DataFrame與原始的少數類DataFrame結合起來。

處理機器學習中不平衡類的5種策略

3. 更改性能指標:AUROC(ROC曲線下面積)

假設我們有一個概率的二元分類器,如邏輯迴歸。

在呈現ROC曲線之前,必須理解混淆矩陣的概念。當我們進行二元預測時,可以有4種類型的結果:

  • 我們預測0而真正的類實際上是0:這被稱為真陰性,即我們正確地預測該類是負的(0)。例如,防病毒軟件未將無害文件檢測為病毒。
  • 我們預測0而真正的類實際上是1:這被稱為假陰性,即我們錯誤地預測該類是負的(0)。例如,防病毒軟件無法檢測到病毒。
  • 我們預測1而真正的類實際上是0:這被稱為假陽性,即我們錯誤地預測該類是正的(1)。例如,防病毒軟件認為無害文件是病毒。
  • 我們預測1而真正的類實際上是1:這被稱為真陽性,即我們正確地預測該類是正的(1)。例如,防病毒軟件正確地檢測到了病毒。

為了獲得混淆矩陣,我們回顧機器學習項模型所做的所有預測,並計算這4種結果中的每一種發生的次數:

處理機器學習中不平衡類的5種策略

在這個混淆矩陣的例子中,在被分類的50個數據點中,45個被正確分類,5個被錯誤分類。

由於為了比較不同的模型,通常使用單個度量比使用多個度量更方便,所以我們從混淆矩陣中計算兩個度量,然後將其合併為一個:

  • 真陽性率(TPR),又名靈敏度、命中率和召回率,定義為+TPTP+ FN。直觀地,該度量對應於相對於所有正數據點被正確認為為正的正數據點的比例。換句話說,TPR越高,我們將錯過的正數據點越少。
  • 假陽性率(FPR),又名 fall-out,定義為+FPFP+ TN。直觀地,該度量對應於相對於所有負數據點被錯誤地認為是正數的負數據點的比例。換句話說,FPR越高,更多的負數據點將被錯誤分類。

為了將FPR和TPR合併為一個度量,我們首先計算邏輯迴歸中具有許多不同閾值的前兩個度量(例如0.00、0.01、0.02、……、1.000.00;0.01、0.02、……、1.00),然後將它們繪製在一個圖上,橫座標上是FPR值,縱座標上是TPR值。得到的曲線稱為ROC曲線,我們考慮的度量是這條曲線的AUC,我們稱之為AUROC。

下圖以圖形方式顯示AUROC:

處理機器學習中不平衡類的5種策略

在該圖中,藍色區域對應於AUROC的曲線下面積。對角線中的虛線表示隨機預測器的ROC曲線:它的AUROC為0.5。

AUROC介於0和1之間,AUROC = 1意味著預測模型是完美的。事實上,AUROC距離0.5越遠越好:如果AUROC <0.5,那麼你只需要反轉模型所做的決定。因此,如果AUROC = 0,這是個好消息,因為您只需要反轉模型的輸出以獲得完美的機器學習模型。

4.懲罰算法:

下一個策略是使用懲罰學習算法,提高少數類的分類錯誤的成本。

該技術的流行算法是Penalized-SVM:支持向量機

在訓練期間,我們可以使用參數class_weight ='balanced'來懲罰少數群體類的錯誤,其數量與其代表性不足的數量成正比。

如果我們想為支持向量機算法啟用概率估計,還需要包含參數probability=True。

讓我們在原始不平衡數據集上使用Penalized-SVM訓練模型:

處理機器學習中不平衡類的5種策略

5. 使用基於樹的算法

我們將考慮的最後策略是使用基於樹的算法。決策樹通常在不平衡數據集上表現良好,因為它們的層次結構允許它們從兩個類中學習信號。

在現代應用機器學習中,樹集合(隨機森林,梯度提升樹等)幾乎總是優於單一決策樹:

處理機器學習中不平衡類的5種策略

97%的準確率和接近100%的AUROC。

樹形組合已經變得非常流行,因為它們在許多現實問題上表現得非常好。

然而:雖然這些結果令人鼓舞,但機器學習模型可能過度擬合,因此在做出最終決策之前,您仍應在測試集上評估機器學習模型。


分享到:


相關文章: