引言
數據挖掘從20世紀80年代提出到現在,不過短短20多年的時間,但其應用已非常廣泛,不僅用于科研領域,在商業領域的應用也毫不遜色,尤其是用于銀行、電信、保險、交通、零售(如超級市場)等領域。數據挖掘在醫學領域的應用也有著廣泛的前景。在醫學領域存在著大量的數據,包括病人病史、診斷、檢驗、和治療的臨床信息,藥品管理信息,醫院管理信息等。數據挖掘應用到醫學領域,對醫學數據進行分析,提取隱含的有價值的信息能夠促進醫院管理者作出明智決策、醫生對病人的正確診斷和治療。這對促進人類健康、保持健康的生活質量都有積極的意義。
1 基于關聯規則數據挖掘技術分析
1.1 數據挖掘概述
1.1.1 數據挖掘的定義
數據挖掘就是從大量的、不完全的、有噪聲的、模糊的、隨機的數據中,提取隱含在其中的、人們事先不知道的、但又是潛在的有用信息和知識的過程。這個定義包含幾層含義,數據源必須是真實的、大量的、含噪聲的;發現的是用戶感興趣的知識;發現的知識要可接受、可理解、可運用;并不要求發現放之四海而皆準的知識,僅需支持特定的發現問題。
1.1.2 數據挖掘的過程
數據挖掘過程一般需要經歷數據準備、數據開采、結果表述和解釋三個主要步驟。
(1)數據準備。數據準備是數據挖掘中的一個重要步驟,數據準備是否做好將直接影響到數據挖掘的效率、準確度以及最終模式的有效性。這個階段又可以進一步分為三個子步驟:數據集成、數據選擇、數據預處理。
(2)數據開采。數據開采階段選定某個特定的數據挖掘算法(如關聯規則、分類、回歸、聚類等算法),用于搜索數據中的模式。這是數據挖掘過程中最關鍵的一步,也是技術難點。
(3)結果表述和解釋。根據最終用戶的決策目的,對提取的信息進行分析,把最有價值的信息區分出來,并且通過決策支持工具提交給決策者。因此,這一步驟的任務不僅是把結果表達出來,還要對信息進行過濾處理。如果不能令決策者滿意,需要重復以上的數據挖掘過程。
1.2 關聯規則概述
給定一個事務(交易)數據庫,人們往往希望發現事務中的關聯事實,即事務中一些項目的出現必定隱含著同次事務中其他項目的出現,這是關聯規則的一個簡單的描述。
設I ={t1,t2 ,-,tm} 是由m 個不同項目組成的集合,D 是交易數據庫(交易數據庫又稱事務數據庫),其中每一個交易或事務T 是I 中一些項目的集合,即T- I.每一個交易或事務T 都與一個惟一的標識符TID 相聯。
對于項目集X-I,如果X-T,則交易或事務T 支持X.
如果X 中有k 個項目,則又稱X 為k- 項目集,或X 的長度為k.
關聯規則是指形式如下的一種數據隱含關系:X -Y,其中X - I,Y-I,且X-Y = -.
關聯規則挖掘的任務是:在給定的交易或事務數據庫D 中,發現D 中所有的頻繁關聯規則。所謂頻繁關聯規則是指這些規則的支持度、置信度分別不低于用戶給定的最小支持度和最小置信度。
2 ARFDW 系統設計與實現
2.1 ARFDW系統框架需求分析
作為通用的數據挖掘框架,ARFDW 要提供對不同操作系統、不同處理平臺的支持;對異構數據源的支持;支持多樣化、可插拔、可組合的數據轉換功能;提供統一的管理和調度功能;處理程序的繼承和開放性;要有清晰的框架處理層次以及對元數據的管理等。下面對框架的關鍵需求進行描述。
2.1.1 建立挖掘主題
系統應該支持挖掘主題的建立。在對被挖掘對象進行充分分析并確定挖掘主題及數據后,系統能夠通過挖掘主題配置工具來創建挖掘主題及關聯維度,并生成相應數據庫表及數據記錄映射對象。
2.1.2 異構數據源數據抽取
作為通用框架,系統應該支持盡可能多的異構數據源,異構數據源包括不同廠商、不同版本的數據庫,不同格式的文本等。如ODBC 數據源、(非ODBC)各種關系型數據庫數據源、應用數據、電子商務數據、各種文件格式中數據等;同時提供通用數據訪問接口:該接口能夠跨平臺、網絡訪問數據,支持在不同類型數據源間建立連接,通過它可以屏蔽各種數據源之間的差異,為后序工作提供一個統一的數據視圖。
2.1.3 建立轉換規則
由于業務系統的開發一般會有一個較長的時間跨度,這就造成同一種數據在業務系統中可能會有多種完全不同的存儲格式。這就要求ETL工具必須對抽取到的數據能進行靈活的計算、合并、拆分等轉換操作,系統要能夠不斷地以插件形式添加轉換節點的種類,就可以不斷地增強ETL工具的功能,以應付各種各樣的數據不一致的問題。
2.1.4 執行定時任務
針對數據源的多樣性和可變性,ETL通過對從數據源到目標數據倉庫間的映射規則進行元數據級別上的建模,使得整個抽取、轉換、裝載過程在元數據驅動下能完全自動調度執行,同時也便于維護和擴展。
2.2 ARFDW總體框架設計
ARFDW 系統架構模型如圖1 所示。首先,對被挖掘對象進行充分分析,確定挖掘主題及數據,通過挖掘主題配置工具創建挖掘主題及關聯維度,并生成相應數據庫表及數據記錄映射對象;其次,通過數據源配置工具對等待抽取的數據源數據的相關連接格式參數進行配置,數據源配置好后系統會將輸入的數據通過數據對象化工具轉換為統一的XML 描述數據格式,并根據映射在基礎數據庫中創建數據保存表記錄;再次,通過轉換任務元數據配置工具生成數據轉換規則及對應目標主題,該部分實現需要用到功能節點以及設定任務中各個功能節點的執行流程。配置好的任務將在任務列表中列出,可以手動執行,也可以通過總控調度配置自動執行。數據經過ETL處理后會加載到挖掘庫對應的主題中去。最后,通過基于關聯規則的挖掘算法對目標數據進行挖掘,并將條件的規則保存到規則庫。
2.3 ARFDW框架實現
整個系統框架結構按照分層設計、實現?,F對關鍵層的實現進行逐一描述。
數據持久層采用Hibernate,負責存儲、更新、刪除數據庫記錄等。Hibernate是一個用來處理O/R Mapping的持久層框架。技術本質上是一個提供數據庫服務的中間件,該中間件屏蔽了不同數據庫之間的差異。它的工作原理是通過文件把值對象和數據庫表之間建立起一個映射關系,這樣,只需要通過操作這些值對象和Hibernate提供的一些基本類,就可以達到使用數據庫的目的。
Hibernate 使用數據庫和配置信息來為應用程序提供持久化服務(以及持久的對象)。在這里,創建了接口IdaoSupport,該接口定義了所有對數據庫進行的原子操作,DaoSupportHibernate3Imp 是其實現類,該類繼承了HibernateDaoSupport類,通過調用該類提供的方法來完成對數據庫的操作。
業務邏輯層采用Spring.Spring框架是一個分層架構,它的核心提供了一個管理業務對象以及它們之間依賴關系的方法。例如,應用控制反轉(IOC),它可以特定一個數據訪問對象(DAO)去依賴于某一個數據源。
同時,它允許開發者實現接口并在XML 文件中去定義其實現類。同時為了避免EJB的高度侵入性,實現無侵入性的目標,Spring 大量引入了JAVA 的Reflection 機制,通過動態調用的方式避免硬編碼方式的約束,并在此基礎上建立了其核心組件BeanFactory,以此作為其依賴注入機制的實現基礎。
表示層采用基于MVC模式的Struts框架。MVC(模型-視圖-控制)設計模式將WEB層分為三類對象:代表數據的模型(Model)對象,顯示模型的視圖(View)對象以及響應用戶輸入、處理業務流程的控制器(Controller)對象。
整個系統處理流程如下:
(1)當系統第一次啟動時,應用會根據部署描述文件Web.xml指向的applicationContext.xml中定義的內容初始化數據庫連接池、進行O-R Mapping映射、根據IoC實例化業務邏輯類。
(2)操作員登陸時,進行相應的權限驗證,如果驗證通過,則初始化單例對象(InitSingleton),該對象保存了一些全局實例,用戶信息、角色信息、權限信息等。
(3)操作員通過系統界面(JSP)提交業務請求(業務信息保存在FormBean中),并通過struts-config.xml中的描述定位到控制器(Action),業務請求包括:業務編號、當前步驟、執行動作等。
(4)控制器接收用戶請求,將FormBean中的信息傳遞到BO中,同時調用權限驗證模塊(RightControl)進行操作員權限驗證。權限驗證接口判斷當前用戶對于請求的業務是否具有權限(只讀、可寫),將結果反饋給控制器。
(5)如果驗證通過,控制器將根據用戶請求信息,調用系統啟動時實例化的業務邏輯類進行相應業務處理。
(6)業務處理邏輯對象處理特定業務邏輯,當需要CRUD(即Create、Read、Update、Delete)時,會根據appli-cationContext.xml中通過set方法注入的DAO實例,執行相應的CRUD操作。
(7)業務處理完成后,控制器根據返回結果,將用戶頁面導向特定JSP,如果有需要,將返回的結果封裝成FormBean(與用戶界面相對應的JavaBean,其屬性與用戶界面元素相對應)一并返回特定JSP.
3 結語
課題根據目前國內外數據集成工具暴露出的問題,及目前醫生診療數據挖掘的現狀、技術及特點提出了ARFDW 自適應模型框架的概念。該框架使用JAVA語言、對象持久化技術和XML技術構建出跨平臺、多線程并發運行、支持增量數據更新、靈活的數據挖掘系統架構模型,并給出了設計和實現方案。
-
數據
+關注
關注
8文章
7085瀏覽量
89204 -
JAVA
+關注
關注
19文章
2972瀏覽量
104865 -
XML
+關注
關注
0文章
188瀏覽量
33104
發布評論請先 登錄
相關推薦
評論