李娜,翁惠玉
隨著社會進(jìn)步和科學(xué)發(fā)展,人口老齡化及生活水平的提高,人們越來越關(guān)注自身的健康狀況。健康管理的概念最早起源于美國。1929年美國洛杉磯水利局成立了世界上第一個(gè)健康管理組織(Health Management Organization,HMO),該組織通過注重預(yù)防的全面健康管理的方式,有效降低會員疾病發(fā)病率,提高人們的健康水平。健康管理系統(tǒng)中積累大量的數(shù)據(jù)資料,如何從海量的數(shù)據(jù)中提取隱含在其中的事先未知的、潛在的、深層次、有價(jià)值的信息,輔助專家或群眾個(gè)體進(jìn)行診斷決策,是健康管理系統(tǒng)必須考慮的問題,而這正是數(shù)據(jù)挖掘的長處。
本文主要針對中老年慢性病的管理的需求,以糖尿病為例,采集居民的健康檔案信息指標(biāo),利用決策樹方法生成對當(dāng)前數(shù)據(jù)有效的模型,并對模型進(jìn)行分析,篩選高危人群,提高糖尿病的早期發(fā)現(xiàn)率,使人們不斷提高對健康的認(rèn)識程度,疾病要以預(yù)防為主,減少身體及經(jīng)濟(jì)上的負(fù)擔(dān)。
健康管理系統(tǒng)是對個(gè)人或人群的健康危險(xiǎn)因素進(jìn)行全面檢測、分析、評估以及預(yù)測和預(yù)防的全過程的系統(tǒng)。它一般由以下幾部分組成:基本信息管理(含基本項(xiàng)管理)、體檢項(xiàng)目管理(含健康評估、健康報(bào)告、健康指導(dǎo))、個(gè)人(企業(yè))健康檔案數(shù)據(jù)采集、信息查詢、綜合數(shù)據(jù)分析和系統(tǒng)管理。健康管理系統(tǒng)的總體結(jié)構(gòu)如圖1所示:
圖1 健康管理系統(tǒng)中數(shù)據(jù)挖掘的應(yīng)用
在這個(gè)系統(tǒng)中,輸入用戶(病人)的各項(xiàng)生理參數(shù),諸如身高,體重,心電,血壓,血氧,體溫等,這些參數(shù)將與用戶的個(gè)人信息,社區(qū)信息一起被存檔,作為個(gè)人的病史記錄。針對以上的記錄,數(shù)據(jù)挖掘可以應(yīng)用在以下兩個(gè)方面:一是用戶根據(jù)個(gè)人的生理參數(shù),尋求合適的保健方法或治療方法。另外一方面是相關(guān)科技工作者,社區(qū)醫(yī)療組織,計(jì)生人員主動到系統(tǒng)上去搜尋必要的信息,然后根據(jù)用戶的病癥,治療過程以及治療結(jié)果挖掘出更有效的治療方法等。比如社區(qū)醫(yī)務(wù)人員可以通過系統(tǒng)查看本轄區(qū)的慢性病表征情況,篩選出慢性病的高危人群,挖掘出引起慢性病的主要因素,提醒居民對健康情況引起注意。
ID3算法[1]是由Quinlan提出的一種基于信息增益的典型的自上而下決策樹歸納算法,主要特征是在一個(gè)結(jié)點(diǎn)上使用最大的信息增益量,作為啟發(fā)式來決定應(yīng)用選擇哪一個(gè)屬性來進(jìn)行樹的展開。
ID3算法的基本原理如下:
已知訓(xùn)練例子集E,設(shè)訓(xùn)練例子集E中含有p個(gè)正例和n個(gè)反例,則一個(gè)例子屬于正例集PE的概率為P/P+n,屬性于反例集NE的概率為n/P+n,一棵決策樹可以看作正、反例集的消息源,所需要的信息熵為:
設(shè)屬性A取V個(gè)不同的值,它們將E劃分為V個(gè)子集,假設(shè)Ei中含有Pi個(gè)正例和ni個(gè)反例,那么子集Ei所需要的期望信息是,I(pi,ni),并且以A為根的樹所需要的期望信息為各子集所需要的期望信息的加權(quán)平均值,即,以A為根的信息增益是:Gain(A)=I(p,n)-E(A)
ID3算法選擇Gain(A)最大的屬性A'作為根結(jié)點(diǎn),對A'的不同取值對應(yīng)的E的V個(gè)子集Ei遞歸調(diào)用上述過程生成的A'子結(jié)點(diǎn)B1,B2,…Bv。
健康管理系統(tǒng)的檔案數(shù)據(jù)記錄龐大,對應(yīng)的屬性值較多,ID3算法是基于所有屬性值都確定的情況下分類的,而實(shí)際應(yīng)用中經(jīng)常出現(xiàn)有些記錄的屬性值缺失或空白的情況,ID3算法就直接放棄數(shù)據(jù)庫中所有丟失數(shù)據(jù)的樣本,在建模數(shù)據(jù)挖掘時(shí)就不能對健康檔案數(shù)據(jù)進(jìn)行正確的分類或預(yù)測。同時(shí)ID3算法對健康管理進(jìn)行數(shù)據(jù)挖掘時(shí)確定樹根節(jié)點(diǎn)時(shí)選擇居民的年齡(有7種值)作為首選判斷的屬性根節(jié)點(diǎn),但實(shí)際中醫(yī)學(xué)專家卻認(rèn)為這個(gè)屬性在判斷糖尿病誘因時(shí)不是最重要的,ID3算法往往選擇取值較多的屬性作為測試屬性。健康管理系統(tǒng)進(jìn)行數(shù)據(jù)挖掘時(shí)ID3算法每選擇一個(gè)分裂節(jié)點(diǎn),算法都要經(jīng)過多次的對數(shù)運(yùn)算,影響了決策樹的生成效率。
2.2.1 改進(jìn)方案
針對以上ID3算法在健康管理系統(tǒng)應(yīng)用中存在的問題,提出以下幾方面的改進(jìn)方案:
1)對屬性值缺失或空白情況的處理,通過對訓(xùn)練集中其他完整的實(shí)例,進(jìn)行比較來選擇一個(gè)較優(yōu)的填充值,在構(gòu)造決策樹之前,對訓(xùn)練集中缺失或空白的屬性進(jìn)行填充。
2)對算法要經(jīng)過多次對數(shù)運(yùn)算,影響決策樹生成效率的處理,對信息增益公式的對數(shù)運(yùn)算進(jìn)行轉(zhuǎn)換,找到一種屬性選擇的新方法,使算法生成決策樹的時(shí)間大大減少,提高決策樹分類的效率,提出了簡化熵的計(jì)算方法。
3)ID3算法根據(jù)每個(gè)屬性信息熵的值來判斷數(shù)據(jù)集中的分裂屬性,信息熵反映每個(gè)屬性對整個(gè)數(shù)據(jù)集的不確定程度,ID3往往選擇取值較多的屬性,為克服這一缺點(diǎn),我們?yōu)槊總€(gè)屬性的信息熵引入一個(gè)權(quán)值,來平衡每個(gè)屬性的不確定程度,更符合實(shí)際的數(shù)據(jù)分布。但要保證決策樹生成效率,這里選擇對每個(gè)屬性的簡化熵引入一個(gè)權(quán)值,權(quán)值為每個(gè)屬性在數(shù)據(jù)集中的取值個(gè)數(shù),再用該權(quán)值乘以簡化熵,使信息熵的結(jié)果還依賴于屬性的取值個(gè)數(shù),乘積結(jié)果稱為加權(quán)簡化熵,再通過比較加權(quán)簡化熵的大小來選擇最優(yōu)的屬性作為決策樹的分裂節(jié)點(diǎn)構(gòu)造決策樹,這樣既克服了傾向?qū)傩赃x擇較多值的問題,又可以提高決策樹的構(gòu)建速度。
2.2.2 改進(jìn)算法
1)對訓(xùn)練集中屬性值缺失或空白情況的處理,填充過程如下:訓(xùn)練集中的N個(gè)屬性集合中的一個(gè)屬性Ai,其中一個(gè)實(shí)例S在屬性Ai上缺失數(shù)據(jù),令M=N-1,在訓(xùn)練集中找出其余M個(gè)屬性取值和實(shí)例S對應(yīng)一致的實(shí)例,組成實(shí)例集合S',如果集合S'不為空,則計(jì)算集合S'中Ai的不同取值的比例,利用取值比例最大的值進(jìn)行填充;如果S'為空,則令M=M-1,如果M<N2,則從訓(xùn)練集中刪除實(shí)例S。
2)簡化熵的計(jì)算:由公式Gain(A)=I(p,n)-E(A)得知,由于每個(gè)節(jié)點(diǎn)上的I(p,n)是一個(gè)定量,則可以選取屬性A的熵值E(A)作為節(jié)點(diǎn)之間的比較標(biāo)準(zhǔn),其中,將此式代入到E(A)中,則有:
由于(p+n )ln2在訓(xùn)練數(shù)據(jù)集中是個(gè)常量,所以可以假設(shè)函數(shù)S(A)滿足以下公式:
對候選屬性Ai所對應(yīng)的Vi個(gè)子結(jié)點(diǎn)屬性值,對應(yīng)的概率分別是,計(jì)算出所對應(yīng)的簡化熵
3)加權(quán)簡化熵的計(jì)算:
取屬性A值的個(gè)數(shù)作為權(quán)值,A有V個(gè)屬性值,對應(yīng)的概率分別是,屬性iA所對應(yīng)的iV個(gè)子結(jié)點(diǎn)屬性值,對應(yīng)的簡化熵為。則屬性的加權(quán)簡化熵為:
最后選擇屬性Ai+1,Ai+2,…,計(jì)算出相對應(yīng)的加權(quán)簡化熵W(Ai+1),W(Ai+2),…,通過比較熵值得出最小的加權(quán)簡化熵W(),使得W(A')最小,將作為新的候選屬性節(jié)點(diǎn),同時(shí)向下擴(kuò)展其Vk個(gè)子節(jié)點(diǎn)。如果有兩個(gè)屬性的加權(quán)簡化熵相等且都是最小值,可以選擇其中的一個(gè)屬性作為新選的屬性節(jié)點(diǎn),以此方法向下直到葉節(jié)點(diǎn),停止擴(kuò)展。
通過對健康管理系統(tǒng)中多組數(shù)據(jù)集試驗(yàn)數(shù)據(jù)比較節(jié)點(diǎn)數(shù)、規(guī)則數(shù)和分類精度,得改進(jìn)算法克服了決策樹屬性傾向取值較多的問題,并可建立較優(yōu)的決策樹,新算法使生成的決策樹沒有多余的空樹,提高了算法準(zhǔn)確性,同時(shí)降低了空間的復(fù)雜度,由于改進(jìn)算法計(jì)算簡化熵要比ID3算法計(jì)算信息熵簡單,降低了時(shí)間復(fù)雜度。
本系統(tǒng)采集了某地區(qū)多個(gè)社區(qū)2005年1月1日到2006年12月31兩年居民健康檔案數(shù)據(jù),包括居民基本信息、病史、家族史、生活方式(每日膳食、運(yùn)動鍛煉、吸煙、飲酒等)、體檢信息等,共5531人。為了確保實(shí)驗(yàn)結(jié)果,保留2005年1月1日到2006年12月31兩年的檔案數(shù)據(jù)為篩選因素屬性數(shù)據(jù),從2007年1月1日到2008年12月31日期間,更新的居民健康檔數(shù)據(jù)中糖尿病診斷或檢查結(jié)果作為結(jié)局?jǐn)?shù)據(jù),兩年內(nèi)糖尿病患者總共有53人,根據(jù)個(gè)人ID號,將篩選因素?cái)?shù)據(jù)表和結(jié)局?jǐn)?shù)據(jù)表連接成一張大表,將所有記錄隨機(jī)分為訓(xùn)練集和測試集[3]兩組。
數(shù)據(jù)預(yù)處理[4],需要對連續(xù)的屬性進(jìn)行離散化處理,并要去掉一些對挖掘來說沒有意義的屬性,在進(jìn)行挖掘時(shí),應(yīng)該根據(jù)不同的數(shù)據(jù)有選擇的選取挖掘?qū)傩?,比如說去掉一些居民的基本家庭信息、聯(lián)系方式等等。本系統(tǒng)根據(jù)數(shù)據(jù)庫中數(shù)據(jù)選用了其中12個(gè)屬性、屬性的取值(即離散值)和人數(shù)進(jìn)行數(shù)據(jù)挖掘,如表1所示:
表1 篩選因素屬性取值分布表
隨機(jī)抽取原始數(shù)據(jù)中的3500條記錄作為訓(xùn)練數(shù)據(jù)集,剩余數(shù)據(jù)作為測試數(shù)據(jù)集。
應(yīng)用改進(jìn)算法克服屬性選擇多值化的辦法構(gòu)建決策樹,計(jì)算化簡信息熵值及加權(quán)簡化熵值,選取加權(quán)簡化熵值最小的屬性作為決策樹的根結(jié)點(diǎn),遞歸調(diào)用這種方法建立各棵子樹。
為驗(yàn)證改進(jìn)算法的有效性,對測試數(shù)據(jù)進(jìn)行分析,見表2所示:
表2 兩種算法結(jié)果對比
由以上分析結(jié)果可以看出,改進(jìn)的算法優(yōu)于原算法,充分說明改進(jìn)算法,能夠以更快的速度及準(zhǔn)確率構(gòu)造決策樹,基本達(dá)到實(shí)驗(yàn)要求,更適合健康管理系統(tǒng)的挖掘工作。
根據(jù)決策樹對居民健康檔案數(shù)據(jù)進(jìn)行挖掘得出結(jié)論:具有高血壓病史的人、脂肪飲食不詳?shù)娜嘶蛘唧w重超標(biāo)20%、體育鍛煉缺失的人、年齡大于40歲的人可能患有糖尿病的高風(fēng)險(xiǎn)。
本文通過對決策樹ID3算法進(jìn)行研究,針對ID3算法在健康管理系統(tǒng)中,應(yīng)用存在的一些問題提出了改進(jìn)算法,克服屬性選擇多值性、處理屬性值空白或缺失的情況及提高決策樹構(gòu)建速度等方法。本文使用決策樹對居民健康檔案數(shù)據(jù)進(jìn)行糖尿病誘因的數(shù)據(jù)挖掘,得出了可能患上糖尿病的相關(guān)屬性,結(jié)果和實(shí)際數(shù)據(jù)及患病背景知識相一致,證明使用其進(jìn)行數(shù)據(jù)挖掘得出的結(jié)論是有效的。在其他慢性病的預(yù)防及治療中也起到了重要作用。
[1]徐鑫,席素梅.決策樹技術(shù)在高校教學(xué)管理中的應(yīng)用研究[J].計(jì)算機(jī)科學(xué),2009,(4).
[2]閃四清,陳茵,程雁等.數(shù)據(jù)挖掘——概念、模型、方法和算法[M].北京:清華大學(xué)出版社,2003.
[3]李賢鵬,何松華,趙孝敏,等.改進(jìn)的ID3算法在客戶流失預(yù)測中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(10).
[4]陳健.決策樹挖掘技術(shù)在醫(yī)學(xué)上的應(yīng)用[J].福建商業(yè)高等??茖W(xué)校學(xué)報(bào),2009,(2).