關(guān)紅鈞, 馬爾麗
(1. 沈陽(yáng)大學(xué) 師范學(xué)院, 遼寧 沈陽(yáng) 110044;2. 沈陽(yáng)師范大學(xué) 數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院, 遼寧 沈陽(yáng) 110034)
Ⅱ型糖尿病是非傳染性代謝性疾病,九成以上病人在35~40歲之間發(fā)病,糖尿病的特點(diǎn)是遺傳易感性,在一些環(huán)境條件下可以觸發(fā)其發(fā)病.隨著互聯(lián)網(wǎng)的迅猛發(fā)展和人們生活方式的改變以及人口老齡化,Ⅱ型糖尿病的發(fā)病率逐年提高,特別是發(fā)展中國(guó)家增加速度更快,且具有流行勢(shì)態(tài).在全球范圍內(nèi),糖尿病是繼心血管病和腫瘤之后,對(duì)人們健康和生命造成危害的重大非傳染性疾病.因此,預(yù)防Ⅱ型糖尿病的發(fā)生發(fā)展,控制糖尿病患病人數(shù)具有重要意義.到目前為止,國(guó)內(nèi)外有一些文獻(xiàn)研究疾病建模問(wèn)題[1-6],決策樹(shù)建模方法備受關(guān)注[7-8].本文利用數(shù)據(jù)挖掘C4.5和CART算法構(gòu)建簡(jiǎn)單的決策樹(shù)模型,建立Ⅱ型糖尿病診斷模型,以此挖掘糖尿病的患病因素,為糖尿病的預(yù)防和臨床診斷工作提供理論依據(jù).
本文數(shù)據(jù)資料來(lái)源于河北省秦皇島市某醫(yī)院糖尿病患者病例.數(shù)據(jù)包括:性別、年齡、煙齡、身高、體重、收縮壓、舒張壓、甘油三酯、總膽固醇、低密度脂蛋白、糖尿病家族史、高血壓家族史、心腦血管病史、冠心病史、空腹血糖、家族史、既往史和高血壓史.
Quinlan開(kāi)發(fā)的C4.5算法是機(jī)器學(xué)習(xí)算法中的一種代表決策樹(shù)算法,是升級(jí)版的ID3算法.分類決策樹(shù)算法是在大量的樣本集合中進(jìn)行訓(xùn)練,要求每個(gè)拆分點(diǎn)僅有兩個(gè)支系構(gòu)成,從而能夠避免屬性選擇的不平等問(wèn)題.C4.5算法擁有著ID3算法的優(yōu)點(diǎn),并對(duì)ID3 算法進(jìn)行了改進(jìn):使用信息增益率來(lái)選擇屬性,解決ID3算法中用信息增益來(lái)選擇屬性時(shí)偏向樣本數(shù)目多的屬性的缺點(diǎn);在構(gòu)成樹(shù)的過(guò)程中進(jìn)行剪枝,并非在建成之后剪枝,快速地完成對(duì)其連續(xù)屬性的離散化處理和對(duì)樣本內(nèi)部缺失數(shù)據(jù)的處理.
CART決策樹(shù)算法是在1984年由Breiman提出的.如果當(dāng)前目標(biāo)變量是分類變量時(shí),則是分類樹(shù);如果目標(biāo)變量是定量變量時(shí),則為回歸樹(shù).它以迭代的方式,從樹(shù)根開(kāi)始反復(fù)建立二叉樹(shù)[2].考慮一個(gè)具有兩類因變量的兩個(gè)特征變量的數(shù)據(jù).CART算法是每次選擇一個(gè)特征變量將區(qū)域分成為兩個(gè)半平面,經(jīng)過(guò)持續(xù)不斷地劃分之后,特征區(qū)間被分成了矩形區(qū)域.CART決策樹(shù)使用基尼指數(shù)來(lái)劃分屬性.
決策樹(shù)模型的CART算法由JMP實(shí)現(xiàn),C4.5由R3.4.2實(shí)現(xiàn).
通過(guò)無(wú)放回抽樣方法,在這組樣本中抽取1/4構(gòu)成497例測(cè)試樣本, 抽取3/4構(gòu)成1425例訓(xùn)練樣本.分別用兩種算法建立模型,模型共有17個(gè)變量:Sex、Age、BMI、SBP、DBP、TG、CHOL、LDL、GLU、FMH、PH、SL、HH、CHDH、CCDH和FHH.決策樹(shù)的根節(jié)點(diǎn)樣本總數(shù)為1425,即訓(xùn)練樣本總體.決策樹(shù)挖掘深度為4,最后進(jìn)入C4.5模型的是3個(gè)變量:GLU、FMH和CCDH,葉節(jié)點(diǎn)個(gè)數(shù)為2,進(jìn)入CART模型的變量有8個(gè):GLU、FMH、CCDH、FH、SL、SEX、DBP和Age.
(1) C4.5決策樹(shù)模型
C4.5模型如圖1所示:C4.5決策樹(shù)的左支表示糖尿病患者,其余表示非糖尿病患者.如果GLU(空腹血糖)指標(biāo)<6.1,則可以診斷為沒(méi)有患該病;如果GLU>6.1,并且FMH=false(無(wú)糖尿病家族史),即可診斷為沒(méi)有患病;如果有糖尿病家族史,需要觀測(cè)CCDH(心腦血管家族史),如果CCDH=FALSE(沒(méi)有心腦血管家族史),則沒(méi)有患病;否則即為患病.
(2) CART模型
圖1 C4.5決策樹(shù)模型
Fig.1 Decision tree model of C4.5
CART模型如圖2所示:C4.5決策樹(shù)的左支表示糖尿病患者,其余表示非糖尿病患者.如果GLU(空腹血糖)指標(biāo)<6.09,則可以診斷為沒(méi)有患該病;如果GLU>6.09,并且FMH=false(無(wú)糖尿病家族史),即可診斷為沒(méi)有患病;如果有糖尿病家族史,需要觀測(cè)CCDH(心腦血管家族史),如果CCDH=FALSE(沒(méi)有心腦血管家族史),則沒(méi)有患病;否則即為患病.如果PH(沒(méi)有冠心病病史),則沒(méi)有患病;否則即為患病.
圖2 C4.5決策樹(shù)模型Fig.2 Decision tree model of C4.5
(1) 方法比較
對(duì)糖尿病數(shù)據(jù)執(zhí)行JMP決策樹(shù)圖,如表1所示,此時(shí)提示空腹血糖(GLU)變量應(yīng)作為拆分樹(shù)的首要節(jié)點(diǎn).在對(duì)于D中元組分類中,需要期望信息如下式所示:
Info(D)又稱為熵.
假定劃分D中元組是按照屬性A,且將D劃分為v個(gè)不同的類也是按照屬性A.劃分后,為了使分類準(zhǔn)確,下面的式子度量來(lái)完成需要的信息:
原來(lái)的信息需求就是僅基于類比例,新信息需求就是對(duì)A劃分之后得到的值.用原來(lái)的信息需求與新需求之間的差來(lái)定義信息增益,即
Gain(A)=Info(D)-InfoA(D),
其中,G2是對(duì)數(shù)似然比統(tǒng)計(jì)量,它是對(duì)數(shù)熵的兩倍,拆分節(jié)點(diǎn)是使信息增益最大,如圖3所示.
表1 候選項(xiàng)拆分的重要性結(jié)果Table 1 Results of importance of candidate item splitting
圖3 擬合信息詳情Fig.3 Fitting information details
圖3中dm是指糖尿病,T表示患病,F表示沒(méi)有患病.擬合詳細(xì)信息中列出了基本的描述樹(shù)效果的統(tǒng)計(jì)量,定義欄給出了相應(yīng)統(tǒng)計(jì)量計(jì)算公式.含混矩陣下分別對(duì)訓(xùn)練樣本和驗(yàn)證樣本的預(yù)測(cè)效果和驗(yàn)證樣本的預(yù)測(cè)情況作了統(tǒng)計(jì),可以看出預(yù)測(cè)結(jié)果偏向于樣本多的類別,這也是決策樹(shù)設(shè)計(jì)中存在的問(wèn)題.
(2) 結(jié)果比較
利用已建立的模型,預(yù)測(cè)測(cè)試樣本中的診斷結(jié)果,進(jìn)而對(duì)該模型進(jìn)行評(píng)價(jià).
預(yù)測(cè)結(jié)果顯示,結(jié)果如表2所示:CART模型優(yōu)于C4.5模型,但C4.5方法更為準(zhǔn)確.
表2 CART算法和C4.5算法的預(yù)測(cè)結(jié)果Table 2 Predictions of CART and C4.5 algorithm
本文利用決策樹(shù)算法建立了糖尿病模型,簡(jiǎn)單明了,解讀性強(qiáng),具有一定的臨床參考價(jià)值.從模型中可以看出空腹血糖、糖尿病家族史、心腦血管既往病史等是Ⅱ型糖尿病發(fā)病的重要因素.此外,模型評(píng)價(jià)說(shuō)明利用CART模型挖掘臨床檢驗(yàn)資料有一定價(jià)值,直觀易理解.但由于數(shù)據(jù)和地域的影響,后續(xù)工作仍需要大量的數(shù)據(jù)和調(diào)查資料,合理建立模型,客觀評(píng)價(jià)模型.