三招提升數(shù)據(jù)不平衡模型的性能(附python代碼)

對(duì)于深度學(xué)習(xí)而言,數(shù)據(jù)集非常重要值戳,但在實(shí)際項(xiàng)目中西篓,或多或少會(huì)碰見(jiàn)數(shù)據(jù)不平衡問(wèn)題愈腾。什么是數(shù)據(jù)不平衡呢?舉例來(lái)說(shuō),現(xiàn)在有一個(gè)任務(wù)是判斷西瓜是否成熟岂津,這是一個(gè)二分類問(wèn)題——西瓜是生的還是熟的虱黄,該任務(wù)的數(shù)據(jù)集由兩部分?jǐn)?shù)據(jù)組成,成熟西瓜與生西瓜吮成,假設(shè)生西瓜的樣本數(shù)量遠(yuǎn)遠(yuǎn)大于成熟西瓜樣本的數(shù)量橱乱,針對(duì)這樣的數(shù)據(jù)集訓(xùn)練出來(lái)的算法“偏向”于識(shí)別新樣本為生西瓜,存心讓你買不到甜的西瓜以解夏天之苦粱甫,這就是一個(gè)數(shù)據(jù)不平衡問(wèn)題泳叠。

針對(duì)數(shù)據(jù)不平衡問(wèn)題有相應(yīng)的處理辦法,比如對(duì)多數(shù)樣本進(jìn)行采樣使得其樣本數(shù)量級(jí)與少樣本數(shù)相近茶宵,或者是對(duì)少數(shù)樣本重復(fù)使用等危纫。最近恰好在面試中遇到一個(gè)數(shù)據(jù)不平衡問(wèn)題,這也是面試中經(jīng)常會(huì)出現(xiàn)的問(wèn)題之一乌庶,現(xiàn)向讀者分享此次解決問(wèn)題的心得种蝶。

數(shù)據(jù)集

訓(xùn)練數(shù)據(jù)中有三個(gè)標(biāo)簽,分別標(biāo)記為[1瞒大、2螃征、3],這意味著該問(wèn)題是一個(gè)多分類問(wèn)題透敌。訓(xùn)練數(shù)據(jù)集有17個(gè)特征以及38829個(gè)獨(dú)立數(shù)據(jù)點(diǎn)会傲。而在測(cè)試數(shù)據(jù)中锅棕,有16個(gè)沒(méi)有標(biāo)簽的特征和16641個(gè)數(shù)據(jù)點(diǎn)。該訓(xùn)練數(shù)據(jù)集非常不平衡淌山,大部分?jǐn)?shù)據(jù)是1類(95%)裸燎,而2類和3類分別有3.0%和0.87%的數(shù)據(jù),如下圖所示泼疑。

算法

經(jīng)過(guò)初步觀察德绿,決定采用隨機(jī)森林(RF)算法,因?yàn)樗鼉?yōu)于支持向量機(jī)退渗、Xgboost以及LightGBM算法移稳。在這個(gè)項(xiàng)目中選擇RF還有幾個(gè)原因:

機(jī)森林對(duì)過(guò)擬合具有很強(qiáng)的魯棒性;

參數(shù)化仍然非常直觀;

在這個(gè)項(xiàng)目中,有許多成功的用例將隨機(jī)森林算法用于高度不平衡的數(shù)據(jù)集;

個(gè)人有先前的算法實(shí)施經(jīng)驗(yàn);

為了找到最佳參數(shù)会油,使用scikit-sklearn實(shí)現(xiàn)的GridSearchCV對(duì)指定的參數(shù)值執(zhí)行網(wǎng)格搜索个粱,更多細(xì)節(jié)可以在本人的Github上找到。

為了處理數(shù)據(jù)不平衡問(wèn)題翻翩,使用了以下三種技術(shù):

A.使用集成交叉驗(yàn)證(CV):

