史淳樵,侯佳音
(同濟大學(xué)附屬第十人民醫(yī)院 上海 200072)
數(shù)據(jù)挖掘技術(shù)作為現(xiàn)階段應(yīng)用比較廣泛的技術(shù),被廣泛的應(yīng)用在中下企業(yè)中,從而提高企業(yè)的現(xiàn)代化管理水平,提升客戶服務(wù)和產(chǎn)品開發(fā)質(zhì)量。同時現(xiàn)代信息技術(shù)的發(fā)展,數(shù)據(jù)挖掘技術(shù)在醫(yī)療系統(tǒng)中的應(yīng)用,在不斷的推動者現(xiàn)代醫(yī)院服務(wù)水平的提升。但傳統(tǒng)數(shù)據(jù)挖掘算法,特別是關(guān)聯(lián)規(guī)則挖掘在面向大型數(shù)據(jù)庫中所存在的問題,本文提出一種基于醫(yī)院信息管理系統(tǒng)的改進算法。
在數(shù)據(jù)挖掘中,算法是基于頻繁項集的一種逐層搜索迭代方法。該算法沒有任何復(fù)雜的理論推導(dǎo),并在實踐中易于實現(xiàn),從而成為數(shù)據(jù)挖掘中常用的算法之一。但是,在實踐中該算法也存在難以克服的問題:
第一,該算法需要多次對事務(wù)數(shù)據(jù)庫進行掃描,從而產(chǎn)生很大的I/0負載。在對數(shù)據(jù)進行的K次循環(huán)掃描中,產(chǎn)生的候選集合Q中每個元素其都必須經(jīng)過掃描,從而驗證其是否加入L集合當(dāng)中。如在頂層的項目集合中的元素為m,則該數(shù)據(jù)庫至少需要掃描m或者是m+1次。
第二,產(chǎn)生非常龐大的候選集。對候選集來講,其產(chǎn)生的候選集是按照指數(shù)增長的。如有104個頻繁的1-項集,則通過傳統(tǒng)的算法可以產(chǎn)生高達107個2-項集。由此給數(shù)據(jù)挖掘帶來很大的挑戰(zhàn)。
第三,支持度唯一,缺乏對各個不同屬性重要性的考慮。在數(shù)據(jù)挖掘中,事務(wù)的發(fā)生頻率不同,有的發(fā)生頻率高,有的發(fā)生頻率低。這樣給數(shù)據(jù)的挖掘帶來了很大的問題,即如果最小的支持度的閉值定的過高,雖提高了整體運行的速率,但是卻有著很多沒有價值的規(guī)則,大大降低了整體數(shù)據(jù)挖掘的效率和信息的可用性,以此給決策者提供錯誤的決策信息。
隨著現(xiàn)代數(shù)據(jù)庫技術(shù)的廣泛應(yīng)用,如何對產(chǎn)生的大量候選項集做出有效的控制并極大縮小多次掃描和大量項集的時間,成為本文構(gòu)建的重點,對此,本文提出了一種高效率的改進算法。
文中采用對算法優(yōu)化的傳統(tǒng)技術(shù),首先采用二進制數(shù)垂直表示方法對其中的數(shù)據(jù)進行表示。二進制數(shù)作為常用的方法,在對信息的表示方面具有非常獨特的優(yōu)勢,通過采用“0”和“1”對其中信息的有無進行統(tǒng)計,如采用一個特定的事物記錄 Ti,用“1”表示在該 Ti中包含項集 X,而“0”則表示 Ti中不包含項集X。
定義1:對項目集二進制數(shù)垂直表示,在給定的一個數(shù)據(jù)樣本 I=(i1,i2,i3,…,in),事務(wù)數(shù)據(jù)庫為 D=(T1,T2,…,Tn),項集 X的二進制數(shù)垂直表示則為 b1b2b3…bn-1bn,記為Bx,其中 bi=0 或 1,如 X∈Ti,則為 1,如不屬于,則 bi=0,i=1,2,3,…,n。 如表 1所示的樣本事物庫,則有如表 1所示的結(jié)論。

