????今天我們聊一聊關(guān)于機(jī)器學(xué)習(xí)中數(shù)據(jù)不均衡的解決辦法。
一衰抑、類別樣本不均衡到底是啥?
????類別數(shù)據(jù)不均衡是分類任務(wù)中一個(gè)典型的存在的問題香伴。簡而言之慰枕,即數(shù)據(jù)集中,每個(gè)類別下的樣本數(shù)目相差很大即纲。我們舉一個(gè)極端的例子具帮,在一個(gè)二分類問題中,共有10000個(gè)樣本(10000行數(shù)據(jù)低斋,每一行數(shù)據(jù)為一個(gè)樣本的表征)蜂厅,其中9900個(gè)樣本屬于第一類,其余的100個(gè)樣本屬于第二類膊畴,類別1:類別2 => 9900:100=99:1掘猿,這便屬于類別不均衡,且極端不均衡。
????再比如唇跨,有三個(gè)類別稠通,分別為A,B买猖,C改橘。在訓(xùn)練集中,A類的樣本占70%玉控,B類的樣本占20%飞主,C類的樣本占10%。這也同樣數(shù)據(jù)類別不均衡奸远,只不過是多類別的不均衡既棺。
二、真實(shí)世界中的樣本不均衡都長什么樣懒叛?
????大部分分類任務(wù)中丸冕,各類別下的數(shù)據(jù)個(gè)數(shù)基本上不可能完全相等,但是差異不過大的話是不會產(chǎn)生任何影響與問題的薛窥。?
????在現(xiàn)實(shí)中有很多類別不均衡問題胖烛,它是常見的,并且也是合理的诅迷,符合人們期望的佩番。例如,在欺詐交易識別中罢杉,屬于欺詐交易的應(yīng)該是很少部分趟畏,即絕大部分交易是正常的,只有極少部分的交易屬于欺詐交易滩租。這就是一個(gè)正常的類別不均衡問題赋秀。又如利朵,在客戶流失的數(shù)據(jù)集中,絕大部分的客戶是會繼續(xù)享受其服務(wù)的(非流失對象)猎莲,只有極少數(shù)部分的客戶不會再繼續(xù)享受其服務(wù)(流失對象)绍弟。再比如,我們門診的數(shù)據(jù)著洼,不同危重等級的病人可能如下:1級危重:10樟遣,2級危重:100,3級危重:1000身笤,4級危重:5000豹悬,5級危重:10000,對應(yīng)占比為10:100:1000:5000:10000展鸡。出現(xiàn)多樣本不均衡的情況屿衅。
????一般而已埃难,如果類別不平衡比例超過4:1莹弊,那么其分類器會大大地因?yàn)閿?shù)據(jù)不平衡性而無法滿足分類要求的。因此在構(gòu)建分類模型之前涡尘,需要對分類不均衡性問題進(jìn)行處理忍弛。?
????在前面,我們使用準(zhǔn)確度這個(gè)指標(biāo)來評價(jià)分類質(zhì)量考抄,可以看出细疚,在類別不均衡時(shí),準(zhǔn)確度這個(gè)評價(jià)指標(biāo)并不能work川梅。因?yàn)榉诸惼鲗⑺械臉颖径挤诸惖酱箢愊旅鏁r(shí)疯兼,該指標(biāo)值仍然會很高。即贫途,該分類器偏向了大類這個(gè)類別的數(shù)據(jù)吧彪。
三、常用樣本不均衡解決辦法
1丢早、增加數(shù)據(jù)樣本量
? ? 該方法看起來很傻姨裸,難道把數(shù)據(jù)變多就能解決問題嗎?答案是yes怨酝。當(dāng)遇到類別不均衡問題時(shí)傀缩,首先應(yīng)該想到,更多的數(shù)據(jù)往往戰(zhàn)勝更好的算法农猬。因?yàn)闄C(jī)器學(xué)習(xí)是使用現(xiàn)有數(shù)據(jù)進(jìn)行整個(gè)數(shù)據(jù)的分布進(jìn)行預(yù)估赡艰,因此更多的數(shù)據(jù)往往能夠得到更多的分布信息,以及更好分布估計(jì)斤葱。即使再增加小類樣本數(shù)據(jù)時(shí)慷垮,又增加了大類樣本數(shù)據(jù)勋又,也可以使用放棄一部分較多類別的數(shù)據(jù)來解決。
2换帜、變換評估指標(biāo)
? ??從前面的分析可以看出楔壤,準(zhǔn)確度這個(gè)評價(jià)指標(biāo)在類別不均衡的分類任務(wù)中并不能很好的給到指導(dǎo)。甚至可能會起到誤導(dǎo)(分類器無效惯驼,但是從這個(gè)指標(biāo)來看蹲嚣,該分類器有著很好的準(zhǔn)確度評價(jià)指標(biāo)得分)。因此在類別不均衡分類任務(wù)中祟牲,需要使用更有說服力的評價(jià)指標(biāo)來對分類器進(jìn)行評價(jià)隙畜。例如:
? ? 1、混淆矩陣(Confusion Matrix)
? ? 2说贝、召回率(Recall)
? ? 3议惰、F1得分(F1 Score)
? ? 4、Kappa
? ? 5乡恕、ROC
3言询、對數(shù)據(jù)集進(jìn)行采樣?
????可以使用一些策略該減輕數(shù)據(jù)的不平衡程度。該策略便是采樣(sampling)傲宜,主要有兩種采樣方法來降低數(shù)據(jù)的不平衡性运杭。
? ?1、對小類的數(shù)據(jù)樣本進(jìn)行采樣來增加小類的數(shù)據(jù)樣本個(gè)數(shù)函卒,即過采樣(over-sampling 辆憔,采樣的個(gè)數(shù)大于該類樣本的個(gè)數(shù))。
? ?2报嵌、對大類的數(shù)據(jù)樣本進(jìn)行采樣來減少該類數(shù)據(jù)樣本的個(gè)數(shù)虱咧,即欠采樣(under-sampling,采樣的次數(shù)少于該類樣本的個(gè)素)锚国。
4腕巡、嘗試產(chǎn)生人工數(shù)據(jù)樣本?
????一種簡單的人工樣本數(shù)據(jù)產(chǎn)生的方法便是,對該類下的所有樣本每個(gè)屬性特征的取值空間中隨機(jī)選取一個(gè)組成新的樣本跷叉,即屬性值隨機(jī)采樣逸雹。你可以使用基于經(jīng)驗(yàn)對屬性值進(jìn)行隨機(jī)采樣而構(gòu)造新的人工樣本,或者使用類似樸素貝葉斯方法假設(shè)各屬性之間互相獨(dú)立進(jìn)行采樣云挟,這樣便可得到更多的數(shù)據(jù)梆砸,但是無法保證屬性之前的線性關(guān)系(如果本身是存在的)。?
5园欣、嘗試對模型進(jìn)行懲罰?
????你可以使用相同的分類算法帖世,但是使用一個(gè)不同的角度,比如你的分類任務(wù)是識別那些小類,那么可以對分類器的小類樣本數(shù)據(jù)增加權(quán)值日矫,降低大類樣本的權(quán)值(這種方法其實(shí)是產(chǎn)生了新的數(shù)據(jù)分布赂弓,即產(chǎn)生了新的數(shù)據(jù)集),從而使得分類器將重點(diǎn)集中在小類樣本身上哪轿。一個(gè)具體做法就是盈魁,在訓(xùn)練分類器時(shí),若分類器將小類樣本分錯(cuò)時(shí)額外增加分類器一個(gè)小類樣本分錯(cuò)代價(jià)窃诉,這個(gè)額外的代價(jià)可以使得分類器更加“關(guān)心”小類樣本杨耙。