在這個(gè)項(xiàng)目中都许,使用交叉驗(yàn)證來(lái)驗(yàn)證模型的魯棒性。整個(gè)數(shù)據(jù)集被分成五個(gè)子集嫂冻。在每個(gè)交叉驗(yàn)證中胶征,使用其中的四個(gè)子集用于訓(xùn)練,剩余的子集用于驗(yàn)證模型桨仿,此外模型還對(duì)測(cè)試數(shù)據(jù)進(jìn)行了預(yù)測(cè)睛低。在交叉驗(yàn)證結(jié)束時(shí),會(huì)得到五個(gè)測(cè)試預(yù)測(cè)概率服傍。最后钱雷,對(duì)所有類別的概率取平均值。模型的訓(xùn)練表現(xiàn)穩(wěn)定吹零,每個(gè)交叉驗(yàn)證上具有穩(wěn)定的召回率和f1分?jǐn)?shù)罩抗。這項(xiàng)技術(shù)也幫助我在Kaggle比賽中取得了很好的成績(jī)(前1%)。以下部分代碼片段顯示了集成交叉驗(yàn)證的實(shí)現(xiàn):

B.設(shè)置類別權(quán)重/重要性:

代價(jià)敏感學(xué)習(xí)是使隨機(jī)森林更適合從非常不平衡的數(shù)據(jù)中學(xué)習(xí)的方法之一瘪校。隨機(jī)森林有傾向于偏向大多數(shù)類別。因此名段,對(duì)少數(shù)群體錯(cuò)誤分類施加昂貴的懲罰可能是有作用的阱扬。由于這種技術(shù)可以改善模型性能,所以我給少數(shù)群體分配了很高的權(quán)重(即更高的錯(cuò)誤分類成本)伸辟。然后將類別權(quán)重合并到隨機(jī)森林算法中麻惶。我根據(jù)類別1中數(shù)據(jù)集的數(shù)量與其它數(shù)據(jù)集的數(shù)量之間的比率來(lái)確定類別權(quán)重。例如信夫,類別1和類別3數(shù)據(jù)集的數(shù)目之間的比率約為110窃蹋,而類別1和類別2的比例約為26】▎現(xiàn)在我稍微對(duì)數(shù)量進(jìn)行修改以改善模型的性能,以下代碼片段顯示了不同類權(quán)重的實(shí)現(xiàn):

C.過(guò)大預(yù)測(cè)標(biāo)簽而不是過(guò)小預(yù)測(cè)(Over-Predict a Label than Under-Predict):

這項(xiàng)技術(shù)是可選的警没,通過(guò)實(shí)踐發(fā)現(xiàn)匈辱,這種方法對(duì)提高少數(shù)類別的表現(xiàn)非常有效。簡(jiǎn)而言之杀迹,如果將模型錯(cuò)誤分類為類別3亡脸,則該技術(shù)能最大限度地懲罰該模型,對(duì)于類別2和類別1懲罰力度稍差一些树酪。 為了實(shí)施該方法浅碾,我改變了每個(gè)類別的概率閾值,將類別3续语、類別2和類別1的概率設(shè)置為遞增順序(即垂谢,P3= 0.25,P2= 0.35疮茄,P1= 0.50)滥朱,以便模型被迫過(guò)度預(yù)測(cè)類別。該算法的詳細(xì)實(shí)現(xiàn)可以在Github上找到娃豹。

最終結(jié)果

以下結(jié)果表明焚虱,上述三種技術(shù)如何幫助改善模型性能:

1.使用集成交叉驗(yàn)證的結(jié)果:

2.使用集成交叉驗(yàn)證+類別權(quán)重的結(jié)果:

3.使用集成交叉驗(yàn)證+類別權(quán)重+過(guò)大預(yù)測(cè)標(biāo)簽的結(jié)果:

結(jié)論

