史淳樵,侯佳音
(同濟(jì)大學(xué)附屬第十人民醫(yī)院 上海 200072)
數(shù)據(jù)挖掘技術(shù)作為現(xiàn)階段應(yīng)用比較廣泛的技術(shù),被廣泛的應(yīng)用在中下企業(yè)中,從而提高企業(yè)的現(xiàn)代化管理水平,提升客戶(hù)服務(wù)和產(chǎn)品開(kāi)發(fā)質(zhì)量。同時(shí)現(xiàn)代信息技術(shù)的發(fā)展,數(shù)據(jù)挖掘技術(shù)在醫(yī)療系統(tǒng)中的應(yīng)用,在不斷的推動(dòng)者現(xiàn)代醫(yī)院服務(wù)水平的提升。但傳統(tǒng)數(shù)據(jù)挖掘算法,特別是關(guān)聯(lián)規(guī)則挖掘在面向大型數(shù)據(jù)庫(kù)中所存在的問(wèn)題,本文提出一種基于醫(yī)院信息管理系統(tǒng)的改進(jìn)算法。
在數(shù)據(jù)挖掘中,算法是基于頻繁項(xiàng)集的一種逐層搜索迭代方法。該算法沒(méi)有任何復(fù)雜的理論推導(dǎo),并在實(shí)踐中易于實(shí)現(xiàn),從而成為數(shù)據(jù)挖掘中常用的算法之一。但是,在實(shí)踐中該算法也存在難以克服的問(wèn)題:
第一,該算法需要多次對(duì)事務(wù)數(shù)據(jù)庫(kù)進(jìn)行掃描,從而產(chǎn)生很大的I/0負(fù)載。在對(duì)數(shù)據(jù)進(jìn)行的K次循環(huán)掃描中,產(chǎn)生的候選集合Q中每個(gè)元素其都必須經(jīng)過(guò)掃描,從而驗(yàn)證其是否加入L集合當(dāng)中。如在頂層的項(xiàng)目集合中的元素為m,則該數(shù)據(jù)庫(kù)至少需要掃描m或者是m+1次。
第二,產(chǎn)生非常龐大的候選集。對(duì)候選集來(lái)講,其產(chǎn)生的候選集是按照指數(shù)增長(zhǎng)的。如有104個(gè)頻繁的1-項(xiàng)集,則通過(guò)傳統(tǒng)的算法可以產(chǎn)生高達(dá)107個(gè)2-項(xiàng)集。由此給數(shù)據(jù)挖掘帶來(lái)很大的挑戰(zhàn)。
第三,支持度唯一,缺乏對(duì)各個(gè)不同屬性重要性的考慮。在數(shù)據(jù)挖掘中,事務(wù)的發(fā)生頻率不同,有的發(fā)生頻率高,有的發(fā)生頻率低。這樣給數(shù)據(jù)的挖掘帶來(lái)了很大的問(wèn)題,即如果最小的支持度的閉值定的過(guò)高,雖提高了整體運(yùn)行的速率,但是卻有著很多沒(méi)有價(jià)值的規(guī)則,大大降低了整體數(shù)據(jù)挖掘的效率和信息的可用性,以此給決策者提供錯(cuò)誤的決策信息。
隨著現(xiàn)代數(shù)據(jù)庫(kù)技術(shù)的廣泛應(yīng)用,如何對(duì)產(chǎn)生的大量候選項(xiàng)集做出有效的控制并極大縮小多次掃描和大量項(xiàng)集的時(shí)間,成為本文構(gòu)建的重點(diǎn),對(duì)此,本文提出了一種高效率的改進(jìn)算法。
文中采用對(duì)算法優(yōu)化的傳統(tǒng)技術(shù),首先采用二進(jìn)制數(shù)垂直表示方法對(duì)其中的數(shù)據(jù)進(jìn)行表示。二進(jìn)制數(shù)作為常用的方法,在對(duì)信息的表示方面具有非常獨(dú)特的優(yōu)勢(shì),通過(guò)采用“0”和“1”對(duì)其中信息的有無(wú)進(jìn)行統(tǒng)計(jì),如采用一個(gè)特定的事物記錄 Ti,用“1”表示在該 Ti中包含項(xiàng)集 X,而“0”則表示 Ti中不包含項(xiàng)集X。
定義1:對(duì)項(xiàng)目集二進(jìn)制數(shù)垂直表示,在給定的一個(gè)數(shù)據(jù)樣本 I=(i1,i2,i3,…,in),事務(wù)數(shù)據(jù)庫(kù)為 D=(T1,T2,…,Tn),項(xiàng)集 X的二進(jìn)制數(shù)垂直表示則為 b1b2b3…bn-1bn,記為Bx,其中 bi=0 或 1,如 X∈Ti,則為 1,如不屬于,則 bi=0,i=1,2,3,…,n。 如表 1所示的樣本事物庫(kù),則有如表 1所示的結(jié)論。
表1 樣本事物數(shù)據(jù)庫(kù)Tab.1 Samp le database of things
因此,根據(jù)二級(jí)制數(shù)垂直方法,針對(duì)項(xiàng)目集X={A}所對(duì)應(yīng)的為100101;項(xiàng)目集X={B}對(duì)應(yīng)的二進(jìn)制為111011。
通過(guò)采用二進(jìn)制數(shù)垂直方法對(duì)數(shù)據(jù)進(jìn)行處理后,需要對(duì)其中出現(xiàn)“1”的次數(shù)進(jìn)行統(tǒng)計(jì),從而得到該項(xiàng)目集的支持度計(jì)數(shù)。如果其中的每個(gè)項(xiàng)的支持度≥min-sup,則該項(xiàng)則為1-項(xiàng)集,并考察下個(gè)項(xiàng)集;如果每個(gè)項(xiàng)支持度不滿(mǎn)足最小支持度,則其對(duì)應(yīng)的支持度計(jì)數(shù)加上1。由此重復(fù)對(duì)不同記錄進(jìn)行處理,直到完成對(duì)所有數(shù)據(jù)庫(kù)記錄的處理。
輸入:事物庫(kù)D,并設(shè)定最小支持度min-sup;
輸出:事物庫(kù)當(dāng)中的頻繁項(xiàng)集L;
方法:
Result:={}
for(i=1;i≤|D|;i++)
begin
構(gòu)造可能的項(xiàng)集的組合{a11,a12,…,a1n}
for(j=1,j≤n;j++)
begin/*判斷每個(gè)組合aij*/
Case aijif
aij第一次出現(xiàn):生成一個(gè)計(jì)數(shù)器;
aij∈Result;
continue;
else:aij對(duì)應(yīng)的計(jì)數(shù)器加 1;
end;
If aij對(duì)應(yīng)的計(jì)數(shù)器 Result:=Result∪{aij}; end; end 通過(guò)對(duì)上述算法的構(gòu)建可以看出,改進(jìn)算法只需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行一次掃描,并在掃描中不斷的將標(biāo)記的頻繁項(xiàng)集提取,從而可有效的縮小對(duì)數(shù)據(jù)的搜索范圍,提高搜索的效率,與傳統(tǒng)的相比更具有優(yōu)越性。同時(shí)當(dāng)該算法在記錄多并且包含較少字段值或較多記錄中包含較多空字段值時(shí),該算法其更具備一定的優(yōu)越性。 隨著當(dāng)前HIS系統(tǒng)應(yīng)用的廣泛性,其基本的功能構(gòu)建通常都比較成熟,對(duì)此,本文根據(jù)國(guó)家衛(wèi)生部門(mén)的要求,將HIS系統(tǒng)的功能劃分為以下幾個(gè)部分: 1)臨床診療部分。該部分主要是以病人的基本信息作為基礎(chǔ),各個(gè)科室則沿著這條主線進(jìn)行工作。在該子系統(tǒng)中,病人在醫(yī)院的每一步的診斷、治療、護(hù)理等都被記錄在該系統(tǒng)當(dāng)中。對(duì)數(shù)據(jù)的輸入則主要通過(guò)與診療有關(guān)的各個(gè)部門(mén)進(jìn)行整理完成。 2)藥品管理部分。對(duì)醫(yī)院藥品的管理通常分為管理和使用。該子系統(tǒng)可實(shí)現(xiàn)對(duì)藥品的入庫(kù)到最后的病人使用的管理,從而實(shí)現(xiàn)對(duì)醫(yī)院藥物的信息化的管理。該部分主要包括藥品庫(kù)存、發(fā)藥管理、用藥審核等功能。 3)經(jīng)濟(jì)管理部分。該部分則屬于醫(yī)院的基礎(chǔ)部分,主要用于對(duì)醫(yī)院相關(guān)費(fèi)用數(shù)據(jù),并將產(chǎn)生的費(fèi)用數(shù)據(jù)進(jìn)行匯總、分析,從而為醫(yī)院決策提供參考。在該部分中包括對(duì)醫(yī)院設(shè)備和物資費(fèi)用、病人入、轉(zhuǎn)和出費(fèi)用、門(mén)診費(fèi)用等。 4)外部接口部分。經(jīng)濟(jì)發(fā)展使得HIS系統(tǒng)不能獨(dú)立存在,并需要與相關(guān)的部門(mén)進(jìn)行聯(lián)系。因此,該醫(yī)院信息管理系統(tǒng)提供了包括農(nóng)村醫(yī)保、城市職工醫(yī)保等接口。 為保證上述功能的實(shí)現(xiàn),需要對(duì)系統(tǒng)整體架構(gòu)進(jìn)行布局,從而保障系統(tǒng)的良好運(yùn)行,對(duì)此,本文將該系統(tǒng)的框架設(shè)計(jì)為如圖1所示。 圖1系統(tǒng)整體架構(gòu)Fig.1 Overall system architecture 在本系統(tǒng)中通過(guò)Java開(kāi)發(fā)語(yǔ)言,并通過(guò)Struts框架進(jìn)行開(kāi)發(fā),從而借助Java技術(shù)的優(yōu)勢(shì),大大減少了對(duì)該程序的重復(fù)開(kāi)發(fā)。同時(shí)對(duì)該系統(tǒng)的訪問(wèn)采用B/S模式,從而減少了客戶(hù)端對(duì)系統(tǒng)的維護(hù)和升級(jí),為用戶(hù)提供了很大的方便。 通過(guò)上述算法和系統(tǒng)的構(gòu)建,文中以醫(yī)院2003~2013年的2-乳腺癌復(fù)發(fā)數(shù)據(jù)作為挖掘案例,對(duì)數(shù)據(jù)挖掘的實(shí)現(xiàn)進(jìn)行闡述,其具體的挖掘流程如圖2所示。 通過(guò)對(duì)數(shù)據(jù)的預(yù)處理,從而得到365 276條合格的記錄。同時(shí)通過(guò)挖掘可以得到如表2所示的糖尿病及其并發(fā)癥的支持度計(jì)數(shù)。 由此通過(guò)上述挖掘的結(jié)果可以得到糖尿病及其并發(fā)癥的支持度和置信度分別為(以A=>B)為例: 圖2數(shù)據(jù)挖掘流程圖Fig.2 Data mining flow chart 表2 糖尿病及其并發(fā)癥的支持度計(jì)數(shù)Tab.2 Support count diabetes and its comp lications A=>B 支持度為:support(A=>B)=p(AUB)=3957/365276=1.07% A=>B 置信度為:Confidence(A=>B)=3957/8434=46.91%。 由此通過(guò)上述的計(jì)算可得到A=>B[support=1.07%,confudence=46.91%] 從而通過(guò)挖掘可以得到在門(mén)診的病人當(dāng)中,患有糖尿病并伴有高血壓的病人為1.07%,而患者糖尿病的病人會(huì)患高血壓的幾率則為46.91%。 傳統(tǒng)關(guān)聯(lián)規(guī)則算法在對(duì)數(shù)據(jù)的挖掘會(huì)產(chǎn)生大量的候選集,對(duì)此本文則通過(guò)對(duì)頻繁集篩選的改進(jìn),大大減少了數(shù)據(jù)掃描次數(shù),并且挖掘信息具有很大的實(shí)用性,對(duì)此該算法在醫(yī)院管理系統(tǒng)中具有實(shí)用價(jià)值。 [1]MargaretH.Dunham著.?dāng)?shù)據(jù)挖掘教程[M].郭崇慧,田風(fēng)占,靳曉明,等譯.北京:清華大學(xué)出版社,2005:65-164. [2]楊學(xué)兵.一種高效的關(guān)聯(lián)規(guī)則增量式更新算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007(1):108-113.YANG Xue-bing.An efficient incremental updating algorithm of association rules[J].Computer Technology and Development,2007(1):108-113. [3]何成萬(wàn),余秋惠.MVC模型及軟件框架Struts的研究[J].計(jì)算機(jī)工程,2002,28(6):274-281.HE Wan-cheng,YU Qiu-hui.MVC model and Struts Framework[J].Computer Engineering,2002,28(6):274-281. [4]羅町,賀才望.基于Apriori算法改進(jìn)的關(guān)聯(lián)規(guī)則提取算法[J].計(jì)算機(jī)與數(shù)字工程,2006(4):48-51,55.LUO Ting,HECai-wang.Improved algorithm based on Apriori association rule extraction algorithm[J].Computer and Digital Engineering,2006(4):48-51,55. [5]崔群法,祝紅壽,趙喜來(lái).SQLServer2008中文版從入門(mén)到精通[M].北京:電子工業(yè)出版社,2009:231-232. [6]羅森林.多維2型糖尿病實(shí)測(cè)數(shù)據(jù)的預(yù)處理技術(shù) [J].計(jì)算機(jī)工程,2004,30(17):178-181.LUO Sen-Lin.Multidimensional data obtained in type 2 diabetes[J].Computer Engineering,2004,30(17):178-181.2.3 改進(jìn)算法的優(yōu)越性
3 基于關(guān)聯(lián)規(guī)則挖掘的HIS系統(tǒng)構(gòu)建
3.1 HIS系統(tǒng)功能模塊
3.2 系統(tǒng)整體設(shè)計(jì)方案
4 關(guān)聯(lián)規(guī)則挖掘在醫(yī)院信息管理系統(tǒng)中的應(yīng)用
5 結(jié) 論