博客專欄

EEPW首頁 > 博客 > 獨家 | 處理非均衡數(shù)據(jù)的7種技術(shù)

獨家 | 處理非均衡數(shù)據(jù)的7種技術(shù)

發(fā)布人:數(shù)據(jù)派THU 時間:2022-12-23 來源:工程師 發(fā)布文章
簡介


諸如****的欺詐檢測、營銷的實時競價或網(wǎng)絡(luò)的入侵檢測等領(lǐng)域的數(shù)據(jù)集都有哪些共同點?在這些領(lǐng)域的數(shù)據(jù)通常只占有總數(shù)據(jù)量不到1%,為罕見但“有趣的”事件(例如,騙子使用****、用戶點擊廣告或入侵服務(wù)器掃描其網(wǎng)絡(luò))。然而,絕大多數(shù)機器學(xué)習(xí)算法并不能很好地處理這些非均衡的數(shù)據(jù)集。利用以下七種技術(shù)可以通過訓(xùn)練一個分類器來檢測出上述異常類。

圖片


1. 使用正確的評估指標對于那些使用非均衡數(shù)據(jù)的模型來說,應(yīng)用不恰當?shù)脑u估度量指標非常危險。想象一下,假設(shè)訓(xùn)練數(shù)據(jù)如上圖所示,如果用準確率來衡量一個模型的好壞,那么將所有測試樣本分類為“0”的模型將具有極好的準確率(99.8%),顯然,這個模型不會提供任何有價值的信息。

在這種情況下,可以采用其他評估指標,例如:


  • 精度/特異性:有多少選定實例是相關(guān)的。

  • 召回率/敏感度:選擇了多少個相關(guān)的實例。

  • F1評分:精度和查全率的調(diào)和平均值。

  • MCC:觀察到的和預(yù)測到的二元分類之間的相關(guān)系數(shù)。

  • AUC:真陽性率與假陽性率之間的關(guān)系。


2. 重新采樣訓(xùn)練集除了使用不同的評估標準外,還可以采取一定的措施以獲取到其他不同的數(shù)據(jù)集,通常利用欠采樣和過采樣兩種方法從非均衡數(shù)據(jù)集中提取出均衡數(shù)據(jù)集。

 2.1 欠采樣

通過減少不同類的大小來平衡數(shù)據(jù)集的過程稱為欠采樣,當數(shù)據(jù)量充足時,使用該方法。通過將所有樣本保留到稀有類中,并在不同類中隨機選擇相同數(shù)量的樣本,在后續(xù)建模過程中便可以檢索到一個新的均衡數(shù)據(jù)集。

 2.2 過采樣

相反,當數(shù)據(jù)量不足時,則使用過采樣。過采樣通過增加稀有樣本的大小來平衡數(shù)據(jù)集。在不去除大量的樣本的情況下,通過使用重復(fù)、引導(dǎo)或SMOTE(合成少數(shù)過采樣技術(shù))[1]來生成新的稀有樣本。請注意,以上兩種重采樣方法并沒有各自絕對的優(yōu)勢,這兩種方法的應(yīng)用取決于用例和數(shù)據(jù)集本身,過采樣和欠采樣兩種方法的組合往往也能成功。3. 正確使用k倍交叉驗證值得注意的是,在使用過采樣的方法來解決非均衡數(shù)據(jù)問題時,可以適當?shù)貞?yīng)用交叉驗證。請記住,過采樣觀察到的是稀有樣本,并利用自舉法根據(jù)分布函數(shù)生成新的隨機數(shù)據(jù)。如果在過采樣后應(yīng)用交叉驗證,便會將模型過擬合到一個特定的人工自舉結(jié)果中。這就是為什么應(yīng)該在過采樣數(shù)據(jù)之前進行交叉驗證,正如應(yīng)該在實現(xiàn)特征之前對特征做出選擇一樣,只有通過重復(fù)采樣數(shù)據(jù),方可在數(shù)據(jù)集中引入隨機性,確保不會出現(xiàn)過擬合問題。4. 集成不同的重采樣數(shù)據(jù)集成功泛化模型的最簡單方法是使用更多的數(shù)據(jù)。像邏輯回歸或隨機森林等開箱即用的分類器傾向于通過丟棄稀有類來實現(xiàn)泛化。一個簡單而有效的實踐是針對稀有類的所有樣本和多數(shù)類的n個不同樣本,建立n個模型。假設(shè)需要集成10個模型,保留例如1.000個稀有類的案例,并隨機抽取10.000個多數(shù)類的案例,然后把10.000個多數(shù)類分成10塊,訓(xùn)練10個不同的模型。

