閆 慈 田翔華 阿拉依·阿汗 張偉文 曹明芹△
【提 要】 目的 以代謝綜合征為例,探討不平衡數(shù)據(jù)對分類算法的影響,并運用重采樣技術對數(shù)據(jù)進行平衡化處理,比較神經(jīng)網(wǎng)絡、決策樹的分類性能。方法 采用隨機過采樣、隨機欠采樣、混合采樣和人工合成數(shù)據(jù)四種重采樣技術,比較數(shù)據(jù)重采樣前后及四種數(shù)據(jù)重采樣間使用神經(jīng)網(wǎng)絡、決策樹分類的性能,以F-Measure,G-mean和AUC作為模型評價指標。結(jié)果 (1)分類算法性能隨不平衡數(shù)據(jù)集不平衡比例的加劇而降低;(2)四種重采樣技術中隨機過采樣后作用于BP神經(jīng)網(wǎng)絡、C4.5決策樹分類性能最大。結(jié)論 分類性能隨數(shù)據(jù)集中患病率的降低而下降。采用隨機過采樣提高了算法的分類性能。建議在應用分類算法對醫(yī)學不平衡數(shù)據(jù)分類前,采用隨機過采樣技術以提高分類性能。
不平衡數(shù)據(jù)分類問題已成為數(shù)據(jù)挖掘領域內(nèi)一個重要的研究課題。不平衡數(shù)據(jù)是指分類數(shù)據(jù)中某一類(多數(shù)類)的數(shù)量遠大于另一類(少數(shù)類)的數(shù)量[1],這種不平衡在醫(yī)療診斷中頗為常見,如惡性腫瘤。目前流行的分類算法(如決策樹、神經(jīng)網(wǎng)絡)都是基于類分布均衡的假設,以高總體準確度為目標[2]。為診斷惡性腫瘤,將99.9%的個體診斷為健康,便可達到99.9%的準確度,但是這種分類算法并無任何實際意義。醫(yī)學中患者的數(shù)量遠遠小于健康個體,在醫(yī)療診斷中病人誤診為健康與健康個體誤診為病人付出的代價是不同的,因此,準確的識別出病人更加重要。那么,如何增加患者的識別率,同時兼顧健康個體的準確度,是亟待解決的分類問題。
目前,解決不平衡數(shù)據(jù)的分類問題主要包括數(shù)據(jù)處理及算法設計兩方面。前者主要是對數(shù)據(jù)進行重新采樣以達到平衡,然后再應用傳統(tǒng)的分類算法對數(shù)據(jù)集分類[3];后者主要結(jié)合不平衡數(shù)據(jù)的特點,對傳統(tǒng)分類算法進行改進,使它更偏向于少數(shù)類,以提高不平衡數(shù)據(jù)集的整體分類性能[4]。
本文以代謝綜合征為切入點,通過計算機模擬不同比例的不平衡數(shù)據(jù)集,探討不同患病率疾病分類性能間的差異,并對原代謝綜合征不平衡數(shù)據(jù)集從數(shù)據(jù)處理角度進行重采樣處理,以神經(jīng)網(wǎng)絡、決策樹兩種分類算法為例,比較兩種分類算法智能甄別體檢中代謝綜合征患者的性能。
本研究共收集新疆某體檢中心2014-2016年63861份體檢數(shù)據(jù),其中男性32403例,女性31458例,年齡3~93(43.06±13.47)歲,代謝綜合征患者占4.34%,不平衡比例達22。共14個變量,其中13個生理、生化指標,1個分類指標。代謝綜合征的診斷嚴格參照中華醫(yī)學會糖尿病分會的標準[5]。數(shù)據(jù)集變量特征見表1。
表1 數(shù)據(jù)集變量特征
從數(shù)據(jù)處理角度解決類別不平衡問題中最重要的方法就是重采樣技術,其主要思想是通過合理地增加或者減少一些樣本達到平衡數(shù)據(jù)分布的目的,從而降低數(shù)據(jù)不平衡對分類算法帶來的不良影響[6]。過采樣、欠采樣和混合采樣是目前較為成熟的重采樣技術。過采樣通過對少數(shù)類樣本進行復制或人工合成一些新的樣本產(chǎn)生數(shù)據(jù)集的超集使數(shù)據(jù)集樣本量達到平衡,分為隨機過采樣和人工合成數(shù)據(jù),欠采樣則以一定的策略選取多數(shù)類樣本中的一個子集達到同樣的目的[7]。混合采樣則融合過采樣和欠采樣兩種技術。
(1)BP神經(jīng)網(wǎng)絡BP神經(jīng)網(wǎng)絡(back propagation neural network)是一種按誤差逆向傳播算法的多層前饋網(wǎng)絡,其學習規(guī)則使用最速下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡的權值和閾值,使網(wǎng)絡的誤差平方和最小[8]。其網(wǎng)絡拓撲結(jié)構包括輸入層、隱含層和輸出層[9],見圖1。
圖1 BP神經(jīng)網(wǎng)絡模型結(jié)構
本研究以所有生理、生化指標作輸入層,以是否患代謝綜合征為輸出層,設置單個隱含層。隱含層神經(jīng)元個數(shù)的選擇直接關系到神經(jīng)網(wǎng)絡的規(guī)模和精度。目前,隱含層神經(jīng)元個數(shù)的選取尚無理論指導。公式(1)可用于選擇最佳隱含層神經(jīng)元時的參考公式[10]:
(1)
N表示隱含層神經(jīng)元個數(shù),P表示輸入神經(jīng)元個數(shù),Q表示輸出層神經(jīng)元個數(shù)。經(jīng)過試驗,得最佳隱含層神經(jīng)元個數(shù)為8。
(2)C4.5決策樹決策樹從一個無次序、無規(guī)則的實例集中歸納出一組采用樹形結(jié)構表示的分類規(guī)則。本研究采用C4.5決策樹算法。該算法將定量變量采用離散化的取值空間策略,進行優(yōu)化二分,并采用信息增益率進行分類性能評估。離散化方法為:①尋找連續(xù)型變量的最小值和最大值,分別賦值為min和max;②設置區(qū)間[min,max]中N個等分段點Ai,其中,i=1,2,……,N;③分別計算[min,Ai]和[Ai+1,max](i=1,2,……,N)作為區(qū)間值時的Gain值,并進行比較;④選取Gain值最大的AK作為該連續(xù)型變量的斷點,將變量值設置為[min,Ak]和[Ak+1,max]兩個區(qū)間[11]。決策樹的剪枝策略從根節(jié)點開始遞歸對決策樹各節(jié)點進行檢查,若該節(jié)點的某一子樹所含集合的全局支持度小于最小全局支持度閾值,則直接剪掉該子樹;若該節(jié)點存在葉節(jié)點作為子樹,并且該節(jié)點所含集合對某一葉節(jié)點的類支持度大于最大類支持度閾值,則剪掉此節(jié)點直接指向該葉節(jié)點的其他子樹[12]。
不平衡數(shù)據(jù)更加關注對少數(shù)類樣本的識別,所以僅僅依靠準確率作為評價標準并無適用性。為了更有意義地衡量不平衡數(shù)據(jù)的分類,需要構建混淆矩陣來確定相應的評價標準[13]。二分類問題中,混淆矩陣記錄了每一類中正確和錯誤識別樣本的結(jié)果,如表2所示。
表2 二分類數(shù)據(jù)的混淆矩陣
不平衡數(shù)據(jù)分類性能的評價指標如下:
(1)F值(F-Measure)
(2)
在不平衡數(shù)據(jù)評價中,F-Measure是一個綜合性的評價標準,其公式如(2)所示,其中查全率(recall)表示被正確分類的樣本占總樣本的比例。查準率(precision)表示分類陽性在真正陽性中所占的比例。當查全率和查準率都比較大時,F-Measure才會相應的增大,故F-Measure可以正確的評價分類器對于每一類的分類性能。
(2)幾何均數(shù)(G-mean)
(3)
由公式(3)所示,只有當靈敏度和特異度都比較高的時候,G-mean才會相對較高[14]。因此,G-mean綜合考慮了少數(shù)類樣本的準確率和多數(shù)類樣本的準確率,體現(xiàn)了分類算法在多數(shù)樣本和少數(shù)樣本上的整體分類性能。
(3)ROC曲線下面積(area under receiver operating characteristic,AUC)
ROC曲線分別以TPrate和FPrate為橫縱坐標,曲線越靠近左上角表示分類器性能越好。在很多情況下直接比較不同模型的ROC曲線并不方便,因此使用ROC曲線的量化指標,即AUC的值作為分類算法的評價指標更為普遍[15]。
本研究以AUC為最重要的評價標準,描述指標的取值范圍均為[0,1],取值越大表示對不平衡數(shù)據(jù)集的分類性能越好。此外,為提高分類算法的可靠性,采用十折交叉驗證。
利用原代謝綜合征不平衡數(shù)據(jù)集,根據(jù)不同疾病的患病率,計算機模擬不同比例的不平衡數(shù)據(jù)集。BP神經(jīng)網(wǎng)絡分類不同比例的代謝綜合征數(shù)據(jù)集,結(jié)果見表3。隨著數(shù)據(jù)集不平衡比例的加劇,即患病率逐漸降低,BP神經(jīng)網(wǎng)絡的F-Measure不斷增大,但G-mean和AUC不斷降低。綜合考慮F-Measure、G-mean和AUC,認為BP神經(jīng)網(wǎng)絡的分類性能隨數(shù)據(jù)集不平衡比例的加劇而降低,C4.5決策樹也得出同樣結(jié)論。
表3 BP神經(jīng)網(wǎng)絡分類不同不平衡比例數(shù)據(jù)集的結(jié)果
BP神經(jīng)網(wǎng)絡分類四種重采樣后的數(shù)據(jù)集結(jié)果見表4。相較于原不平衡數(shù)據(jù)集,四種重采樣后的數(shù)據(jù)集經(jīng)BP神經(jīng)網(wǎng)絡分類后F-Measure均降低,表明平衡數(shù)據(jù)后降低了算法的分類性能;G-mean均有提升,隨機過采樣G-mean最大;除人工合成數(shù)據(jù)外,采用隨機過采樣、隨機欠采樣和混合采樣的AUC均有提升,隨機過采樣AUC最大。綜合考慮F-Measure、G-mean和AUC,隨機過采樣+BP神經(jīng)網(wǎng)絡的分類性能最佳。
表4 BP神經(jīng)網(wǎng)絡分類結(jié)果
運用四種重采樣技術后,C4.5決策樹分類體檢中的代謝綜合征患者結(jié)果見表5。相較于原不平衡數(shù)據(jù)集,隨機過采樣和混合采樣的F-Measure增大,表明這兩種數(shù)據(jù)平衡化方法提高了數(shù)據(jù)集的分類性能;G-mean與AUC均有提升,且隨機過采樣技術的G-mean和AUC均最大,人工合成數(shù)據(jù)均最小,表明采用四種數(shù)據(jù)平衡化方法均提高了分類性能,其中隨機過采樣技術分類性能最高,采用人工合成數(shù)據(jù)分類性能最小。綜合考慮上述三個指標,認為隨機過采樣+C4.5決策樹的分類性能最佳。
表5 C4.5決策樹分類結(jié)果
重采樣技術平衡數(shù)據(jù)集前后決策樹產(chǎn)生的樹狀圖大致相同,見圖2~3。從決策樹可看出,代謝綜合征的影響因素主要是:空腹血糖、高密度脂蛋白、BMI、舒張壓和年齡。但隨機過采樣平衡數(shù)據(jù)集后,產(chǎn)生的決策樹更接近診斷標準。此外,決策樹分類規(guī)則提示,如果體檢者FPG≤6.1,HDL-C≤0.99,BMI≤24.94,age≤61,那么不患代謝綜合征等。
通過計算機模擬二分類中不同比例的數(shù)據(jù)集,即模擬不同疾病的患病率,結(jié)果證實,隨著數(shù)據(jù)集不平衡比例的加劇,BP神經(jīng)網(wǎng)絡、C4.5決策樹的分類性能逐漸降低,即分類算法的性能隨患病率的降低而降低。這與相關報道[11]一致。
本研究中BP神經(jīng)網(wǎng)絡、C4.5決策樹分類體檢中的代謝綜合征患者,分類性能均大于0.9,均取得了較好的分類性能,這可能與樣本量的大小有關,該樣本由63861份14個變量的體檢數(shù)據(jù)組成。此外,從決策樹節(jié)點看,與目前大規(guī)模流行病學調(diào)查得出的代謝綜合征發(fā)病高危因素一致[16],這表明決策樹產(chǎn)生的樹狀結(jié)構具有實際意義,與醫(yī)學認識水平相同。且從決策樹的根節(jié)點到葉節(jié)點對應著一條合理的規(guī)則,并可根據(jù)規(guī)則對體檢人群進行代謝綜合征風險評估。
圖2 原始不平衡數(shù)據(jù)集決策樹產(chǎn)生的樹狀圖
圖3 隨機過采樣平衡數(shù)據(jù)集后決策樹產(chǎn)生的樹狀圖
分別采用隨機過采樣、隨機欠采樣、混合采樣和人工合成數(shù)據(jù)平衡原代謝綜合征不平衡數(shù)據(jù)集后,C4.5決策樹的分類性能(G-mean、AUC)較平衡數(shù)據(jù)集前均有明顯提高。而BP神經(jīng)網(wǎng)絡中,除人工合成數(shù)據(jù)外,采用隨機過采樣、隨機欠采樣和混合采樣的分類性能(G-mean、AUC)均提高。上述4種數(shù)據(jù)平衡化方法相比較,隨機過采樣技術更有助于提高分類算法的性能。平衡數(shù)據(jù)集后,兩種分類算法相比較,C4.5決策樹分類性能更優(yōu)。因此,綜合考慮表4、表5,認為隨機過采樣+C4.5決策樹可顯著提高體檢數(shù)據(jù)代謝綜合征分類性能。
此外,研究發(fā)現(xiàn)采用四種重采樣技術的F-Measure大多小于原始數(shù)據(jù)集,這是因為,雖然采用數(shù)據(jù)平衡化方法可以增加正確分類的患者數(shù)量(即TP增大,FN減小),但是,同時也增加了誤分類的健康個體的數(shù)量(即TN減小,FP增大)。也就是說,重采樣雖然可以提高患者的查全率,但是當兩類樣本數(shù)量相差較大時,誤分類的健康個體的數(shù)量有時會比正確分類的患者的數(shù)量還要大,故根據(jù)公式(2),數(shù)據(jù)平衡化方法中F-Measure值不會得到很大的提高,甚至降低[17]。
綜上所述,數(shù)據(jù)集不平衡比例越高,患病率越低,數(shù)據(jù)挖掘技術分類該疾病的性能越差。通過隨機過采樣、隨機欠采樣、混合采樣和人工合成數(shù)據(jù)四種方法改善數(shù)據(jù)集的不平衡性,證實數(shù)據(jù)集整體的分類性能將得到提升,且采用隨機過采樣后的分類性能最優(yōu)。因此,在采用分類算法對醫(yī)學不平衡數(shù)據(jù)進行分類前,可采用隨機過采樣技術對不平衡數(shù)據(jù)進行平衡化處理,從而提高分類算法的分類性能。