表1 樣本事物數(shù)據(jù)庫Tab.1 Samp le database of things
因此,根據(jù)二級制數(shù)垂直方法,針對項目集X={A}所對應(yīng)的為100101;項目集X={B}對應(yīng)的二進制為111011。
通過采用二進制數(shù)垂直方法對數(shù)據(jù)進行處理后,需要對其中出現(xiàn)“1”的次數(shù)進行統(tǒng)計,從而得到該項目集的支持度計數(shù)。如果其中的每個項的支持度≥min-sup,則該項則為1-項集,并考察下個項集;如果每個項支持度不滿足最小支持度,則其對應(yīng)的支持度計數(shù)加上1。由此重復(fù)對不同記錄進行處理,直到完成對所有數(shù)據(jù)庫記錄的處理。
輸入:事物庫D,并設(shè)定最小支持度min-sup;
輸出:事物庫當(dāng)中的頻繁項集L;
方法:
Result:={}
for(i=1;i≤|D|;i++)
begin
構(gòu)造可能的項集的組合{a11,a12,…,a1n}
for(j=1,j≤n;j++)
begin/*判斷每個組合aij*/
Case aijif
aij第一次出現(xiàn):生成一個計數(shù)器;
aij∈Result;
continue;
else:aij對應(yīng)的計數(shù)器加 1;
end;
If aij對應(yīng)的計數(shù)器 Result:=Result∪{aij}; end; end 通過對上述算法的構(gòu)建可以看出,改進算法只需要對數(shù)據(jù)庫進行一次掃描,并在掃描中不斷的將標(biāo)記的頻繁項集提取,從而可有效的縮小對數(shù)據(jù)的搜索范圍,提高搜索的效率,與傳統(tǒng)的相比更具有優(yōu)越性。同時當(dāng)該算法在記錄多并且包含較少字段值或較多記錄中包含較多空字段值時,該算法其更具備一定的優(yōu)越性。 隨著當(dāng)前HIS系統(tǒng)應(yīng)用的廣泛性,其基本的功能構(gòu)建通常都比較成熟,對此,本文根據(jù)國家衛(wèi)生部門的要求,將HIS系統(tǒng)的功能劃分為以下幾個部分: 1)臨床診療部分。該部分主要是以病人的基本信息作為基礎(chǔ),各個科室則沿著這條主線進行工作。在該子系統(tǒng)中,病人在醫(yī)院的每一步的診斷、治療、護理等都被記錄在該系統(tǒng)當(dāng)中。對數(shù)據(jù)的輸入則主要通過與診療有關(guān)的各個部門進行整理完成。 2)藥品管理部分。對醫(yī)院藥品的管理通常分為管理和使用。該子系統(tǒng)可實現(xiàn)對藥品的入庫到最后的病人使用的管理,從而實現(xiàn)對醫(yī)院藥物的信息化的管理。該部分主要包括藥品庫存、發(fā)藥管理、用藥審核等功能。 3)經(jīng)濟管理部分。該部分則屬于醫(yī)院的基礎(chǔ)部分,主要用于對醫(yī)院相關(guān)費用數(shù)據(jù),并將產(chǎn)生的費用數(shù)據(jù)進行匯總、分析,從而為醫(yī)院決策提供參考。在該部分中包括對醫(yī)院設(shè)備和物資費用、病人入、轉(zhuǎn)和出費用、門診費用等。 4)外部接口部分。經(jīng)濟發(fā)展使得HIS系統(tǒng)不能獨立存在,并需要與相關(guān)的部門進行聯(lián)系。因此,該醫(yī)院信息管理系統(tǒng)提供了包括農(nóng)村醫(yī)保、城市職工醫(yī)保等接口。 為保證上述功能的實現(xiàn),需要對系統(tǒng)整體架構(gòu)進行布局,從而保障系統(tǒng)的良好運行,對此,本文將該系統(tǒng)的框架設(shè)計為如圖1所示。 圖1系統(tǒng)整體架構(gòu)Fig.1 Overall system architecture 在本系統(tǒng)中通過Java開發(fā)語言,并通過Struts框架進行開發(fā),從而借助Java技術(shù)的優(yōu)勢,大大減少了對該程序的重復(fù)開發(fā)。同時對該系統(tǒng)的訪問采用B/S模式,從而減少了客戶端對系統(tǒng)的維護和升級,為用戶提供了很大的方便。 通過上述算法和系統(tǒng)的構(gòu)建,文中以醫(yī)院2003~2013年的2-乳腺癌復(fù)發(fā)數(shù)據(jù)作為挖掘案例,對數(shù)據(jù)挖掘的實現(xiàn)進行闡述,其具體的挖掘流程如圖2所示。 通過對數(shù)據(jù)的預(yù)處理,從而得到365 276條合格的記錄。同時通過挖掘可以得到如表2所示的糖尿病及其并發(fā)癥的支持度計數(shù)。 由此通過上述挖掘的結(jié)果可以得到糖尿病及其并發(fā)癥的支持度和置信度分別為(以A=>B)為例: 圖2數(shù)據(jù)挖掘流程圖Fig.2 Data mining flow chart 表2 糖尿病及其并發(fā)癥的支持度計數(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%。 由此通過上述的計算可得到A=>B[support=1.07%,confudence=46.91%] 從而通過挖掘可以得到在門診的病人當(dāng)中,患有糖尿病并伴有高血壓的病人為1.07%,而患者糖尿病的病人會患高血壓的幾率則為46.91%。 傳統(tǒng)關(guān)聯(lián)規(guī)則算法在對數(shù)據(jù)的挖掘會產(chǎn)生大量的候選集,對此本文則通過對頻繁集篩選的改進,大大減少了數(shù)據(jù)掃描次數(shù),并且挖掘信息具有很大的實用性,對此該算法在醫(yī)院管理系統(tǒng)中具有實用價值。 [1]MargaretH.Dunham著.?dāng)?shù)據(jù)挖掘教程[M].郭崇慧,田風(fēng)占,靳曉明,等譯.北京:清華大學(xué)出版社,2005:65-164. [2]楊學(xué)兵.一種高效的關(guān)聯(lián)規(guī)則增量式更新算法[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]何成萬,余秋惠.MVC模型及軟件框架Struts的研究[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算法改進的關(guān)聯(lián)規(guī)則提取算法[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]崔群法,祝紅壽,趙喜來.SQLServer2008中文版從入門到精通[M].北京:電子工業(yè)出版社,2009:231-232. [6]羅森林.多維2型糖尿病實測數(shù)據(jù)的預(yù)處理技術(shù) [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 改進算法的優(yōu)越性
3 基于關(guān)聯(lián)規(guī)則挖掘的HIS系統(tǒng)構(gòu)建
3.1 HIS系統(tǒng)功能模塊
3.2 系統(tǒng)整體設(shè)計方案

4 關(guān)聯(lián)規(guī)則挖掘在醫(yī)院信息管理系統(tǒng)中的應(yīng)用


5 結(jié) 論