圖片


如果存在大量的數(shù)據(jù),那么這種方法非常簡單,并且完全可水平擴展,可以在不同的集群節(jié)點上訓(xùn)練和運行模型。集成模型也可更好地泛化,這種方法非常易于處理。5. 按照不同的比例重新采樣通過調(diào)整稀有類和多數(shù)類之間的比例,利用前文所述的幾種方法來進行微調(diào)。兩種類數(shù)目的最佳配比在很大程度上取決于數(shù)據(jù)本身和所使用的模型。與其以相同的比例訓(xùn)練所有的模型,還不如嘗試以不同比例集成數(shù)據(jù)。如果訓(xùn)練了10個模型,那么比例為1:1(稀有:多數(shù))和比例為1:3,甚至是2:1的模型均可能都是有意義的,類的權(quán)重取決于所使用的模型。

圖片


6. 聚類多數(shù)類Quora [2]的Sergey提出了一種更加優(yōu)雅的方法,他建議將多數(shù)類聚類到r組中,r即r組中的案例數(shù), 取代隨機樣本來覆蓋訓(xùn)練樣本的多樣性。對于每一組,只保留medoid(聚類的中值),然后用稀有類和medoids對模型進行訓(xùn)練。7. 設(shè)計自定義模型前文所述的方法關(guān)注的是數(shù)據(jù),將模型視為一個固定的組件。但事實上,如果模型本身適用于非均衡的數(shù)據(jù),就無需對數(shù)據(jù)進行重新采樣。如果類沒有太多的傾斜, XGBoost便很好用了,因為其內(nèi)部已經(jīng)關(guān)注了袋子里的不均衡數(shù)據(jù)。但話說回來,這也只是在秘密的情況之下,對數(shù)據(jù)重新采樣。通過設(shè)計一個成本函數(shù),對稀有類的錯誤分類進行懲罰,而不是對多數(shù)類的錯誤分類進行懲罰,有可能設(shè)計出許多有利于稀有類泛化的模型。例如,配置一個SVM,以懲罰稀有類的錯誤分類。圖片

小結(jié)本文的內(nèi)容并非唯一的技術(shù)列表,只是處理非均衡數(shù)據(jù)的一個起點。也不存在能解決所有問題的最佳方法或模型,強烈建議嘗試不同的技術(shù)和模型來評估哪種方法最為有效,可以嘗試有創(chuàng)意地將多種方法結(jié)合起來使用。同樣需要注意的是,在欺詐檢測、實時競價等諸多領(lǐng)域,當非均衡類別發(fā)生的同時,“市場規(guī)則”也在不斷變化。因此,需要檢查過往的數(shù)據(jù)是否已經(jīng)過時了。參考文獻

[1] arxiv.org/pdf/1106.1813.pdf

[2] www.quora.com/In-classification-how-do-you-handle-an-unbalanced-training-set/answers/1144228?srid=h3G6o
作者簡介Ye Wu :FARFETCH高級數(shù)據(jù)分析師,她有會計背景、市場營銷和銷售預(yù)測方面的實踐經(jīng)驗。Rick Radewagen :Sled的聯(lián)合創(chuàng)始人,有計算機科學(xué)背景的、有抱負的數(shù)據(jù)科學(xué)家。原文標題:7 Techniques to Handle Imbalanced Data原文鏈接:https://www.kdnuggets.com/2017/06/7-techniques-handle-imbalanced-data.html


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