汪力純,劉水生
(1.南京工程學(xué)院信息與通信工程學(xué)院,江蘇 南京 211167 2.江蘇省煙草專(zhuān)賣(mài)局信息中心,江蘇 南京 210018)
隨著信息全球化以及數(shù)字信息急速地增長(zhǎng),數(shù)據(jù)挖掘領(lǐng)域[1]受到了人們的廣泛關(guān)注。其中,該領(lǐng)域的分類(lèi)算法是研究的重點(diǎn),分類(lèi)主要是對(duì)獲取到的數(shù)據(jù)運(yùn)用一定的算法規(guī)則預(yù)測(cè)未知數(shù)據(jù)的對(duì)應(yīng)類(lèi)別,通常在分類(lèi)預(yù)測(cè)問(wèn)題上常用隨機(jī)森林算法來(lái)建立分類(lèi)模型,實(shí)現(xiàn)分類(lèi)結(jié)果的預(yù)測(cè)[2]。
隨機(jī)森林[3]主要是由多棵決策樹(shù)組合而成的一種集成分類(lèi)模型,與其他傳統(tǒng)的單分類(lèi)器相比有更高的分類(lèi)精度和更低的泛化誤差,對(duì)異常值有較好的容忍度。但是,在信用貸款[4]、電信欺詐[5]和醫(yī)療診斷[6]等實(shí)際生活中產(chǎn)生的數(shù)據(jù)一般都具備高維不平衡的特征,而原始隨機(jī)森林算法在針對(duì)高維不平衡數(shù)據(jù)[7]做分類(lèi)預(yù)測(cè)時(shí),構(gòu)建的分類(lèi)模型復(fù)雜,容易發(fā)生過(guò)擬合現(xiàn)象,導(dǎo)致預(yù)測(cè)結(jié)果偏向于多數(shù)類(lèi),分類(lèi)精度顯著降低,且算法訓(xùn)練時(shí)間變長(zhǎng),計(jì)算過(guò)程變得更為復(fù)雜。
當(dāng)下,業(yè)界關(guān)于對(duì)高維不平衡數(shù)據(jù)的分類(lèi)問(wèn)題,主要從數(shù)據(jù)的高維度及不平衡性等兩方面作為切入點(diǎn),憑借數(shù)據(jù)與算法兩個(gè)層面來(lái)盡可能改善模型的分類(lèi)精度。其中,在數(shù)據(jù)層面上,主要憑借過(guò)采樣或欠采樣等方式來(lái)處理不平衡數(shù)據(jù)。例如 Ha等[8]提出了基于遺傳算法的欠采樣GAUS算法來(lái)均衡數(shù)據(jù)集和楊毅等[9]提出了Borderline?SMOTE算法只對(duì)分布在邊界的少數(shù)類(lèi)進(jìn)行過(guò)采樣以達(dá)到數(shù)據(jù)的均衡。算法層面主要是對(duì)現(xiàn)有的算法進(jìn)行改進(jìn)優(yōu)化,使改進(jìn)后的算法可以更好地處理高維數(shù)據(jù),即對(duì)高維數(shù)據(jù)進(jìn)行降維處理,主要包括特征選擇和特征提取兩種。例如Guo等[10]提出的特征選擇與 Adaboost相結(jié)合的集成學(xué)習(xí)算法,通過(guò)篩選出重要特征組成新的特征子集,以此達(dá)到降維的目的。因此,針對(duì)高維不平衡數(shù)據(jù)的分類(lèi)問(wèn)題,結(jié)合數(shù)據(jù)和算法兩個(gè)層面對(duì)原始隨機(jī)森林進(jìn)行優(yōu)化與改進(jìn),提出了改進(jìn)的隨機(jī)森林算法HF_RF。首先通過(guò)SMOTE算法和隨機(jī)欠采樣相結(jié)合的方式對(duì)高維不平衡數(shù)據(jù)集進(jìn)行預(yù)處理,同時(shí)引入聚類(lèi)算法對(duì)SMOTE算法進(jìn)行改進(jìn),提高對(duì)負(fù)類(lèi)樣本的處理性能;然后通過(guò)Relief F算法對(duì)平衡后的高維數(shù)據(jù)進(jìn)行特征加權(quán),遞歸地剔除不相關(guān)和冗余特征,篩選出有效的維度較低的子集以提高分類(lèi)精度和效率;最后采用加權(quán)投票原則進(jìn)一步提高算法的分類(lèi)性能。
根據(jù)相關(guān)研究文獻(xiàn)可以看出,隨機(jī)森林算法具備很多其他機(jī)器學(xué)習(xí)算法沒(méi)有的優(yōu)點(diǎn),它能處理大規(guī)模數(shù)據(jù),預(yù)測(cè)精度不受數(shù)據(jù)丟失的影響,輸入特征可以是離散數(shù)據(jù),也可以是連續(xù)數(shù)據(jù)。算法的精度高于單一的決策樹(shù)分類(lèi)算法,一定程度上避免了過(guò)擬合問(wèn)題,同時(shí)能夠較好地處理噪聲和異常值。但是隨機(jī)森林仍然存在著許多不足之處:一方面,在處理有較多特征冗余和不平衡的數(shù)據(jù)集時(shí),算法會(huì)將少數(shù)類(lèi)樣本錯(cuò)分為多數(shù)類(lèi),此時(shí)選用不恰當(dāng)?shù)脑u(píng)價(jià)標(biāo)準(zhǔn)就會(huì)導(dǎo)致假高分類(lèi)精度的情況,同時(shí)會(huì)降低單棵決策樹(shù)的分類(lèi)精度,導(dǎo)致算法整體性能下降;另一方面,預(yù)測(cè)投票階段為每棵決策樹(shù)都賦予相同的權(quán)重,導(dǎo)致分類(lèi)性能差的決策樹(shù)影響最終整體的分類(lèi)結(jié)果。
近年來(lái)研究人員針對(duì)原有的隨機(jī)森林算法存在的缺點(diǎn)和在實(shí)際應(yīng)用中的不足進(jìn)行了相關(guān)改進(jìn)。Zhu等[11]提出一種基于隨機(jī)森林的類(lèi)權(quán)重投票算法(CWsRF),該算法為每個(gè)類(lèi)賦予單個(gè)權(quán)重,以充分區(qū)分少數(shù)類(lèi)和多數(shù)類(lèi),但是會(huì)導(dǎo)致數(shù)據(jù)過(guò)度冗余。Mashayekhi等[12]提出一種基于爬山策略的貪婪方法,該方法選擇一組精度高、相似度低的決策樹(shù)來(lái)改進(jìn)隨機(jī)森林算法,實(shí)驗(yàn)證明改進(jìn)算法的分類(lèi)精度得到大幅提高,但在處理高維不平衡數(shù)據(jù)方面依然存在缺陷。Gregorutti等[13]提出一種遞歸特征消除(RFE)算法,利用隨機(jī)森林的置換重要性測(cè)量算法計(jì)算決策樹(shù)之間的相關(guān)性對(duì)特征置換的影響,計(jì)算特征權(quán)重,遞歸刪除權(quán)重低的特征。胡瑋[14]針對(duì)隨機(jī)森林建立分類(lèi)模型時(shí)間較長(zhǎng)的缺點(diǎn),在改進(jìn)的領(lǐng)域粗糙集屬性約簡(jiǎn)算法的基礎(chǔ)上,對(duì)隨機(jī)森林算法進(jìn)行了改進(jìn),該方法有效減輕過(guò)擬合問(wèn)題,但會(huì)導(dǎo)致結(jié)果產(chǎn)生偏向性。黃青平等[15]利用模糊聚類(lèi)對(duì)隨機(jī)森林進(jìn)行改進(jìn),用相似度高的樣本訓(xùn)練隨機(jī)森林預(yù)測(cè)模型,提高了算法的預(yù)測(cè)精度。房曉南等[16]采用SMOTE算法計(jì)算出一批少數(shù)類(lèi)樣本,降低了數(shù)據(jù)的不平衡程度,然而該方法不能保證偽樣本的類(lèi)型正確性。
以上的改進(jìn)算法大多都是從算法或數(shù)據(jù)的單一層面出發(fā)來(lái)提高算法的分類(lèi)性能,不能同時(shí)兼顧數(shù)據(jù)高維和不平衡的特征。本文提出的基于混合采樣和特征選擇的改進(jìn)隨機(jī)森林算法主要結(jié)合數(shù)據(jù)和算法兩個(gè)層面對(duì)原始隨機(jī)森林算法進(jìn)行優(yōu)化改進(jìn),使改進(jìn)后的算法可以更好地處理生活中最常出現(xiàn)的高維不平衡數(shù)據(jù)。雖然改進(jìn)后的算法提高了針對(duì)高維不平衡數(shù)據(jù)的分類(lèi)精度,但是因?yàn)楦倪M(jìn)算法的時(shí)間復(fù)雜度增加,使得算法的整體計(jì)算效率一定程度的降低,今后的研究方向?qū)?huì)針對(duì)目前存在的不足做出進(jìn)一步改進(jìn)。
隨機(jī)森林是一種集成學(xué)習(xí)算法[17],它是一個(gè)由多棵決策樹(shù)共同參與的集成分類(lèi)器。隨機(jī)森林中的每棵決策樹(shù)都是基于Bootstrap抽樣得到的,然后將多棵決策樹(shù)組合之后通過(guò)投票由得票多的類(lèi)別作為最終分類(lèi)結(jié)果。隨機(jī)森林的構(gòu)建過(guò)程如下:
假設(shè)原始訓(xùn)練數(shù)據(jù)集D中,n為樣本數(shù)量,M為特征總數(shù),所需構(gòu)建的決策樹(shù)數(shù)量為k。
(1)抽取訓(xùn)練子集。從原始訓(xùn)練集D中有放回地隨機(jī)選取n個(gè)樣本,并重復(fù)n次,其他的則構(gòu)成袋外數(shù)據(jù)集OOB。
(2)構(gòu)建決策樹(shù)。先在M個(gè)特征中隨機(jī)抽取m個(gè)組成特征子集(m<M),然后利用相關(guān)準(zhǔn)則選擇最佳分割點(diǎn),將其劃分為子節(jié)點(diǎn),同時(shí)將訓(xùn)練集劃分到相應(yīng)節(jié)點(diǎn)中,重復(fù)地逐層劃分,最終得到所有節(jié)點(diǎn)。
(3)隨機(jī)森林生成。循環(huán)執(zhí)行步驟(2),直至建立 k棵決策樹(shù),以構(gòu)成隨機(jī)森林{ti,i=1,2,…,k}。
(4)通過(guò)借助隨機(jī)森林中k棵決策樹(shù)來(lái)分類(lèi)預(yù)測(cè)測(cè)試集,最終得到 k 個(gè)預(yù)測(cè)結(jié)果 {t1(x),t2(x),…,tk(x)}。
(5)把各決策樹(shù)預(yù)測(cè)結(jié)果的眾數(shù)作為各樣本最終的預(yù)測(cè)結(jié)果。
然而需要指出的是,借助隨機(jī)森林算法來(lái)處理高維不平衡數(shù)據(jù)時(shí),主要具有以下不足:(1)在處理高維數(shù)據(jù)時(shí)稍顯冗余,且極易忽略一部分類(lèi)強(qiáng)相關(guān)特征,同時(shí)還會(huì)加大算法的時(shí)間復(fù)雜度;(2)在處理不平衡數(shù)據(jù)時(shí),分類(lèi)結(jié)果較偏向于多數(shù)類(lèi),使得算法分類(lèi)精度降低。因此,為了解決特征之間的冗余且數(shù)據(jù)分布不均衡問(wèn)題,提高算法的分類(lèi)精度,本文提出了基于混合采樣和特征選擇相結(jié)合的改進(jìn)隨機(jī)森林算法HF_RF。首先通過(guò)改進(jìn)的SMOTE算法和隨機(jī)欠采樣相結(jié)合的方式對(duì)高維不平衡數(shù)據(jù)集進(jìn)行預(yù)處理,達(dá)到均衡原始數(shù)據(jù)集的目的;然后通過(guò)Relief F算法對(duì)均衡后的高維數(shù)據(jù)進(jìn)行特征加權(quán)和維度約簡(jiǎn),篩選出有效的維度較低的子集訓(xùn)練決策樹(shù);最后采用加權(quán)投票原則進(jìn)一步提高算法的分類(lèi)性能。
SMOTE算法[18]主要是在少數(shù)類(lèi)樣本中隨機(jī)插入人造的正類(lèi)樣本使類(lèi)間分布平衡,提高分類(lèi)器在測(cè)試集上的分類(lèi)性能。SMOTE算法大致執(zhí)行過(guò)程如下:在處理正類(lèi)樣本X時(shí),確定最接近正類(lèi)樣本X的k個(gè)近鄰樣本,再?gòu)拇薻個(gè)近鄰樣本中隨機(jī)選擇m個(gè)樣本,然后針對(duì)這m個(gè)樣本中的每一個(gè)樣本Xi(i=1,2,…,m),按照式(2) 生成新的人造樣本點(diǎn)。
式中,rand(0,1)表示產(chǎn)生一個(gè)0到1的隨機(jī)數(shù)。
雖然SMOTE算法之前的采樣方法可以均衡數(shù)據(jù)集,但因?yàn)殡S機(jī)采樣缺乏原則,不能考慮到邊緣數(shù)據(jù)的分布狀態(tài),容易產(chǎn)生邊界模糊的問(wèn)題[19],導(dǎo)致采樣效果不理性。針對(duì)以上問(wèn)題,在此次研究中,引入了聚類(lèi)算法[20]來(lái)改進(jìn)SMOTE算法,大致實(shí)現(xiàn)流程如下:先借助聚類(lèi)算法對(duì)少數(shù)類(lèi)實(shí)施聚類(lèi)操作,以確定少數(shù)類(lèi)中各簇的分布狀態(tài),然后計(jì)算各個(gè)簇的簇心,在簇內(nèi)簇心與簇內(nèi)樣本的連線上根據(jù)式(3)進(jìn)行插值增加人造樣本數(shù)據(jù),這樣能很好地解決邊界模糊問(wèn)題。
式中,Xnew為新插值的樣本,ci為簇心,X是以ci為簇心聚類(lèi)中的原始樣本。
基于改進(jìn)SMOTE算法的混合采樣具體步驟如下:
(1)依次計(jì)算多數(shù)類(lèi)與少數(shù)類(lèi)樣本的采樣數(shù)量,假設(shè)樣本集D中的多數(shù)與少數(shù)類(lèi)樣本數(shù)分別為M與N,混合比列系數(shù)為?,則混合采樣數(shù)量Pmix的計(jì)算公式為
其中欠采樣的數(shù)量PM=Pmix??,過(guò)采樣的數(shù)量 PN=Pmix?(1-?)。
(2)針對(duì)多數(shù)類(lèi)與少數(shù)類(lèi),分別采取欠采樣與過(guò)采樣的方式進(jìn)行處理,從而分別得到全新數(shù)據(jù)集Mnew與Nnew。
(3)合并以上新得到的兩數(shù)據(jù)集Mnew與Nnew,從而得到平衡數(shù)據(jù)集Dnew。
在已有的特征選擇[21]方法中,Relief算法[22]避免使用全局搜索方法,僅根據(jù)特征間的關(guān)聯(lián)性來(lái)賦予對(duì)應(yīng)的權(quán)重,根據(jù)權(quán)重的大小來(lái)排列對(duì)應(yīng)特征,并把權(quán)重值高于閾值的特征作為特征子集,為一種簡(jiǎn)單高效的Filter型特征選擇算法[23]。正因?yàn)槿绱?,使得Relief算法被廣泛應(yīng)用于海量高維數(shù)據(jù)中。但是Relief算法只能處理二分類(lèi)問(wèn)題,當(dāng)數(shù)據(jù)存在缺失以及噪聲時(shí),Relief不能對(duì)其進(jìn)行良好的處理,因此為解決上述問(wèn)題,學(xué)者們提出了ReliefF算法。該算法可以更好地處理多分類(lèi)問(wèn)題。
ReliefF算法的大致流程如下:先把訓(xùn)練集D中各樣本的所有特征權(quán)值設(shè)為0,再?gòu)挠?xùn)練集樣本D中隨機(jī)選取樣本R,依次選擇R的k個(gè)同類(lèi)與不同類(lèi)最近鄰樣本,得出對(duì)應(yīng)特征的權(quán)重值,最后重復(fù)m次后通過(guò)求取平均值的方法計(jì)算最終的權(quán)重值,求出各個(gè)特征與類(lèi)的相關(guān)性權(quán)重W后,將其按降序排列。Relief F算法的權(quán)重計(jì)算公式為
式中,W(Aj)表示特征Aj的權(quán)重,p(C)表示第C類(lèi)目標(biāo)的概率;diff(Aj,R,Hi) 為兩個(gè)樣本 R 與 Hi在特征Aj上的差,其計(jì)算公式為
式中,R[Aj]表示樣本 R在特征 Aj下的樣本值,Hi[Aj]表示樣本Hi在特征Aj下的樣本值。
diff(Aj,R,Mi(C)) 是兩個(gè)樣本R與Mi(C) 在特征Aj上的差,其中Mi(C)表示類(lèi)C中與樣本R的第i個(gè)最近鄰樣本,C表示與R所在類(lèi)不同的類(lèi);class(R)表示樣本R所在類(lèi);p(class(R))表示R所在類(lèi)的概率。
由于隨機(jī)森林算法在構(gòu)建決策樹(shù)時(shí)會(huì)隨機(jī)選擇部分特征值,最終導(dǎo)致過(guò)多冗余特征被選中,降低單棵決策樹(shù)的精度。因此本文通過(guò)Relief F算法剔除樣本集中的無(wú)用特征,按照權(quán)值大小將剩余特征均勻分到高、中、低3個(gè)區(qū)域中,最終通過(guò)獲取的3個(gè)特征區(qū)域來(lái)訓(xùn)練決策樹(shù),得到隨機(jī)森林分類(lèi)模型,達(dá)到提高分類(lèi)精度的目的。具體流程如圖1所示。
圖1 Relief F算法結(jié)合隨機(jī)森林流程圖
隨機(jī)森林算法在分類(lèi)問(wèn)題的預(yù)測(cè)方面采用的是眾數(shù)投票法[24],即統(tǒng)計(jì)每種分類(lèi)標(biāo)簽得到各棵決策樹(shù)的相應(yīng)票數(shù),將投票數(shù)最多的作為最終的預(yù)測(cè)結(jié)果。該投票法忽略了不同決策樹(shù)之間的強(qiáng)弱差異,無(wú)法增強(qiáng)隨機(jī)森林中分類(lèi)性能優(yōu)秀的決策樹(shù)對(duì)投票結(jié)果的影響,最終導(dǎo)致具備優(yōu)秀分類(lèi)性能的決策樹(shù)被分類(lèi)性能較差的決策樹(shù)所影響使算法的分類(lèi)效果降低。因此,為了進(jìn)一步提高隨機(jī)森林算法的分類(lèi)預(yù)測(cè)性能,本文在構(gòu)建決策樹(shù)時(shí),利用OOB袋外數(shù)據(jù)判斷決策樹(shù)分類(lèi)精度,為各棵決策樹(shù)賦予不同的權(quán)重,增強(qiáng)分類(lèi)性能優(yōu)秀的決策樹(shù)在投票時(shí)的比重,同時(shí)降低分類(lèi)性能較差的決策樹(shù)的比重,以此提高隨機(jī)森林分類(lèi)模型的分類(lèi)精度。
加權(quán)隨機(jī)森林的具體步驟如下:
(1)憑借Bagging算法,隨機(jī)抽樣均衡處理后的數(shù)據(jù)集N,以得到樣本子集。同時(shí)會(huì)存在未被抽取的OOB數(shù)據(jù),OOB中每個(gè)樣本沒(méi)有被抽到的概率約等于0.368,如式(7)所示。
當(dāng) N→∞時(shí),P≈0.368。
(2)設(shè)T為訓(xùn)練完成的K棵決策樹(shù)分類(lèi)器集合,通過(guò)OOB數(shù)據(jù)得到每棵決策樹(shù)對(duì)OOB數(shù)據(jù)的正確分類(lèi)的比率。
(3)計(jì)算各棵決策樹(shù)的權(quán)重值,計(jì)算公式為
(4)選出權(quán)重最高的作為最終分類(lèi)結(jié)果。
相較于原始隨機(jī)森林算法,HF_RF算法主要有效以下優(yōu)點(diǎn):第一,從數(shù)據(jù)層面出發(fā),針對(duì)原始隨機(jī)森林算法在處理不平衡數(shù)據(jù)集方面,分類(lèi)結(jié)果較偏向于多數(shù)類(lèi),算法分類(lèi)準(zhǔn)確率不高等問(wèn)題,憑借結(jié)合改進(jìn)的SMOTE算法和隨機(jī)欠采樣,來(lái)預(yù)處理數(shù)據(jù)集,以確保數(shù)據(jù)集達(dá)到均衡狀態(tài);第二,從算法層面出發(fā),針對(duì)高維數(shù)據(jù)集中存在特征冗余,原始隨機(jī)森林在處理時(shí)增加了算法的時(shí)間復(fù)雜度等問(wèn)題,引入了Relief F算法與隨機(jī)森林相結(jié)合,對(duì)高維數(shù)據(jù)進(jìn)行特征約減;第三,利用OOB數(shù)據(jù)對(duì)決策樹(shù)賦予不同的權(quán)重,進(jìn)一步提高改進(jìn)算法的分類(lèi)性能。HF_RF算法的流程如圖2所示。
圖2 HF_RF算法的流程圖
正確率通常為評(píng)估傳統(tǒng)分類(lèi)算法分類(lèi)性能最重要的指標(biāo)。但是,在高維不平衡數(shù)據(jù)集中,正確率不能準(zhǔn)確提供少數(shù)類(lèi)的精度,而高維不平衡數(shù)據(jù)的重點(diǎn)在于對(duì)少數(shù)類(lèi)的處理上,所以需要引入其他評(píng)價(jià)指標(biāo)來(lái)判斷算法的分類(lèi)性能。因此對(duì)于高維不平衡數(shù)據(jù)一般采用查全率 Recall、F?measure、AUC值等作為評(píng)價(jià)標(biāo)準(zhǔn),這些評(píng)價(jià)標(biāo)準(zhǔn)都是在混淆矩陣的基礎(chǔ)上建立的。混淆矩陣如表1所示。
表1 混淆矩陣
其中,TP、FN分別表示的含義是正確與錯(cuò)誤預(yù)測(cè)的正類(lèi),F(xiàn)P、TN分別表示錯(cuò)誤與正確預(yù)測(cè)的負(fù)類(lèi),進(jìn)而可得樣本總數(shù)N=TP+FP+FN+TN。
(1)Recall查全率,其含義為被正確預(yù)測(cè)的少數(shù)類(lèi)樣本占比。其中,正確預(yù)測(cè)少數(shù)類(lèi)的樣本的識(shí)別率與查全率之間成正比關(guān)系,因此Recall可以用來(lái)評(píng)價(jià)分類(lèi)算法對(duì)少數(shù)類(lèi)的性能,公式為
(2)F?measure為一個(gè)全新的評(píng)價(jià)指標(biāo),其綜合了查全率和查準(zhǔn)率兩種標(biāo)準(zhǔn),算法對(duì)于少數(shù)類(lèi)的分類(lèi)精度和F?measure的值同樣成正比關(guān)系,公式為
此次研究所涉及的數(shù)據(jù)集,來(lái)自于美國(guó)加州大學(xué)UCI所公開(kāi)的數(shù)據(jù)集。其中,糖尿病導(dǎo)致的視網(wǎng)膜病變數(shù)據(jù)集與甲狀腺疾病數(shù)據(jù)集為特征數(shù)少且分布較均衡的數(shù)據(jù)集;而衛(wèi)星與麝香區(qū)分?jǐn)?shù)據(jù)集為特征數(shù)多且分布不均衡的數(shù)據(jù)集;最后頁(yè)面塊分類(lèi)數(shù)據(jù)集為分布極不平衡的數(shù)據(jù)集。以上5個(gè)數(shù)據(jù)集可以充分展現(xiàn)HF_RF算法在處理高維不平衡數(shù)據(jù)上的分類(lèi)性能。具體參數(shù)如表2所示。
表2 數(shù)據(jù)集的具體參數(shù)
此次實(shí)驗(yàn)環(huán)境的硬件方面配置如下:Intel(R)Core(MT) i7?4600U CPU@2.10 GHz處理器、8 GB內(nèi)存、64位Windows 10企業(yè)版操作系統(tǒng)。而軟件環(huán)境如下:Java環(huán)境,WEKA開(kāi)放源碼包。
實(shí)驗(yàn)時(shí)隨機(jī)森林決策樹(shù)個(gè)數(shù)初始定為N=100,取樣次數(shù)m,少數(shù)類(lèi)個(gè)數(shù)為k;改進(jìn)SMOTE算法對(duì)于數(shù)據(jù)集中的少數(shù)類(lèi)過(guò)采樣時(shí),將聚類(lèi)算法的迭代次數(shù)最大值設(shè)置為50,隨機(jī)選取5個(gè)點(diǎn)作為簇心開(kāi)始聚類(lèi)和插值操作。
本次實(shí)驗(yàn)主要是為了驗(yàn)證本文提出的HF_RF改進(jìn)算法在處理高維不平衡數(shù)據(jù)時(shí)的分類(lèi)性能,因此利用目前常見(jiàn)的從數(shù)據(jù)層面出發(fā)的基于改進(jìn)混合采樣的隨機(jī)森林算法HSRF和從算法層面出發(fā)的基于改進(jìn)Relief F的隨機(jī)森林算法R_RF這兩種算法與本文提出的HF_RF算法分別對(duì)5個(gè)高維不平衡數(shù)據(jù)集進(jìn)行分類(lèi),對(duì)比各自的查全率、F?measure和AUC指標(biāo)以及相關(guān)參數(shù)來(lái)驗(yàn)證分類(lèi)性能。
實(shí)驗(yàn)對(duì)比了3種算法關(guān)于以上5個(gè)數(shù)據(jù)集的評(píng)價(jià)指標(biāo),最終實(shí)驗(yàn)結(jié)果如表3所示。
表3 3種算法在5個(gè)數(shù)據(jù)集上的評(píng)價(jià)指標(biāo) %
將5個(gè)數(shù)據(jù)集在3種算法中的各性能指標(biāo)繪制成折線圖,分別如圖3、圖4和圖5所示。
圖3 查全率
圖4 F?measure
圖5 AUC值
根據(jù)性能指標(biāo)折線圖可以看出HSRF算法和HF_RF算法在查全率、F?measure和AUC值都高于R_RF算法,由此看出僅僅降低數(shù)據(jù)集中的特征數(shù)不對(duì)數(shù)據(jù)集進(jìn)行均衡處理,分類(lèi)性能提升并不明顯。其中DB、PG、TD數(shù)據(jù)集中的特征數(shù)相對(duì)較少,從結(jié)果可以看出HSRF算法雖然在不平衡數(shù)據(jù)的處理上有所提高,但沒(méi)有HF_RF算法在處理不平衡數(shù)據(jù)集上的性能好,而對(duì)于SL、MUSK這類(lèi)特征數(shù)多的不平衡數(shù)據(jù)集,改進(jìn)算法達(dá)到了很好的分類(lèi)效果。
從圖3可以看出,隨著數(shù)據(jù)集不平衡程度的增加,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理的改進(jìn)算法的查全率也有一定程度的提高,因此查全率可以很好地反映算法對(duì)少數(shù)類(lèi)的分類(lèi)性能,HSRF算法與R_RF算法相比,通過(guò)混合采樣來(lái)達(dá)到數(shù)據(jù)均衡,一定程度提高了算法的分類(lèi)性能,而HF_RF算法對(duì)不平衡數(shù)據(jù)的整體分類(lèi)性能更高。從圖4可以看出,PG數(shù)據(jù)集的不平衡度最高,R_RF算法對(duì)于該數(shù)據(jù)集的分來(lái)效果較差,F(xiàn)?measure值為79.3%,在通過(guò)改進(jìn)算法HF_RF算法訓(xùn)練之后得到的分類(lèi)模型的F?measure值提高到了92.3%,提高了 13%。結(jié)合表 4可以看出,HSRF算法對(duì)于數(shù)據(jù)集中的特征數(shù)沒(méi)有改進(jìn)作用,不能達(dá)到特征約減的目的,只能一定程度地平衡數(shù)據(jù)集,而R_RF算法和HF_RF算法都能一定程度地刪除數(shù)據(jù)集中的冗余特征。
表4 3種算法特征數(shù)對(duì)比
從圖5的AUC值可以看出HF_RF算法在通過(guò)混合采樣和特征選擇對(duì)算法進(jìn)行多層改進(jìn)后,與其他兩種算法相比AUC值有明顯的提升,AUC曲線整體在其他算法之上,最高達(dá)到了95.6%。本文提出的HF_RF算法不僅可以很好地均衡數(shù)據(jù)集,還能進(jìn)一步削減冗余特征,提高模型的分類(lèi)性能。
綜上所述,相比于HSRF算法和R_RF算法,改進(jìn)的HF_RF算法不論是在特征約減,還是在數(shù)據(jù)均衡方面的總體分類(lèi)效果都有所提高,但是在算法的整體運(yùn)行時(shí)間上,3種算法的時(shí)間差異表現(xiàn)不明顯,下一步可以在算法中引入并行化策略作為后面的主要研究方向,有效地降低算法的時(shí)間復(fù)雜度。
在此次研究中,針對(duì)隨機(jī)森林算法在分類(lèi)預(yù)測(cè)特征維度高且不平衡的數(shù)據(jù)時(shí),所表現(xiàn)出的低性能問(wèn)題進(jìn)行了一定的改進(jìn),最終建立了HF_RF算法。首先針對(duì)原始隨機(jī)森林算法在處理不平衡數(shù)據(jù)集方面,存在分類(lèi)準(zhǔn)確率低的問(wèn)題,通過(guò)改進(jìn)的SMOTE算法與隨機(jī)欠采樣相結(jié)合的混合采樣策略對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理;然后針對(duì)高維數(shù)據(jù)集中存在特征冗余,原始隨機(jī)森林在處理時(shí)增加了算法的時(shí)間復(fù)雜度等問(wèn)題,引入了Relief F算法與隨機(jī)森林相結(jié)合,對(duì)高維數(shù)據(jù)進(jìn)行特征約減;最后利用OOB數(shù)據(jù)對(duì)決策樹(shù)賦予不同的權(quán)重,進(jìn)一步提高改進(jìn)算法的分類(lèi)性能。結(jié)果表明,改進(jìn)的隨機(jī)森林算法HF_RF在處理高維不平衡數(shù)據(jù)方面的分類(lèi)預(yù)測(cè)性能高于其他分類(lèi)算法。然而HF_RF算法也存在一些缺陷,雖然對(duì)高維數(shù)據(jù)進(jìn)行了特征約減一定程度上降低了時(shí)間復(fù)雜度,但是算法的整體運(yùn)行時(shí)間與其他算法相比沒(méi)有顯著優(yōu)勢(shì),所以下一步在不影響分類(lèi)性能的前提下引入并行化策略進(jìn)一步提高算法的運(yùn)行效率。