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

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

4 關聯規則挖掘在醫院信息管理系統中的應用


5 結 論