由于在實(shí)施過(guò)大預(yù)測(cè)技術(shù)方面的經(jīng)驗(yàn)很少,因此最初的時(shí)候處理起來(lái)非常棘手懂版。但是鹃栽,研究該問(wèn)題有助于提升我解決問(wèn)題的能力。對(duì)于每個(gè)任務(wù)而言躯畴,起初可能確實(shí)是陌生的民鼓,這個(gè)時(shí)候不要害怕,一次次嘗試就好蓬抄。由于時(shí)間的限制(48小時(shí))丰嘉,無(wú)法將精力分散于模型的微調(diào)以及特征工程,存在改進(jìn)的地方還有很多嚷缭,比如刪除不必要的功能并添加一些額外功能饮亏。此外,也嘗試過(guò)LightGBM和XgBoost算法阅爽,但在實(shí)踐過(guò)程中發(fā)現(xiàn)路幸,隨機(jī)森林的效果優(yōu)于這兩個(gè)算法。在后面的研究中付翁,可以進(jìn)一步嘗試一些其他算法简肴,比如神經(jīng)網(wǎng)絡(luò)、稀疏編碼等百侧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末砰识,一起剝皮案震驚了整個(gè)濱河市能扒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辫狼,老刑警劉巖初斑,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異予借,居然都是意外死亡越平,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門灵迫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)秦叛,“玉大人,你說(shuō)我怎么就攤上這事瀑粥≌醢希” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵狞换,是天一觀的道長(zhǎng)避咆。 經(jīng)常有香客問(wèn)我,道長(zhǎng)修噪,這世上最難降的妖魔是什么查库? 我笑而不...
    開(kāi)封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮黄琼,結(jié)果婚禮上樊销,老公的妹妹穿的比我還像新娘。我一直安慰自己脏款,他們只是感情好围苫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著撤师,像睡著了一般剂府。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剃盾,一...
    開(kāi)封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天腺占,我揣著相機(jī)與錄音,去河邊找鬼痒谴。 笑死衰伯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的闰歪。 我是一名探鬼主播嚎研,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蓖墅,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼库倘!你這毒婦竟也來(lái)了临扮?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤教翩,失蹤者是張志新(化名)和其女友劉穎杆勇,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體饱亿,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蚜退,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了彪笼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钻注。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖配猫,靈堂內(nèi)的尸體忽然破棺而出幅恋,到底是詐尸還是另有隱情,我是刑警寧澤泵肄,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布捆交,位于F島的核電站,受9級(jí)特大地震影響腐巢,放射性物質(zhì)發(fā)生泄漏品追。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一冯丙、第九天 我趴在偏房一處隱蔽的房頂上張望肉瓦。 院中可真熱鬧,春花似錦银还、人聲如沸风宁。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)戒财。三九已至,卻和暖如春捺弦,著一層夾襖步出監(jiān)牢的瞬間饮寞,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工列吼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留幽崩,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓寞钥,卻偏偏與公主長(zhǎng)得像慌申,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 機(jī)器學(xué)習(xí)術(shù)語(yǔ)表 本術(shù)語(yǔ)表中列出了一般的機(jī)器學(xué)習(xí)術(shù)語(yǔ)和 TensorFlow 專用術(shù)語(yǔ)的定義蹄溉。 A A/B 測(cè)試 (...
    yalesaleng閱讀 1,966評(píng)論 0 11
  • 首頁(yè) 資訊 文章 資源 小組 相親 登錄 注冊(cè) 首頁(yè) 最新文章 IT 職場(chǎng) 前端 后端 移動(dòng)端 數(shù)據(jù)庫(kù) 運(yùn)維 其他...
    Helen_Cat閱讀 3,878評(píng)論 1 10
  • 以西瓜書為主線咨油,以其他書籍作為參考進(jìn)行補(bǔ)充,例如《統(tǒng)計(jì)學(xué)習(xí)方法》柒爵,《PRML》等 第一章 緒論 1.2 基本術(shù)語(yǔ) ...
    danielAck閱讀 4,522評(píng)論 0 6
  • 蒙蒙細(xì)雨拍打著我的臉龐役电,美好的一天從現(xiàn)在開(kāi)始。靜謐的城市棉胀,清涼的夏風(fēng)法瑟,銀絲般的夏雨,讓這個(gè)夏天不在狂熱起來(lái)唁奢。 又是...
    魅力小生lu閱讀 125評(píng)論 0 0
  • 在很多家長(zhǎng)看到一個(gè)0到6歲的孩子拿到一個(gè)把剪刀第一反應(yīng)會(huì)是什么樣子的尤其是女性往往會(huì)快給孩子拿過(guò)來(lái)不讓他玩霎挟,但是把...
    闕玉玲閱讀 152評(píng)論 0 1