霍倩倩+田翔+張艷
摘要:文章通過(guò)對(duì)得到的醫(yī)院體檢數(shù)據(jù)、門診數(shù)據(jù)進(jìn)行分析,將體檢和診斷冠心病建立聯(lián)系,并改進(jìn)數(shù)據(jù)挖掘算法Apriori算法來(lái)進(jìn)行關(guān)聯(lián)分析。
關(guān)鍵字:數(shù)據(jù)挖掘;冠心??;Apriori算法;python
1.問(wèn)題的提出
冠心病是冠狀動(dòng)脈粥樣硬化性心臟病的簡(jiǎn)稱,冠狀動(dòng)脈供應(yīng)心臟自身血液,冠狀動(dòng)脈發(fā)生粥樣硬化或者痙攣,使得冠狀動(dòng)脈變得狹窄甚至是鼻塞,導(dǎo)致心肌缺血缺氧的一種心臟病。冠心病由于其發(fā)病率高,死亡率高,嚴(yán)重危害著人類的身體健康,從而被稱作是“人類的第一殺手”。所以對(duì)于冠心病患者的相關(guān)性分析成為近幾年的熱點(diǎn),如何從已經(jīng)得到的患者的數(shù)據(jù)中,找到與冠心病相關(guān)的數(shù)據(jù),并進(jìn)一步研究分析,或者與冠心病可能導(dǎo)致成因的數(shù)據(jù)加以分析,成為人們研究的重點(diǎn)。
據(jù)了解目前國(guó)內(nèi)外研究冠心病發(fā)病相關(guān)因素主要停留在訪談法、A型行為量表測(cè)試收集資料法、問(wèn)卷調(diào)查、病歷分析等人工統(tǒng)計(jì)、分析階段,鮮有相關(guān)資料證明是基于數(shù)據(jù)挖掘方面的冠心病發(fā)病相關(guān)因素研究分析的。隨著計(jì)算機(jī)、網(wǎng)絡(luò)技術(shù)的發(fā)展,獲得有關(guān)資料已經(jīng)變得簡(jiǎn)單易行。但是對(duì)于數(shù)量較大、涉及面廣的數(shù)據(jù),僅僅依靠簡(jiǎn)單地匯總,按照固定的模式進(jìn)行分析統(tǒng)計(jì)是無(wú)法完成這一任務(wù)的,甚至是效率低下,得不到相應(yīng)的結(jié)果,所以,一種智能化的,綜合應(yīng)用各種統(tǒng)計(jì)方法、數(shù)據(jù)庫(kù)等的技術(shù)應(yīng)運(yùn)而生,這就是目前較為流行的數(shù)據(jù)挖掘。
數(shù)據(jù)挖掘又被稱為數(shù)據(jù)庫(kù)知識(shí)發(fā)現(xiàn),是一種交叉學(xué)科,包括統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)、數(shù)據(jù)庫(kù)、模式識(shí)別等等,它是利用各種方法從海量的凌亂的有噪聲的數(shù)據(jù)中提取隱含在其中的事先未知的有價(jià)值的模式或者規(guī)律的復(fù)雜過(guò)程,其過(guò)程包括對(duì)于數(shù)據(jù)庫(kù)的建立和管理、提取數(shù)據(jù)、數(shù)據(jù)預(yù)處理、建立模型、模型評(píng)估等一系列過(guò)程。在海量數(shù)據(jù)、高維數(shù)據(jù)的現(xiàn)在,要注重從數(shù)據(jù)本身的特征出發(fā),發(fā)現(xiàn)數(shù)據(jù)中隱藏的價(jià)值。
冠心病的確診一般最常見的是心電圖,再就是64排CT檢查,通過(guò)檢查血管狹窄的情況,來(lái)判斷是否患病,且一般沒(méi)有預(yù)測(cè)。之前的研究是基于檢查以及確診以及治療的,沒(méi)有對(duì)于體檢后是否可以由某些體檢數(shù)據(jù)得到與冠心病相關(guān)列的指標(biāo),本文將對(duì)冠心病與體檢數(shù)據(jù)進(jìn)行關(guān)聯(lián)分析,本文的數(shù)據(jù)是由醫(yī)院記錄的多年的體檢數(shù)據(jù),以及體檢后病人在此醫(yī)院就診的數(shù)據(jù),對(duì)得到的數(shù)據(jù)進(jìn)行分析,看冠心病與哪些體檢指標(biāo)有關(guān)聯(lián),希望獲得一些對(duì)人類有貢獻(xiàn)的知識(shí)。
2.國(guó)內(nèi)外研究進(jìn)展
冠心病是一種嚴(yán)重危害人類健康的常見疾病、多發(fā)病癥,已經(jīng)成為在不同國(guó)家和地區(qū)發(fā)病和死亡的最常見病癥之一。在大多數(shù)發(fā)展中國(guó)家,包括我國(guó)在近幾十年對(duì)于冠心病之死亡率也大幅度上升,預(yù)計(jì)到2020年,冠心病將成為全球人口死亡和殘疾的最主要的元兇[1]。
其研究的內(nèi)容是基于醫(yī)學(xué)理論的,有脂肪浸潤(rùn)學(xué)說(shuō),血小板活化、聚集和血栓形成學(xué)說(shuō)、肉皮損傷學(xué)說(shuō)、炎癥學(xué)說(shuō)等等,大部分研究的是冠心病的發(fā)病機(jī)制,以及藥物對(duì)于冠心病治療的研究,當(dāng)然也有對(duì)于單項(xiàng)發(fā)病因素進(jìn)行研究的案例,例如血漿載脂蛋白與冠心病的相關(guān)性研究[2][3] 。
大部分的研究是在醫(yī)學(xué)領(lǐng)域,對(duì)于病理的研究與分析。研究冠心病患者的冠心病危險(xiǎn)因素的特點(diǎn)以及臨床表現(xiàn),探討冠心病病變的相關(guān)性。通過(guò)對(duì)患者各項(xiàng)指標(biāo)的測(cè)量,得到了冠心病的危險(xiǎn)因素,包括高敏括高敏C-反應(yīng)蛋白hs-CRP水平、左心室射血分?jǐn)?shù)等[4]。目前對(duì)于揭示冠心病特征的變化規(guī)律,揭示冠心病癥候特征的變化規(guī)律等[5]。
3.本文研究分析
本文將對(duì)從醫(yī)院獲得的上萬(wàn)條病人的體檢數(shù)據(jù)以及病人的門診確診數(shù)據(jù)進(jìn)行研究分析。病人的體檢數(shù)據(jù)中有很多數(shù)據(jù),比如有血、血漿、血清、尿等檢測(cè)項(xiàng)目,進(jìn)一步對(duì)于各項(xiàng)又有小的檢測(cè)項(xiàng)目,比如光是血清又有兩百多項(xiàng)項(xiàng)目,有HIV,ALD、類風(fēng)濕因子等等,對(duì)于如此巨大的數(shù)據(jù)量,想要獲得需要的信息,就需要對(duì)數(shù)據(jù)進(jìn)行處理。
將導(dǎo)出的數(shù)據(jù)、各種量表及病人的相關(guān)數(shù)據(jù)整理,建立病人的原始資料數(shù)據(jù)表。此表中包含醫(yī)院給出的所有數(shù)據(jù),包括冗余數(shù)據(jù),無(wú)效數(shù)據(jù)等。進(jìn)一步需要對(duì)得到的數(shù)據(jù)進(jìn)行處理。各個(gè)表格數(shù)據(jù)類型不盡相同,且不是對(duì)應(yīng)于每個(gè)病人或者體檢者有相應(yīng)的檢查數(shù)據(jù)、診斷數(shù)據(jù)以及住院數(shù)據(jù),但是體檢流水號(hào)是唯一的,所以對(duì)于各個(gè)表格進(jìn)行連接靠著體檢流水號(hào)的唯一性進(jìn)行的。經(jīng)過(guò)對(duì)數(shù)據(jù)的清洗,去重等操作,再進(jìn)一步查找與冠心病有關(guān)的體檢項(xiàng)目。
最終得到患冠心病的患者大部分都檢查了血漿、學(xué)液等幾項(xiàng)指標(biāo),對(duì)于得到的指標(biāo),并不是每個(gè)病人都檢查了此項(xiàng)內(nèi)容,再對(duì)其中的每一小項(xiàng)進(jìn)行研究,得到了血漿中與冠心病有關(guān)的七個(gè)小項(xiàng),進(jìn)一步分析得到此項(xiàng)指標(biāo)比正常人高出兩倍。
4.本文研究方法與步驟
4.1問(wèn)題的確定
對(duì)于從醫(yī)院獲得的數(shù)據(jù),建立數(shù)據(jù)庫(kù)ceshi,將得到的體檢數(shù)據(jù)、門診數(shù)據(jù)以及住院數(shù)據(jù)分別建立表tj_jy,tj_mz以及tj_zy;由于獲取的數(shù)據(jù)是雜亂的,且有很多重復(fù)的數(shù)據(jù),所以先對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單的預(yù)處理,去除重復(fù)的數(shù)據(jù),得到新的表ti_jy_qc, tj_mz_qc以及tj_zy_qc。對(duì)于得到的結(jié)果進(jìn)行進(jìn)一步處理,以便確定所要研究的內(nèi)容。根據(jù)三個(gè)表格,先查詢得到所有病人所患病癥種類,讓其按照數(shù)量降序排列,以便找到要研究的病癥,得到病癥后根據(jù)數(shù)量的多少來(lái)查看哪些具有研究?jī)r(jià)值,并且選擇自己感興趣的部分進(jìn)行研究;用sql查詢患者病癥以及患者人數(shù)結(jié)果如下:
發(fā)病率較高的如發(fā)燒、咳嗽、高血壓等大多為常見病,且對(duì)其的研究已經(jīng)很全面,則選擇了冠心病作為研究對(duì)象,從獲得的數(shù)據(jù)中冠心病患者大約有兩萬(wàn)多人,而且冠心病多發(fā)生于中老年。冠心病是冠狀動(dòng)脈性心臟?。╟oronary artery heart disease, CHD)的簡(jiǎn)稱,是一種最常見的心臟病,是指因冠狀動(dòng)脈狹窄、供血不足而引起的心肌機(jī)能障礙和(或)器質(zhì)性病變,故又稱缺血性心肌病。冠心病是一種由冠狀動(dòng)脈器質(zhì)性(動(dòng)脈粥樣硬化或動(dòng)力性血管痙攣)狹窄或阻塞引起的心肌缺血缺氧(心絞痛)或心肌壞死(心肌梗塞)的心臟病,亦稱缺血性心臟病。冠心病的發(fā)生與冠狀動(dòng)脈粥樣硬化狹窄的程度和支數(shù)有密切關(guān)系,同時(shí)患有高血壓、糖尿病等疾病,以及過(guò)度肥胖、不良生活習(xí)慣等是誘發(fā)該病的主要因素。冠心病是全球死亡率最高的疾病之一,根據(jù)世界衛(wèi)生組織2011年的報(bào)告,中國(guó)的冠心病死亡人數(shù)已列世界第二位,所以具有研究?jī)r(jià)值,確定研究對(duì)象后進(jìn)行進(jìn)一步的研究與分析。endprint
4.2研究對(duì)象的確定
根據(jù)選定的研究對(duì)象,確定所研究的對(duì)象的相關(guān)科室以及患者在此之前所體檢的項(xiàng)目;根據(jù)查詢確定冠心病確診的門診科室,如下所示:
再用查詢語(yǔ)句對(duì)tj_jy_qc表與tj_mz_qc表進(jìn)行連接,查看患者之前所檢查的項(xiàng)目研究冠心病與哪些體檢項(xiàng)目有關(guān)聯(lián),進(jìn)而研究有何種關(guān)聯(lián);根據(jù)之前的檢查結(jié)果,冠心病的確診是在內(nèi)科以及心血管內(nèi)科門診確診,所以限定科室為內(nèi)科或者心血管內(nèi)科門診,以便快速的查詢,經(jīng)查詢?cè)谙薅剖覂?nèi)得到患者所進(jìn)行的體檢項(xiàng)目:
注:根據(jù)之前查詢結(jié)果得到冠心病大部分是在心血管內(nèi)科門診確診,所以此處限定科室,以便查詢結(jié)果,涂黑部分為病人名字,為保證個(gè)人隱私,做涂黑處理。
得到兩個(gè)表之間是有關(guān)聯(lián)的,再對(duì)兩個(gè)表進(jìn)行連接,查看檢查的項(xiàng)目中冠心病患者主要檢查了哪些項(xiàng)目,經(jīng)查詢得到大部分患者檢查過(guò)的項(xiàng)目有血漿,尿液,全血,血等,對(duì)于每個(gè)病人檢查的項(xiàng)目中查詢冠心病患者中檢查最多的是哪個(gè),以便去訂研究對(duì)象,對(duì)上述查詢結(jié)果進(jìn)行保存,可以直接導(dǎo)出到表格xiangguanjiancha.xlsx,建立表xiangguanjiancha儲(chǔ)存得到的結(jié)果,再對(duì)得到的結(jié)果進(jìn)行查詢檢查最多的體檢項(xiàng)目。
建立xiangguanjiancha表,將之前得到的保存結(jié)果xiangguanjiancha.xlsx導(dǎo)入xiangguanjiancha表中,查看患者檢查的項(xiàng)目中哪項(xiàng)檢查數(shù)量最多,經(jīng)查詢得到患者大部分檢查了血漿,下一步則要對(duì)體檢值進(jìn)行研究。
4.3研究對(duì)象值的確定
檢查體檢檢驗(yàn)中,血漿檢查的二級(jí)項(xiàng)目有哪些,再對(duì)檢查的項(xiàng)目建表,進(jìn)行研究,
查詢體檢檢驗(yàn)中所檢查的各個(gè)項(xiàng)目的具體小項(xiàng)目,例如血清中檢查了什么,得到查詢結(jié)果結(jié)果如下:
將查詢結(jié)果導(dǎo)出到EXCEl表中,根據(jù)SQL的命名規(guī)則,是不允許有中文以及不區(qū)分大小寫的,所以對(duì)于得到的結(jié)果進(jìn)行英文的命名,建立數(shù)據(jù)字典,將得到的結(jié)果建立表格xue_jiang。建立病人表,查詢tj_jy表,將所有的病人導(dǎo)入表格patient中,以便在數(shù)據(jù)庫(kù)中建立patient表,去掉重復(fù)的體檢流水號(hào),建立患者表,再將得到的結(jié)果保存到一個(gè)新表中,作為病人的記錄表patient,建立patient,并將結(jié)果導(dǎo)入數(shù)據(jù)庫(kù)中,進(jìn)一步查詢患有冠心病的患者,將患者數(shù)據(jù)導(dǎo)入表gxbpatient中,將的到的結(jié)果保存在gxbpatient表中便于進(jìn)一步研究,同時(shí)檢查患有冠心病的患者血漿中檢查了哪些指標(biāo);得到195個(gè)患者血漿檢測(cè)的二級(jí)項(xiàng)目246個(gè),再對(duì)這246個(gè)二級(jí)項(xiàng)目進(jìn)行分析,因?yàn)椴⒉皇敲總€(gè)患者都檢查了這些二級(jí)項(xiàng)目,所以大部分為空值,對(duì)于空值的處理,首先選擇非空值超過(guò)80%的二級(jí)項(xiàng)目進(jìn)行處理,空值超多80%的則忽略不研究,再對(duì)得到二級(jí)項(xiàng)目的空值進(jìn)行分析。此處對(duì)于表的操作用python處理,Python是一種面向?qū)ο?、直譯式計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。也是一種功能強(qiáng)大而完善的通用型語(yǔ)言,已經(jīng)具有十多年的發(fā)展歷史,成熟且穩(wěn)定。Python 具有腳本語(yǔ)言中最豐富和強(qiáng)大的類庫(kù),足以支持絕大多數(shù)日常應(yīng)用。Python語(yǔ)法簡(jiǎn)捷而清晰,具有豐富和強(qiáng)大的類庫(kù)。它能夠很輕松的把用其他語(yǔ)言制作的各種模塊(尤其是C/C++)輕松地聯(lián)結(jié)在一起。所以次出用python處理。代碼見附錄python代碼1。
處理結(jié)果如下所示,得到從醫(yī)院中獲得的病人數(shù)據(jù)中患者的體檢項(xiàng)目血漿的二級(jí)項(xiàng)目哪些具有研究意義:
分別是xue_jiang表中的第22/30/47/76/90/170/223/248/249項(xiàng)。將這些二級(jí)項(xiàng)目取出,保存在表gxbxjz(冠心病血漿值)中;再建立表gxbxjz以便對(duì)得到的冠心病患者血漿值二級(jí)目錄值進(jìn)行研究。
經(jīng)觀測(cè),要研究的血漿的二級(jí)項(xiàng)目均為連續(xù)值,所以空值的填補(bǔ)用平均值。用python分別對(duì)gxbtjz與patient表進(jìn)行處理,得到所要檢測(cè)的二級(jí)項(xiàng)目值之間的關(guān)系,為了簡(jiǎn)易處理,計(jì)算二者的平均值進(jìn)行比較分析。得到結(jié)果如下所示。
---病人的平均值:0.647126566 28.99658098 2.04196926 17.54878065 0.520438877 2.38056535 1.110689336 0.029725826 142.3368553
----冠心病患者平均值0.472993197 57.30806608 4.234275996 22.63556851 1.048386783 4.725111759 2.511690962 0.056448008 288.4373178
對(duì)比可以得到得到的平均值為普通的兩倍多,其九項(xiàng)的內(nèi)容分別是:甘油三酯(TG),肌酐(CREA),尿素(BUN),丙氨酸氨基轉(zhuǎn)換酶(ALT),高密度脂蛋白C(HDL-c),葡萄糖(GLU),低密度脂蛋白C(LDL-c),尿素氮/肌酐(BUN/CR),尿酸(URIC)。
有研究表明冠心病患者[2]的血漿apoB100/apoA1明顯高于普通人群,經(jīng)相關(guān)性分析,載脂血蛋白(高密度脂蛋白C:HDL-c;低密度脂蛋白C:LDL-c)與冠心病密切相關(guān),是冠心病最顯著的獨(dú)立相關(guān)危險(xiǎn)因素,與以往的研究結(jié)果相似。與本文檢測(cè)內(nèi)容一致。所以以后病人在體檢時(shí),如果這幾項(xiàng)指標(biāo)超過(guò)正常值,則需要進(jìn)一步做檢查,查看是否患有冠心病,并且注意調(diào)整,以預(yù)防冠心病的發(fā)生。
4.4數(shù)據(jù)挖掘在冠心病體檢項(xiàng)目中的應(yīng)用
根據(jù)上面的研究與分析,得到冠心病患者體檢中血漿項(xiàng)目的體檢是較為全面的,下面用數(shù)據(jù)挖掘算法進(jìn)行驗(yàn)證分析得到冠心病與血漿中這些檢驗(yàn)項(xiàng)是有關(guān)聯(lián)的。根據(jù)前面分析得到的表gxbhzxjjy(冠心病患者血漿檢驗(yàn)),對(duì)它進(jìn)行預(yù)處理,刪除不相關(guān)列,比如tjliu、卡號(hào)、p_name明顯不相關(guān)的直接刪除;因?yàn)橹挥?95條記錄但是屬性值有246條,所以進(jìn)行預(yù)處理可以直接在EXCEL表中進(jìn)行處理,因?yàn)榭罩递^多,且空值表示沒(méi)有檢驗(yàn)此項(xiàng)內(nèi)容的,為簡(jiǎn)便表示,做如下替換:NULL賦值為0,陰性、陰性(-)賦值為1,陽(yáng)性、陽(yáng)性(-)賦值為2,求每一列的和,值為0表示冠心病患者都沒(méi)有檢驗(yàn)此項(xiàng),直接刪除,以簡(jiǎn)化處理,對(duì)于留下的數(shù)據(jù),非空值賦值為其屬性值,空值則刪除,得到每項(xiàng)記錄。endprint
為了找冠心病相關(guān)聯(lián)因素,對(duì)數(shù)據(jù)進(jìn)行處理,將0值刪除,空值補(bǔ)充為平均值,將結(jié)果另存為gai.txt.
5.Apriori算法在冠心病研究中的應(yīng)用
關(guān)聯(lián)規(guī)則是數(shù)據(jù)挖掘的一個(gè)重要研究方向,其目的是發(fā)現(xiàn)大量數(shù)據(jù)中項(xiàng)集之間的關(guān)聯(lián)或者相關(guān)聯(lián)系。挖掘關(guān)聯(lián)規(guī)則就是在大量實(shí)物數(shù)據(jù)中找出用戶感興趣的關(guān)聯(lián)性,即事務(wù)數(shù)據(jù)庫(kù)中滿足用戶給董的條件(最小支持度與最小置信度)的項(xiàng)目集合,我們將這個(gè)項(xiàng)目集合成為頻繁項(xiàng)目集,簡(jiǎn)稱頻繁集。上述挖掘過(guò)程通常分為兩個(gè)步驟:一是掃描事務(wù)數(shù)據(jù)庫(kù),從中找出所有滿足用戶指定最小支持度的頻繁項(xiàng)集;而是利用頻繁項(xiàng)集生成所需的關(guān)聯(lián)規(guī)則,分析醒目之間的關(guān)聯(lián)性。
5.1經(jīng)典Apriori算法
Apriori算法[6]是挖掘關(guān)聯(lián)規(guī)則的經(jīng)典算法,由Agrawal等人于1994年提出,是一種具有重要影響的挖掘關(guān)聯(lián)規(guī)則頻繁項(xiàng)集的算法,其核心是基于兩階段頻繁項(xiàng)集的遞推算法,通過(guò)候選項(xiàng)集找到頻繁項(xiàng)集。Apriori算法使用一種稱作逐層搜索的迭代方法, 項(xiàng)集用于搜索生成 項(xiàng)集,將Apriori相紙用于茶渣頻繁項(xiàng)集的時(shí)候,只要發(fā)現(xiàn)一個(gè)候選集的飛空自己不頻繁,則可以判斷這個(gè)候選集不頻繁[7]??梢詫⑦@個(gè)過(guò)程分為兩個(gè)步驟:連接和剪枝。
(1) 連接步:產(chǎn)生候選項(xiàng)集 ;
(2) 剪枝步:掃描數(shù)據(jù)庫(kù),計(jì)算候選項(xiàng)集 中每個(gè)候選的技術(shù)是否滿足最小支持度來(lái)確定 。然而 可能很大,為了減少對(duì)數(shù)據(jù)庫(kù)的掃描次數(shù),可以利用Apriori的性質(zhì)[7]將候選集從 中刪除。
通過(guò)以上描述,我們看出監(jiān)管利用Apriori的性質(zhì)來(lái)減少了對(duì)數(shù)據(jù)庫(kù)的掃描,但是依然存在不足:(1)他可能產(chǎn)生大量候選集;(2)他可能需要重復(fù)掃描數(shù)據(jù)庫(kù)以計(jì)算每個(gè)候選集的頻繁程度。所以對(duì)于Apriori的改進(jìn)方法在于降低候選集的數(shù)量和減少對(duì)數(shù)據(jù)庫(kù)的掃描次數(shù)。
5.2Apriori算法的改進(jìn)
命題1:如果一個(gè)數(shù)據(jù)項(xiàng)在數(shù)據(jù)庫(kù)中是頻繁的,則該數(shù)據(jù)項(xiàng)的自己在數(shù)據(jù)庫(kù)匯總也是頻繁的。
命題2:如果一個(gè)數(shù)據(jù)項(xiàng)在數(shù)據(jù)集中是非頻繁的,則包含該數(shù)據(jù)項(xiàng)的父集也是非頻繁的。
由5.1的描述可知,如果我們從單一元素所構(gòu)成的集合下手,根據(jù)支持度判別條件對(duì)該樹進(jìn)行“剪枝”,將大大降低計(jì)算的次數(shù)。
得到 后,如果根據(jù)組合原理直接生成 然后對(duì)每個(gè)可能的組合計(jì)算支持度,計(jì)算量依然很大。這里再次進(jìn)行剪枝。為了不失一般性,對(duì)于 層中的每個(gè)集合先排序,然后將滿足以下條件的集合融合,構(gòu)成 層。之所以這樣做是因?yàn)?,根?jù)命題2,如果集合C4層的{acde}是頻繁集,那么 層中必定要存在 和 。因此只需在 成對(duì)這兩個(gè)集合融合即可,不必再將 和 融合,在 層對(duì)元素排序的目的也正是在此,快速地找到滿足條件的子集并融合,避免重復(fù)計(jì)算。
在得到 層后,計(jì)算其中每個(gè)集合的支持度,需要從數(shù)據(jù)庫(kù)中遍歷所有的數(shù)據(jù)項(xiàng)看是否包含該集合。假設(shè)由 生成 這一規(guī)則不滿足置信度公式,回顧置信度的公式,也就是說(shuō) 在數(shù)據(jù)庫(kù)中出現(xiàn)的次數(shù)偏多,而 出現(xiàn)的次數(shù)偏少,根據(jù)命題1, 的子集也是頻繁項(xiàng),根據(jù)命題2, 的父集也很少出現(xiàn),從而 生成 等規(guī)則的置信度更低,然后將其從集合樹上減去。
通過(guò)上面的分析得到算法優(yōu)化的步驟如下所示:
1). 遍歷數(shù)據(jù)庫(kù),得到所有數(shù)據(jù)項(xiàng)構(gòu)成的并集(也就是得到 層)
2). 計(jì)算 層中每個(gè)元素的支持度(該過(guò)程可用Hash表優(yōu)化),刪除不符合的元素,將剩下的元素排序,并加入頻繁項(xiàng)集R
3). 根據(jù)融合規(guī)則將 層的元素融合得到 ,
4). 重復(fù)2),3)步直到某一層元素融合后得到的是空集
5). 遍歷 中的元素,設(shè)該元素為
6). 按照方法 先生成 層規(guī)則
7). 計(jì)算該層所有規(guī)則的置信度,刪除不符合的規(guī)則,將剩下的規(guī)則作為結(jié)果輸出。
8). 生成下一層的規(guī)則,計(jì)算置信度,輸出結(jié)果。
運(yùn)行結(jié)果如下所示,因?yàn)樵O(shè)定閾值不同,導(dǎo)致得到的結(jié)果不盡相同,但包含著查詢中體檢項(xiàng)目,綜上,冠心病與血漿檢驗(yàn)中的ATL,可以得到結(jié)論:在日常體檢中,如果ATL值、BUNCR值等比正常水平偏高,則需要進(jìn)行進(jìn)一步檢測(cè)以及調(diào)整近期飲食與注意鍛煉[8]。
參考文獻(xiàn)
[1] 史琦.基于數(shù)據(jù)挖掘的冠心病不穩(wěn)定性心絞痛中醫(yī)證候識(shí)別規(guī)律的研究.博士論文,2012年5月
[2] 雷蕾,陳麗.血漿載脂蛋白與冠心病的相關(guān)性研究.當(dāng)代醫(yī)學(xué).2011年4月第17卷第12期
[3] 張衛(wèi).冠心病患者糖化血紅蛋白、脂蛋白a與冠脈病變程度的關(guān)系.2014年碩士論文
[4]高閱春,何繼強(qiáng),姜騰勇,陳方.冠心病患者冠狀動(dòng)脈病變嚴(yán)重程度與冠心病危險(xiǎn)因素的相關(guān)分析.中國(guó)循環(huán)雜志2012年03期
[5]毛靜遠(yuǎn),牛子長(zhǎng),張伯禮.近40年冠心病中醫(yī)證候特征研究文獻(xiàn)分析.中醫(yī)雜志 2011年11期
[6] 趙建松,陳在平. 基于SQL的Apriori改進(jìn)算法研究. 天津理工大學(xué)學(xué)報(bào).209年4月
[7] 顧慶峰,宋順林. Apriori算法在SQL中的改進(jìn)與應(yīng)用. 計(jì)算機(jī)工程與設(shè)計(jì). 2007年7月
[8] 閆志虹. 中西醫(yī)結(jié)合治療冠心病的研究進(jìn)展. 中國(guó)保健營(yíng)養(yǎng). 2013年1月endprint