遼寧工業(yè)大學(xué)電子與信息工程學(xué)院 楊雨含 安國家
在非平衡數(shù)據(jù)的問題上,我們實(shí)驗(yàn)發(fā)現(xiàn)隨機(jī)森林無法很好的解決這一問題。本文采用了SMOTE算法,能夠有效的減少和降低數(shù)據(jù)集的非平衡性。在面對醫(yī)療數(shù)據(jù)高度特征冗余的特點(diǎn)上,該方案使用了基于隨機(jī)森林和序聯(lián)合搜索的Wrapper式特征選擇算法。在構(gòu)造隨機(jī)樹時(shí),該方案使用了Spark實(shí)現(xiàn)隨機(jī)樹的并行構(gòu)建,提高了運(yùn)行速率。通過對隨機(jī)森林優(yōu)化后的模型與隨機(jī)森林、K最近鄰、神經(jīng)網(wǎng)絡(luò)和向量機(jī)等模型進(jìn)行對比,實(shí)驗(yàn)結(jié)果表明,隨機(jī)森林優(yōu)化算法的精度達(dá)到81.13%,優(yōu)于其他的4種分類模型。
隨機(jī)森林是一種先進(jìn)的機(jī)器學(xué)習(xí)模型,近些年得到快速發(fā)展,并廣泛應(yīng)用在醫(yī)療、經(jīng)濟(jì)學(xué)、生態(tài)學(xué)等領(lǐng)域。但是在實(shí)際上,隨機(jī)森林算法存在數(shù)據(jù)分類不足等問題。有許多的學(xué)者在隨機(jī)森林算法上做了深入的研究,如俞孫澤在對隨機(jī)森林算法優(yōu)化改進(jìn)的分析一文中提出了使用粗糙集的方法對隨機(jī)森林特征選擇上進(jìn)行優(yōu)化。Vakharia等先用ReliefF算法計(jì)算特征的權(quán)重,刪除低于權(quán)值的特征后再進(jìn)行隨機(jī)森林訓(xùn)練,有效地提高了診斷的準(zhǔn)確率。龐泰吾等人用連續(xù)特征離散化的方法來改進(jìn)隨機(jī)森林的性能。
為了更好的對糖尿病數(shù)據(jù)集進(jìn)行預(yù)測分析,本文提出了性能更加突出的隨機(jī)森林優(yōu)化算法并結(jié)合Spark并行計(jì)算,可以在提高預(yù)測準(zhǔn)確率的基礎(chǔ)上大大提升算法的效率。
決策樹被廣泛認(rèn)為可能是基于機(jī)器深度學(xué)習(xí)的一個分類器。決策樹的特征學(xué)習(xí)一般過程包括:決策數(shù)特征選擇、決策樹的生成和決策樹的修剪枝。特征選擇主要含義是泛指從現(xiàn)有訓(xùn)練信息數(shù)據(jù)中進(jìn)行篩選分析出來的具有訓(xùn)練相應(yīng)的信息分類分析功能的信息特點(diǎn),它的基本特征選擇分析方法主要分為三種,ID3的信息增益、C4.5的信息增益比、CART的基尼系數(shù)。
(1)隨機(jī)選擇樣本:方法假設(shè)一個原始數(shù)據(jù)集中有N個樣本,從原始數(shù)據(jù)集中選取N個樣本,將一個個原始樣本隨機(jī)地依次放回,即bootstrap取樣,這些元素是有可能被重復(fù)抽到的。
(2)建立決策樹:輸入特征數(shù)目m,用來確定一棵決策樹上一個節(jié)點(diǎn)的決策結(jié)果。
(3)隨機(jī)選擇特征:對于每一個節(jié)點(diǎn),隨機(jī)選擇m個特征,M表示特征數(shù)目(m< (4)隨機(jī)森林投票:每棵決策樹對測試集中的每個數(shù)據(jù)進(jìn)行分類,統(tǒng)計(jì)k個分類結(jié)果,得票最多的類別是樣本的最后一個類別。 本文數(shù)據(jù)集初稿來自美國國家級糖尿病與消化與腎臟疾病研究所。這里的所有患者均為皮馬印第安人血統(tǒng)至少21歲的女性。共769個樣本,其中268例被確診為糖尿病陽性病例,500例為糖尿病檢查為陰性。該臨床測試結(jié)果中的特征變量為懷孕次數(shù),口服葡萄糖耐量測試中2h的血漿葡萄糖濃度,舒張壓,三頭肌皮膚褶皺厚度,2h血清胰島素,體重指數(shù),糖尿病譜系功能,年齡,同時(shí)還提取一個類別變數(shù)是否會患有糖尿病(Outcome,0代表不是,1代表是),如表1所示。 表1 皮馬印第安人糖尿病診斷信息 (1)數(shù)據(jù)錯誤值缺失值處理 對于異常值的處理,我們采用的方法是剔除異常點(diǎn)。而對于缺失值的處理,我們使用的是Python中的缺失值的替換的原則,用平均值來替代缺失的值。這樣我們就能夠得到一組新的數(shù)據(jù)包含764個樣本點(diǎn),其中標(biāo)簽為-1的樣本點(diǎn)數(shù)為264個,標(biāo)簽值為+1的樣本點(diǎn)數(shù)為500個。 (2)SMOTE處理非平衡數(shù)據(jù) SMOTE采用了過采樣技術(shù).它采取了一種基于隨機(jī)過采樣的技術(shù)改進(jìn)解決方案,因?yàn)殡S機(jī)過采樣,采用了簡單的隨機(jī)樣本復(fù)制策略,只需要增加少量樣本。這樣就會產(chǎn)生過擬合,SMOTE算法的基礎(chǔ)設(shè)計(jì)思想就是對少量樣本進(jìn)行分析,然后再將少量的樣本通過人工合成新的樣本添加到相應(yīng)的數(shù)據(jù)集中。 (3)數(shù)據(jù)標(biāo)準(zhǔn)化 數(shù)據(jù)標(biāo)準(zhǔn)化主要是指對數(shù)據(jù)進(jìn)行伸縮,使其處于一個小的指定區(qū)間內(nèi)。它常被廣泛應(yīng)用于對某些指標(biāo)進(jìn)行處理后所做出的比較和評價(jià),去除對數(shù)據(jù)的單位限制,將這些數(shù)據(jù)以一個無量綱的純值的方式轉(zhuǎn)化為純值,便于對不同單位或一個數(shù)量級的指標(biāo)之間進(jìn)行相應(yīng)的比較和加權(quán)。 (4)Spark并行計(jì)算 Spark的核心為RDD??梢哉f我們認(rèn)為它本身就是一組簡單的只讀的分區(qū)記錄,其中一個RDD包含了多個集群,每個分區(qū)都會存儲一部分的數(shù)據(jù)并保存到整個集群的不同節(jié)點(diǎn)上,不同節(jié)點(diǎn)間進(jìn)行各自的運(yùn)算邏輯。整個Spark都圍繞RDD進(jìn)行展開。RDD創(chuàng)建方式的有兩種,第一種是由外部數(shù)據(jù)存儲文件系統(tǒng)的數(shù)據(jù)集創(chuàng)建的。第二種是計(jì)算程序中生成的數(shù)據(jù)集。 該算法主要應(yīng)用于特征選擇。遞歸特征消除法是利用機(jī)器學(xué)習(xí)模型對其進(jìn)行多輪訓(xùn)練。每一輪訓(xùn)練完成后,剔除權(quán)重系數(shù)對應(yīng)的幾個特征,基于新的特征集再次進(jìn)行下一輪訓(xùn)練。也就是說,通過遞歸的方式選出使得某評價(jià)指標(biāo)達(dá)到最高的一組特征子集,因此Wrapper特征選擇法的準(zhǔn)確率最高,同時(shí)時(shí)間復(fù)雜度也很高。 隨機(jī)森林算法因其多棵決策樹共同投票決定結(jié)果的行為,能夠很好地保證結(jié)果準(zhǔn)確率,但正是由于這個特性導(dǎo)致整個算法在大數(shù)據(jù)集上耗時(shí)過長的問題比較嚴(yán)重。改進(jìn)后的隨機(jī)森林算法采用了遞歸式思想,也就是每棵決策樹的生成都要經(jīng)過多次創(chuàng)建,這也使得算法模型的時(shí)間復(fù)雜度大大增加?,F(xiàn)在Spark已經(jīng)成為分布式領(lǐng)域中最為流行的算法框架。利用Spark MLLib實(shí)現(xiàn)隨機(jī)森林模型構(gòu)建和并行化,可以大大提高運(yùn)行效率。 為了比較不同分類模型的準(zhǔn)確率,分別采用了隨機(jī)森林、K最近鄰、向量機(jī)、神經(jīng)網(wǎng)絡(luò)和本文的隨機(jī)森林優(yōu)化模型進(jìn)行比較,如圖1所示。 圖1 ROC曲線圖 通過ROC曲線圖和計(jì)算的AUC值,我們可以得到隨機(jī)森林優(yōu)化算法所建立的模型比其他分類算法建立的模型分類性能最優(yōu)。 總結(jié):針對醫(yī)學(xué)大量數(shù)據(jù)的高維特征空間、高特征冗余、高相關(guān)性、樣本類別不平衡等特點(diǎn),提出了一種有效的自適應(yīng)改進(jìn)隨機(jī)森林算法。通過本文提出的隨機(jī)森林優(yōu)化算法,可以對糖尿病進(jìn)行有效的預(yù)測。通過Spark和隨機(jī)森林優(yōu)化的方法研究了隨機(jī)森林算法如何更好的對糖尿病數(shù)據(jù)集進(jìn)行預(yù)測。并對隨機(jī)森林優(yōu)化后的模型與隨機(jī)森林、K最近鄰、神經(jīng)網(wǎng)絡(luò)和向量機(jī)等模型進(jìn)行對比,結(jié)果表明隨機(jī)森林優(yōu)化算法的精度達(dá)到81.13%,高于K最近鄰、隨機(jī)森林、向量機(jī)、神經(jīng)網(wǎng)絡(luò)的80.11%、79.84%、77.89%、77.53%的精確度。2 數(shù)據(jù)來源和數(shù)據(jù)處理
2.1 數(shù)據(jù)來源
2.2 數(shù)據(jù)處理
3 實(shí)現(xiàn)與結(jié)果
3.1 Wrapper特征選擇(RFE)
3.2 隨機(jī)森林算法并行化設(shè)計(jì)
3.3 實(shí)驗(yàn)結(jié)果分析