PDF Advisor: Nan-Chen Hsieh Ph.D.
Bebas
74
0
0
Teks penuh
(2) 1.
(3) 誌. 謝. 終於,兩年的碩士生涯在此刻要告一段落,兩年或許很短,一眨眼就過了,但對我 來說每一刻都很精采、豐富,值得我一再回憶,非常感激大家在這段時間不管是在論文 或是其他方面給我的幫助,感謝我的指導教授謝楠楨老師,對我的指導與照顧,也謝謝 學長姐在我有困惑的時候提供的寶貴意見,還有學弟妹適時的援助,再來是班上的夥伴, 首先是丁安、詵怡這兩位開心果,化解了我們在做研究時的苦悶,榮駿、立垣在資訊技 術上給我的援助與諮詢,在論文寫作方面,謝謝淑文、英秀和你們討論可以學到不少, 也謝謝佩玫、佳玲與盈潔提供你們在醫療領域的專業,還有常常帶我們上山下海到處玩 和分享攝影樂趣的銘宏,以及出去玩的固定班底智文,再來是時常特地帶美食來學校分 享的文斌與碧珊,最後是向爸爸一樣的顧家好男人湯 sir,時常給我們這些小朋友鼓勵 與關懷,兼顧家庭、事業與學業的您辛苦了。還有兩位口詴委員,李國楨醫師與林偉川 老師,謝謝你們在論文上給予我的指導與建議。 最後感謝我的家人可以給我這麼好的環境可以讓我無後顧之憂地念書,完成我的碩 士學位,還有感謝在我人生中遇到的各位,謝謝你們,真的很高興能與你們相遇。 易謙 謹誌于台北 2011 年 7 月. I.
(4) 以機器學習為基礎的心臟血管疾病 病患術前風險評估預測工具. 研究所組別:資訊管理研究所. 頁數:74. 審查時間:民國 100 年 6 月. 學位別:碩士. 研究生:呂易謙. 指導教授:謝楠楨 博士. 摘要 隨著資訊科技的進步、硬體成本降低、資訊設備處理能力提升,近年來醫療院所對 資訊科技的需求日漸增高,根據文獻指出醫療資訊科技可以有效提升醫療人員遵循臨床 作業指引,改善對病患的病情監測、管理與降低醫療疏失、錯誤,使醫療品質得到改善, 例如臨床決策支援系統可以用來輔助醫療人員在診斷疾病時給予決策建議,協助醫師做 診斷,而手術會因為不同病患體質差異加上疾病的複雜性,以人工方式做預後就變得相 當困難。本研究主要目的是藉由臨床資料庫建立與發展以機器學習為基礎之預測模型, 用以預測心臟血管疾病病人術前風險程度,並且以所建立的模型及參數建構成一線上 web-based 軟體工具,供醫療人員在術前進行決策時的一個參考。在建立系統之後,其 系統包含集成式模型、分類器相關模組、模型評估與模型再利用以及資料視覺化,由此 希望可以來輔助醫療人員在術前了解術後的風險程度,提升預後準確度,在未來方面也 希望可以比較系統預測和人工預測結果的方式做為醫學生的教育訓練,並且能與其他醫 療系統結合提供教學與研究使用,將系統正式上線測詴。 關鍵字:臨床決策支援系統、預測模型、預後、機器學習。. II.
(5) A Machine Learning based Prediction Tool for Assessing the Preoperative Risk of Patients with Cardiovascular Diseases Department:Information Management. Pages:74. Examination Time:June, 2011. Degree:Master. Student Name:Yi-Qian Lu. Advisor Name:PH.D. Nan-Chen Hsieh. Abstract In recent years, with the advances in information technology, hardware costs down and handling capacity improvement, the requirement of information technology has increased gradually in hospitals. The past research results shown that health information technology can effectively enhance the health professionals follow the clinical guidelines to improve patients' condition monitoring, management, quality of care and reduce medical negligence. For example, clinical decision support systems can be used to assist medical staff in the diagnosis of disease and to give treatment recommendations. Because of the individual physical differences of patients and the complexity of the diseases itself, the prognosis of postoperative risk becomes very difficult. The main purpose of this study is to develop machine learning based prediction models to predict risk of patients before the cardiovascular surgery. Furthermore, we implemented a web-based assessment system by the built models for medical staffs when he or she is making a decision before surgery. The system consists by the ensemble module, classification-related modules, evaluation module, and data visualization module, which hope to assist medical staff understanding the risks of surgery to improve prognosis accuracy in the preoperative stage. This research also compares the predictive results between the system and the human for the purpose to educate medical students. In the future, we intend to integrate the developed system with other health care system to provide teaching and research.. III.
(6) keyword:clinical decision support systems、prediction model、prognosis、machine learning. IV.
(7) 目. 錄. 摘要........................................................................................................................................... II Abstract .................................................................................................................................... III 圖 目 錄..................................................................................................................................VI 表 目 錄............................................................................................................................... VIII 第一章 緒論........................................................................................................................ 2 第一節 研究背景與動機 ........................................................................................... 2 第二節 研究目的........................................................................................................ 3 第三節 研究範圍........................................................................................................ 3 第四節 研究流程........................................................................................................ 4 第五節 論文架構........................................................................................................ 5 第二章 文獻探討................................................................................................................ 6 第一節 臨床資訊系統 ............................................................................................... 6 第二節. 臨床決策支援系統 ....................................................................................... 8. 第三節 第四節. EuroSCORE ............................................................................................... 11 預測性資料探勘 ......................................................................................... 15. 第五節 資料探勘工具-Weka .................................................................................. 18 第六節 電子資料交換(EDI)與 XML ..................................................................... 25 第七節 Web-Services .............................................................................................. 27 第八節 分類器效能評估 ......................................................................................... 29 第三章 研究方法.............................................................................................................. 32 第一節 研究架構...................................................................................................... 32 第二節 系統架構...................................................................................................... 34 第三節 實作流程...................................................................................................... 36 第四節 系統開發方法與工具 ................................................................................. 46 第四章 心臟血管疾病術前病患風險評估預測工具設計結果 ..................................... 49 一、 資料集上傳 ............................................................................................. 49 二、 預測的目標屬性選擇器 ......................................................................... 51 三、 屬性篩選器 ............................................................................................. 53 四、 分類器選擇器 ......................................................................................... 54 五、 模型評估:混淆矩陣 Confusion Matrix、ROC 曲線 ........................ 55 六、 資料視覺化 ............................................................................................. 57 七、 模型再利用:模型儲存與模型上傳 ..................................................... 58 第五章 討論與未來研究方向 ......................................................................................... 60 第一節 結論.............................................................................................................. 60 第二節 研究限制...................................................................................................... 61 第三節 未來研究方向 ............................................................................................. 62 參考文獻.................................................................................................................................. 63 V.
(8) 圖 目 錄 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 1 研究流程圖 ...................................................................................................................... 4 2 STANDARD 模式 .................................................................................................................. 14 3 LOGITIC 模式 .................................................................................................................... 14 4 WEKA 軟體使用環境選擇畫面 ..................................................................................... 18 5 WEKA EXPLORER 模式環境畫面 .................................................................................... 19 6 WEKA 內建的視覺化效果 ............................................................................................. 20 7 KNOWLEDGE FLOW 模式環境畫面 ................................................................................ 20 8 WEKA 原始碼儲存庫 ..................................................................................................... 22 9 由 WEKA 官方取得的 API ............................................................................................. 23 10 WEKA 官方提供的 API 說明文件 ............................................................................... 24. 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 11 電子資料交換的基本程序 .......................................................................................... 25 12 範例:以 XML 描述病患的基本資料 ....................................................................... 26 13 WEB-SERVICES 架構 ..................................................................................................... 27 14 三個獨立的分類器在 ROC 圖上 .................................................................................. 30 15 ROC 曲線 ....................................................................................................................... 30 16 心臟血管外科臨床資訊系統架構 .............................................................................. 33 17 系統架構圖 .................................................................................................................. 35 18 WEKA KNOWLEDGE FLOW 確定模型的可行性............................................................ 36 19 模型會用的的元件 ...................................................................................................... 38 20 與模型相對應的 API .................................................................................................... 39 21 將 WEKA API 匯入程式 ............................................................................................... 40. 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 22 ARFFLOADER 讀取檔案 ..................................................................................................... 40 23 利用 SETCLASSINDEX 設定欲預測之屬性 .................................................................. 41 24 利用 CROSSVALIDATEMODEL 做 10-FOLD .................................................................... 41 25 建立三個分類器 .......................................................................................................... 41 26 建立 ENSEMBLE 分類器 ............................................................................................... 42 27 評估分類器的效能 ...................................................................................................... 42 28 利用 JAVASCRIP 技術顯示圖表範例 ............................................................................ 42 29 建立一個 WEB-SERVICE 服務端 ................................................................................... 44 30 將已開發好的程式轉成 WEB-SERVICES 服務 ............................................................. 44 31 轉換完成的服務端網址 .............................................................................................. 45. 圖 圖 圖 圖 圖 圖. 32 CSV 格式的檔案 ........................................................................................................... 49 33 以 EXCEL 開啟 CSV 檔案 .......................................................................................... 50 34 資料集上傳 .................................................................................................................. 51 35 設定預測目標屬性 ...................................................................................................... 52 36 屬性篩選 ...................................................................................................................... 53 37 分類器選擇:集成式分類器與單一分類器 .............................................................. 54. VI.
(9) 圖 38 集成式分類器的混淆矩陣與 ROC 曲線 .................................................................... 55 圖 圖 圖 圖 圖. 39 單一分類器的混淆矩陣與 ROC 曲線 ......................................................................... 56 40 各種屬性的資料分布圖 .............................................................................................. 57 41 儲存模型 ...................................................................................................................... 58 42 模型上傳 ....................................................................................................................... 59 43 使用模型進行預測 ....................................................................................................... 59. VII.
(10) 表 目 錄 表 表 表 表. 1 2 3 4. EURPSCORE STANDARD 模式的記分表內容 .................................................................... 11 EURPSCORE LOGISTIC 模式的權重值(BETA)內容 ............................................................. 13 混淆矩陣 ........................................................................................................................ 31 資料集範例 .................................................................................................................... 52. VIII.
(11) 第一章 第一節. 緒論. 研究背景與動機. 行政院衛生署在民國 99 年 6 月公佈民國 98 年國人主要五大死因,其死亡人 數占率依序為:(1)惡性腫瘤占 28.1%;(2)心臟疾病占 10.6%(高血壓性疾病除 外); (3)腦血管疾病占 7.3%; (4)肺炎占 5.9%; (5)糖尿病占 5.8%,心臟疾病 所造成的死亡人數僅次於死因之首的癌症,由於國人飲食習慣改變及生活作息缺 乏運動,諸多心臟病中,以成年人冠狀動脈硬化性心臟病的罹患率最高,冠狀動 脈繞道手術為治療冠狀動脈心臟病的其中一種治療方式,由於高難度心臟外科手 術普遍具有相當的危險性,部份患者手術後可能發生併發症,此外手術對每個患 者會因為體質差異在手術中和術後治療都會有所不同,這對醫生來說是個相當棘 手的問題。 隨著資訊科技的進步、硬體成本降低、資訊設備處理能力提升,讓許多企業 紛紛使用資訊科技來提升整體經營的綜效,經過時間的考驗,在效果上也達到相 當優異的成果,但對許多醫療領域來說,資訊科技的相關應用還顯得不足。近年 來,因為國內醫院數量增加迅速,加上政府的許多重大的醫療政策,如遠距離照 護、電子病歷等,醫療院所對資訊科技的需求日益漸增。 根據文獻指出醫療資訊科技可以有效提升醫療人員遵循臨床作業指引,改善 對病患的病情監測、管理與降低醫療疏失、錯誤,使醫療品質得到改善,醫療資 訊技術也有效提升醫療效率和降低醫療成本支出[1],資訊科技也可以輔助醫師做 診斷、決策和推薦治療方法,例如決策支援系統可以用來輔助外科醫生在疾病方 面的診斷。. 2.
(12) 資料探勘的技術持續蓬勃發展,促使相關醫療系統也以轉型為智慧型系統為 目標,目前已有許多和心臟病相關的預測研究[2-4],如果能以資料探勘技術協助 醫療人員預測這些風險因子,提高預後的準確率,相信這對醫療人員是一大幫助。. 第二節. 研究目的. 本研究主要目的在於開發一個以機器學習為基礎的心臟血管疾病術前病患風 險評估預測工具。並以下列三個目標做為研究主要的方向。 (一) 藉由臨床資料庫建立與發展以機器學習為基礎之預測模型,用以預測心 臟血管疾病病患術前風險程度。 (二) 以目標一所建立之模型及參數,建構一線上(web-based)軟體工具,並用 於協助醫師與病人在術前與術中進行醫療決策。 (三) 對於所發展之 web-based 臨床輔助決策工具進行使用性評估,以了解在 臨床實務上的可用性,與了解該軟體工具對醫師臨床決策造成的影響。. 第三節. 研究範圍. 此篇研究的範圍主要是在心臟血管外科臨床資訊系統架構[5]三大部分裡的 臨床決策這個領域,建立與發展一個預後預測模型,提供一個可以供使用者自主 產生預測模型的工具,以便輔助醫療人員在術前預測術後的結果時,可以有一個 參考。研究的臨床資料是以台北某醫學中心的心臟血管外科所蒐集的資料做為分 析範例,作為測詴本系統預測模型工具的資料來源。. 3.
(13) 第四節. 研究流程. 研究背景與動機. 研究範圍與目的. 文獻探討. · · · · · ·. 研究方法. ü 研究架構 ü 實作流程 ü 系統流程. 討論與結論. 圖 1 研究流程圖. 4. 臨床資訊系統 臨床決策支援系統 預測性資料探勘 資料探勘工具-Weka Web-Services 分類器評估.
(14) 第五節. 論文架構. 本論文將分為五個章節,分別為上一章提到的緒論,其中包含研究背景與動 機、目的、範圍和流程、本節的論文架構,簡要說明研究的主題的起源,讓讀者 可以在短時間內瞭解此篇研究的大鋼。 第二章文獻探討,探討與研究相關的文獻,包括臨床資訊系統、臨床決策支 援系統、預測性資料探勘、資料探勘工具-Weka、Web-Services 以及分類器效能評 估,研讀相關領域與學者的理論和研究來佐證研究主題的重要性與價值。 第三章研究方法,包含研究架構、系統架構、實作流程、系統開發方法與工 具,這章節主要是提出如何實作研究目的的程序與方法。 第四章心臟血管疾病術前病患風險評估預測工具設計結果,這部分是根據研 究目的以及研究方法的架構,將設計完成的系統展示並且做說明。 第五章討論與未來研究方向,描述本篇研究最後的成果,對研究做個彙整、 並說明研究的限制、需要改進的地方,以及整理未來可以延續的議題。. 5.
(15) 第二章 第一節. 文獻探討. 臨床資訊系統. 臨床資訊系統(Clinical Information Systems, CIS),Dean F Sittig [6]等學者指 出,臨床資訊系統是一個集結許多不同資訊技術應用程式,這些應用程式提供一 個關於病人照護資訊集中化的儲存庫,此儲存庫的資訊存有病人的病史、幫助臨 床醫師了解病人情況的知識、治療方案和復健計畫。 傳統的臨床資訊是以紙本的形式存在,傳統的紙本需要龐大的儲存空間、需 人力調閱與費時的傳送、資料不易備份,病歷流向難以掌控、紙張的浪費等,為 了改善這些狀況以及提高對資料的掌控和分享,以電腦為基礎的臨床資訊系統已 經漸漸成為主要儲存病患資料和治療相關數據的方式[7, 8]。 臨床資訊系統是一個組織性、可儲存、可雙重確認所有醫療資訊的電腦化系 統,可以將病史、醫令、醫生的筆記和口述,其他資訊以電子化的方式集結起來, CIS 可以藉由安全性來減低錯誤率,照護者必頇輸入準確的資訊,當有任何資訊 衝突時就會出現警示,然後給予所需要的資訊。 臨床資訊系統可以分成三大部分[6]: (1) 電子病歷(Electronic Medical Records, EMRs): 記錄有關病人的資訊包括:姓名、年齡、地址、性別,以及醫院提供照 護各方面有關的細節。 (2) 教育與研究: 醫生可利用病人的資訊作為教育與研究用途,藉由從資料庫截取資料進 行資料探勘,從資料了解疾病的狀況以及如何有效管理他們。 (3) 臨床決策支援(Clinical Decision Support, CDS):. 6.
(16) 臨床決策支援提供使用者取得、操作、應用與顯示合適的資訊來輔助醫 護人員做出正確地、即時地,和有證據支持的決策。 電子化的臨床資訊系統帶來的好處:. (1) 病患資料存取便利性: 臨床資訊系統可在任何照護點提供更方便的存取病歷服務,提升了照護 的靈活性,尤其是在門診方面,加上網際網路的應用,改善了遠距離存 取資料能力的不足。. (2) 結構化的訊息: 臨床訊息可以更有組織的存放在臨床資訊系統,讓使用者更容易地維護 和快速的搜尋相關資訊,這些結構化容易解讀的資訊減少手寫字跡辨識 的錯誤。. (3) 病患安全和改善藥物處方: 臨床資訊系統可以改善的藥物劑量和搭配,來減少因為劑量不足或是過 多導致所造成的影響,以及藥物間相互作用,進而促進藥物的效用,保 障病患的安全。. 7.
(17) 第二節. 臨床決策支援系統. 臨床決策支援系統(Clinical Decision Support Systems, CDSS)是一種互動式的 決策支援系統,其目的是協助醫生和其他醫療專業人員依據病患的資料做出正確 的診斷決策。 電腦化的臨床決策支援系統是一個用來改善臨床決策的資訊系統。此系統會 根據個別病患的特徵對應到電腦的知識庫,並由軟體演算法產生對病人特徵的建 議,這些電腦產生的建議可以透過印出紙本及圖表或是由行動通訊設備將電子醫 療紀錄傳送給臨床醫生。病患的特徵可以由醫生和醫護人員或病患手動輸入到電 腦系統裡,並且可以利用電子醫療紀錄查詢檢索病患的特徵資料。 目前已經有許多的臨床問題發展成這一類的系統,包括胸痛的診斷、不孕的 治療、及時的預防接種管理。這些系統提供許多決策支援方法,包含異常值的警 訊、逾期的預防保健提醒、處方藥物的建議、現有醫療照護醫囑的評價和各種照 護問題的建議[9]。 最近的研究顯示經過驗證的決策支援系統可以用來輔助外科醫生在疾病方面 的診斷,如 Piazza 和 Goldhaber[10]這兩位學者曾經向心臟血管醫生提供了一個 決策支援系統,結果顯示,在日常照護中決策支援系統可以加強病患心臟血管疾 病的預防、診斷、常見的心臟血管疾病管理、減少醫療照護成本,藉由警示異常 的測詴數據、建議預防性干預措施來避免醫療疏失進而改善病患的安全,Amit 等 學者也進了一項回顧性研究,在 100 多篇的研究裡來評估臨床決策支援系統成效, 結果顯示許多的臨床決策支援系統確實可以協助醫生在臨床上的決策[9]。. 8.
(18) 一、. 臨床決策支援系統的發展歷史與類型. 在早期電腦出現的時代醫療專業人員就已經預期電腦可以協助他們進行診斷, 最早的有關於以電腦協助診斷的文章出現於 1959 年,由 Ledley. 和 Lusted 這兩. 位學者所提出的,之後 Warner 等人才於 1964 提出實驗性的臨床決策系統雛形, 到了 1970 年代則有 deDombal 的急性腹痛鑑別診斷系統以及 Shortliffe 的 MYCIN 腦膜炎診斷系統[11],MYCIN 可以經由使用者介面和醫生進行一連串的交談,並 將交談資料輸入,並根據輸入的資料來協助醫生診斷腦膜炎的病原菌,並可以建 議使用哪一種抗生素和劑量來治療此病[23]。 自臨床決策支援系統被提出後,更多的學者相繼提出新的演算法和架構來設 計出更準確且符合人類使用方式的系統,這些將知識專換成電腦的語言的方法, 稱為知識表現法(Knowledge Representation, KR),依照知識表現的方式可以分 為五大類[23]: (1) 法則式(Rule-base Approach): 即是用 IF...THEN...的句子來描述所有的知識法則。MYCIN 就是屬 於這一類型,特點是比較適合明確的知識,所以一旦規則確立後, 規則庫的建立就非常容易,則缺點在於新舊規則可能會有矛盾的情 況,也無法表達推論中的不確定性,而過多的規則不易於維護。 (2) 機率式(Probabilistic Interface): 以機率和數學方程式來推理計算,利用機率的隨機性表示知識中的 不確定性,貝氏定理(Bayesian formulation)即是一個最常被使用的演 算法,以及近年來頗具潛力的貝氏網路(Bayesian Networks),其結合 了機率學和圖學的特性,在醫學領域裡已經被廣泛的應用。相較於 法則式,機率式可以比較全面性的顯示推論中的不確定性,較適合. 9.
(19) 充滿不確定因子的醫學診斷,缺點是蒐集大量的機率性資料相當耗 時費力。 (3) 統計式(Statistical Modeling): 將統計的許多方法,如邏輯式回歸(Logistic Regression)、線性判別 函數(Linear Discriminant Function)、遞迴分割(Recursive Partitioning) 等技巧,是一項需要大量已知的病歷資料來做訓練,優點在於資料 量足夠情況下,電腦可以自行建立模型,相對的,若資料量不足或 資料毀損鑿會降低模型的信賴度。 (4) 類神經網路(Artificial Neural Network): 是一項運用軟體技術模仿自然界的神經細胞和細胞間的突觸,藉由 調整細胞和突觸兩者間的權重來適應和學習大量資料中所隱藏的特 殊 Pattern,和統計方法類似,利用大量已知的資料最為訓練用途, 好處是知識表現的過程可以簡單化,資料的量和品質也會影響模型 的可信度,也缺乏解釋知識的能力。 (5) 其他: 不屬於以上四類的,例如模糊集合理論(Fuzzy Set Theory)、信任函 數(Belief Function)等。. 10.
(20) 第三節. EuroSCORE. EuroSCORE (European System for Cardiac Operative Risk Evaluation, http://www.euroscore.org/index.htm)是一個世界上被廣泛應用於心臟手術的風險模 型,這個模型於 1995 年建立,資料分別從 8 個歐洲國家裡的 128 家醫院蒐集了將 近 2 萬例的病患,在所有的病患裡蒐集了相關的 97 個術前風險因素,最後再從裡 面篩選出與死亡率相關的 17 個對歐洲病患的高危險因素。 EuroSCORE 分為兩種計算模式,分別為 Standard[12]與 Logistic[13]兩種, Standard 模式是以計分的方式計算出病患術後的死亡率,Logistic 模式則是使用邏 輯式回歸(Logistic Regression)作為背後的邏輯來計算出病患術後的死亡率,假設 病患有 17 個風險中的任一個因素存在,這個風險因素就會被配置一個分數(Score) 或是權重值(beta),最後將分數加總作為結果,或是透過邏輯式回歸將權重值放進 公式計算出結果。 EuroSCORE 在歐洲已經有許多的醫院將此系統在病患上進行測詴,並且與其 他評分系統進行比較,發現 EuroSCORE 的效果令人滿意,近年來,英國國家資 料庫也對 EuroSCORE 進行了測詴,發現其效果優於其他的簡單型評分系統,在 鑑別力方面則接近了貝氏模型。 計分模式(Standard)的 EuroSCORE 模型已經通過世界上許多病患的驗證,在 心臟手術品質控制和個別病患的評估風險方面的貢獻相當可觀,而且使用簡單, 然而,當某些組合的風險因素同時存在的時候,特別是在高風險的病患,計分模 式的 EuroSCORE 模型有時可能會低估風險,而邏輯式回歸(logistic )對於高風險 的病患則可以提供更精準的風險預測,但缺點是需要複雜的計算。 以下將簡單列出 Standard 模式的風險因素計分內容與 Logistic 模式的風險因 素權重值與邏輯式回歸公式。 11.
(21) 表 1 EurpSCORE Standard 模式的記分表內容 Patient-related factors. Score. Age. (per 5 years or part thereof over 60 years). 1. Sex. female. 1. Chronic pulmonary disease. longterm use of bronchodilators or steroids for lung disease. 1. Extracardiac arteriopathy. any one or more of the following: claudication, carotid. 2. occlusion or >50% stenosis, previous or planned intervention on the abdominal aorta,limb arteries or carotids Neurological dysfunction. severely affecting ambulation or day-to-day functioning. 2. Previous cardiac surgery. requiring opening of the pericardium. 3. Serum creatinine. >200m micromol/L preoperatively. 2. Active endocarditis. patient still under antibiotic treatment for endocarditis at the. 3. disease. time of surgery Critical preoperative state. any one or more of the following: ventricular tachycardia or. 3. fibrillation or aborted sudden death, preoperative cardiac massage, preoperative ventilation before arrival in the anaesthetic room,preoperative inotropic support, intraaortic balloon counterpulsation or preoperative acute renal failure (anuria or oliguria<10 ml/hour) Cardiac-related factors Unstable angina. Score rest angina requiring iv nitrates until arrival in the anaesthetic. 2. room LV dysfunction. moderate or LVEF30-50%. 1. poor or LVEF <30. 3. Recent myocardial infarct. (<90 days). 2. Pulmonary hypertension. Systolic PA pressure>60 mmHg. 2. Operation-related factors Emergency. Score carried out on referral before the beginning of the next. 2. working day Other than isolated CABG. major cardiac procedure other than or in addition to CABG. 2. Surgery on thoracic aorta. for disorder of ascending, arch or descending aorta. 3. Postinfarct septal rupture. 4. 12.
(22) 邏輯式回歸的公式如下:. Predicted mortality =. e (βo + åbi Xi) / 1+ e (βo + åbi Xi). e 為自然對數 = 2.718281828… βo 為邏輯式回歸的常數 = -4.789594 βi 為 Xi 的係數,如表 2。 Xi 若 age<60 則 Xi=1,若 age≧60 則 age 每增加 1 歲 Xi 就增加 1,因此 59 歲以 下 Xi=1,60 歲 Xi=2、61 歲 Xi=3、62 歲 Xi=4,依此類推。 表 2 EurpSCORE Logistic 模式的權重值(beta)內容 Patient-related factors. Beta. Age. Continuous. 0.0666354. Sex. female. 0.3304052. Chronic pulmonary disease. longterm use of bronchodilators or steroids for lung. 0.4931341. disease Extracardiac arteriopathy. any one or more of the following: claudication, carotid. 0.6558917. occlusion or >50% stenosis, previous or planned intervention on the abdominal aorta,limb arteries or carotids Neurological dysfunction. severely affecting ambulation or day-to-day functioning. 0.841626. Previous cardiac surgery. requiring opening of the pericardium. 1.002625. Serum creatinine. >200m micromol/L preoperatively. 0.6521653. Active endocarditis. patient still under antibiotic treatment for endocarditis at. 1.101265. disease. the time of surgery Critical preoperative state. any one or more of the following: ventricular tachycardia. 0.9058132. or fibrillation or aborted sudden death, preoperative cardiac massage, preoperative ventilation before arrival in the anaesthetic room,preoperative inotropic support, intraaortic balloon counterpulsation or preoperative acute renal failure (anuria or oliguria<10 ml/hour) Cardiac-related factors. Beta. 13.
(23) Unstable angina. rest angina requiring iv nitrates until arrival in the. 0.5677075. anaesthetic room LV dysfunction. moderate or LVEF30-50%. 0.4191643. poor or LVEF <30. 1.094443. Recent myocardial infarct. (<90 days). 0.5460218. Pulmonary hypertension. Systolic PA pressure>60 mmHg. 0.7676924. Operation-related factors Emergency. Beta carried out on referral before the beginning of the next. 0.7127953. working day Other than isolated CABG. major cardiac procedure other than or in addition to. 0.5420364. CABG Surgery on thoracic aorta. for disorder of ascending, arch or descending aorta. Postinfarct septal rupture. 1.159787 1.462009. EuroSCORE 線上版(http://www.euroscore.org/calc.html),圖 2 與圖 3 分別為 Standard 與 Logistic 模式。. 圖 2 Standard 模式. 圖 3 Logitic 模式. 14.
(24) 第四節. 預測性資料探勘. 預測性資料探勘(Predictive Data Mining)是指從訓練集合裡建立分類模型的 一個程序,此模型可以用來自動預測其他未分類的例子,是一種結合資料庫分析、 多變量統計與人工智慧的技術,可以用預測未來的顧客行為、將顧客分類和預測 事件。 Riccardo Bellazzi, Blaz Zupan [14]兩位學者指出,預測性資料探勘在臨床上 主要的目的是推導出一個模型,並利用醫療資料預測病患的死亡率、發病率來支 援臨床手術決策,預測性資料探勘也有助於預後和手術治療計畫,目前也有相關 的研究顯示針對乳癌使用預測性資料探勘來預測也有著不錯的成效[15]。 預測性資料探勘方法來自不同研究領域,經常使用不同方式的建立模型,不 同的預測性資料探勘方法會有幾個以下不同的特色: (1) 處理遺失資料和雜訊方式的不同。 (2) 適用於不同類型的治療。 (3) 分類模式的表現方式,有些可以或無法讓專家了解其內部的運作情 況。 (4) 降低資料集合屬性的難度,以便容易解釋資料與下結論。 (5) 電腦的計算成本和分類法模型的使用的不同。 (6) 有足夠解釋決策的能力使模型可以用在決策。 (7) 全面性,即是能夠很好地用來處理未來其他資料。 以下為目前常見的預測性資料探勘演算法: (1) 決策樹(Decision Trees) 決策樹代表的是對象屬性與對象值之間的一種映射關係。樹中每個 節點表示某個對象,而每個分叉路徑則代表的某個可能的屬性值, 而每個葉結點則對應從根節點到該葉節點所經歷的路徑所表示的對 15.
(25) 象的值。決策樹僅有單一輸出,若欲有複數輸出,可以建立獨立的 決策樹以處理不同輸出。決策樹學習也是資料探勘中一個普通的方 法。在這裏,每個決策樹都表述了一種樹型結構,它由它的分支來 對該類型的對象依靠屬性進行分類。每個決策樹可以依靠對來源數 據庫的分割進行數據測詴。優點是產生的規則容易了解、能夠處理 連續型和類別型的資料,但不擅長處理有時間順序的資料,需要比 較多的預處理動作。 (2) 決策規則(Decision Rules) 將現有的決策樹轉換成 IF…THEN…的規則程序,主要是利用決策 規則的方便性以了解複雜的決策樹,而決策規則常用於醫學領域, 如知名的 Ottawa 腳踝關節診斷規則。 (3) 類神經網路(Artificial Neural Networks) 類神經網路是一種應用類似於大腦神經突觸連接的結構進行訊息處 理的數學模型。神經網路是一種運算模型,由大量的節點(或稱神 經元、細胞)和突觸之間相互連接構成的結構。利用調整節點和突 觸兩者間的權重來適應和學習大量資料中所隱含的特徵。優點在於 準確性高、有良好的全面性,對於未知資料有不錯的結果,適應性 強可以接受不同種類的變數,缺點是相當耗費電腦的計算成本,其 建立的結構是隱性,缺乏解釋能力。 (4) 支援向量機(Support Vector Machines) 在預測的準確性,SVM 可以說是目前最強大的分類演算法[16],簡 單來說,SVM 的概念是找出一條線能夠依據資料特性將其分為兩個 集合,而且這條線是距離這兩個集合的邊界(margin)越大越好, 支援向量機可用來做分類(classification)或回歸(regression)的方法, 給予一群已經分類好的資料,支援向量機可以經由訓練獲得一組模. 16.
(26) 型。之後,有尚未分類的資料時,支援向量機可以依據利用先前資 料訓練出來的模型去預測這筆資料所屬的分類。SVM 是目前準確度 相當高的一個方法,其使用容易、訓練速度快,但對於龐大的資料 樣本比較難以訓練。 (5) 貝氏網路(Bayesian Networks) 貝氏網路是結合貝氏機率理論與圖形模式所發展出來的知識表示方 式,藉由節點、連結與條件機率表三部分,呈現出知識中的不確定 性和交互關係。可以清楚的表達變數之間的因果關係,當新樣本加 入時只要做局部調整即可以得到新的分類模型,也適合用在預測未 知的樣本類別。 (6) 簡易貝氏分類器(Naive Bayesian classifier) 將貝氏分類器加上獨立條件的假設後就是簡易貝氏分類器,也就是 說在假設類別值給定的條件下,屬性之間會彼此互相獨立,此方法 已經被廣泛應用在垃圾郵件的過濾,對於少量的資料也可以做有效 的分類。 (7) 最近鄰居(K-neatest Neighbors) 採用向量空間模型來分類,概念為相同類別的案例,彼此的相似度 高,而可以藉由計算與已知類別案例之相似度,來評估未知類別案 例可能的分類。其優點在於此分類器不需要使訓練集進行訓練,訓 練時間複雜度為零,不過當樣本數量不平衡時,當輸入一個新樣本 時,新樣本的 K 個鄰居中都是大量相同類別的樣本佔多數,導致準 準確度降低。. 17.
(27) 第五節 一、. 資料探勘工具-Weka Weka 軟體. WEKA(Waikato Environment for Knowledge Analysis),是一款 Open Source Software 公開原始碼且免費的非商業化資料探勘軟體,如圖 4,是目前 Data Mining 非常廣泛使用的工具。 此軟體是基於 JAVA 環境下開放原始碼 的機器學習 (Machine learning)以及資料探勘(Data Mining)軟體。這些演算法的原始程式碼可在 官方提供的檔案庫網站下載。Weka 集合了大量的機器學習演算法,包括對資料的 預處理、分類、回歸、分群、關聯規則等,採用圖形化的友善介面,方便使用者 操作。. 圖 4 Weka 軟體使用環境選擇畫面 Weka 有兩個比較常用的模式分別是 Explorer 和 Knowledge Flow,在 Explorer 模式下可以使用現有的檔案匯入或是從資料庫直接載入,之後可以選擇要使用分 類、叢集或是關聯式規則進行分析, 利用 Weka 本身有內建的一些常用的分類器, 例如 NaiveBayes、Decision Tree、SVM…等等。除此之外還供使用者設定一些 參數,例如可以選擇要訓練的訓練集範圍,要不要把測詴集的範圍切割成多份, 分成訓練集和測詴集,或者是可以取其中的百分之幾當作需要訓練的資料,剩下. 18.
(28) 的拿來當測詴。此外每次跑完一次後,Weka 會顯示出相關分類的結果,以及訓練 好分類的模型,還有詳細的結論跟一些準確度的分析。在 Weka 中每次跑出來的 結果我們都可以使用裡面內建的視覺化效果,Weka 將我們所丟入的資料根據不同 的條件,使用平面的方式視覺化出來,如此一來我們可以更容易了解資料的分布 情形。. 圖 5 Weka Explorer 模式環境畫面. 19.
(29) 圖 6 Weka 內建的視覺化效果. 圖 7 Knowledge Flow 模式環境畫面 Knowledge Flow 是 Weka 這個軟體一個很特殊的地方,是一個可以讓使用者 方便快速建立所想要的資料處理方式,使用者可以藉由直接拖拉上面所擁有的每 個元件,每一個元件代表者一項功能,將不同的元件組合起來,然後依造順序, 可以將使用者的資料依序經過訓練然後產生結果。. 20.
(30) 二、. Weka API. 所謂的API(Application Programming Interfaces)就是軟體間不同部分相互組合 的協定,由於近年來軟體規模越來越龐大,這時通常就會把軟體規劃成各個不同 小部分的程式以方便維護和擴充,就如同積木一樣,當把各個不同功能的小積木 做組合,就成為一個完整的軟體,這時積木之間的溝通就顯得很重要,這個溝通 的介面就稱為API,只要將程式的API溝通協定、使用方式定義好,程式開發人員 就可以藉由API使用該程式,而無需要了解程式其內部工作機制的細節,只要了解 如何使用即可。 例如現在有一支程式負責將華氏溫度轉成攝氏溫度,這時開發者只要知道這 支程式要輸入參數、回收參數是哪一種類型,之後只要傳值的參數是數值,程式 都會將數值轉換成攝氏溫度後回傳給開發者,所以程式開發人員不需要了解其中 的轉換公式,只需要了解如何使用。 Weka API是由Java寫成的機器學習軟體應用程式介面,Weka API提供大量的 演算法和元件,包含訓練資料集合、過濾器、分類器、效能評估、視覺化等,利 用API可以讓程式開發者進行延伸開發、減少開發所需的時間,並可以依照模型架 構的需求組合必要的API,打造開發者想要的模型。 Weka 原始碼是由 Subverion 來進行管理,可透過官方所提供的儲存庫 (https://svn.scms.waikato.ac.nz/svn/weka/)取得 Weka 原始碼,然後將其匯入自己的 開發專案,即可運用 Weka 原始碼進行客製化開發。圖 8 顯示,使用者可以先行 到 Weka 官方所提供的儲存庫預覽 Weka 原始碼,圖 9 是從儲存庫下載後,匯入 開發專案的畫面。此外,Weka 官方也一併提供 Weka API Documentation (http://weka.sourceforge.net/doc/),讓開發者可以清楚了解 API 的使用方法,包含 函式如何呼叫、使用,如圖 10。. 21.
(31) 圖 8 Weka 原始碼儲存庫. 22.
(32) 圖 9 由 Weka 官方取得的 API. 23.
(33) 圖 10 Weka 官方提供的 API 說明文件. 24.
(34) 第六節. 電子資料交換(EDI)與 XML. 所謂的電子資料交換(Electronic Data Interchange ,EDI)即是運用電腦與資訊 電子設備,將企業與企業之間業務上往來的商業文件或其他資料以標準協定、統 一標準電子資料格式透過專屬線路或其他網路的傳遞,將訊息傳送給對方,進行 彼此間交換資料的一種方式,這種溝通運輸技術可以更迅速、正確地及節省成本, 利用電腦與通訊網路完成標準格式的資料流通,不需要重複輸入資料,圖 11 為電 子資料交換的基本程序[24]。. 乙 方. 甲 方 內 部 資 訊 系 統. 轉 換. 標 準 訊 息. 標 準 訊 息. 轉 換. 內 部 資 訊 系 統. 圖 11 電子資料交換的基本程序 然而在國內的醫療資料交換標準格式方面,目前正在推行的資料交換的標準 是使用 HL7 CDA R2(Health Level 7 Clinical Document Architecture Release 2)作為 醫療院所間資料交換的標準格式,而 CDA R2 是一種以 XML(eXtensible Markup Language)為基礎,描述臨床文件的結構式標記語言,屬於 HL7 version 3 的一部 分。. 25.
(35) XML1是一種可延伸的標籤語言,標籤指的是電腦所能理解的資訊符號,透 過此種標籤,可以將需要描述的資料用標籤給標記起來,而 XML 的標籤大多是 成對的,結尾的標籤需加入斜線(/)的符號,例如:<姓名>王大民</姓名>, 若是要使用非成對標籤,必頇在標籤結尾加上(/),例如:<idnumber = "A123456789"/>,透過此種標記方式,電腦之間就可以處理這些被標籤標記起 來的資訊,如圖 12,分別先定義了 XML 的版本資訊與編碼方式,之後就是定義 病患基本資料(patient) 的內容區塊,接下來開始描述病患的身分證字號(idnumber)、 姓名(name)、性別(gender)、體重(weight)、身高(height)、生日(birthTimevalue)。 如何定義這些標籤,既可以選擇國際通用的標記語言,比如 HTML(HyperText Markup Language),也可以使用像 XML 這樣由相關人士自由決定的標籤語言,充 分利用 XML 語言的可延伸性。現金 XML 已經被廣泛用來作為跨平台之間互動數 據的形式,主要針對數據的內容,通過不同的格式化描述手段可以完成最終的形 式表達。. 圖 12 範例:以 XML 描述病患的基本資料. 1. Wikipedia。檢索日期 2011 07 月 01 日 http://zh.wikipedia.org/wiki/XML 26.
(36) 第七節. Web-Services. Web-Services 2 是一種透過 Web 通訊協定而且資料格式的開放式標準(例如 HTTP、XML 及 SOAP 等)來為其他應用程式提供服務的技術。經由此標準的 WEB 協定提供服務架構,如圖 13,目的是為了確保不同平台的互通性,在不同平台上 用不同程式語言建置的系統也可以輕易整合,克服目前分散式系統各自使用不同 機制造成整合困難的情形。. UDDI. Services Registry Publish. Find WSDL. WSDL. SOAP. Services Requestor. Services Provider. Bind 圖 13 Web-Services 架構. Web-Services 的重要標準: 前面說過 Web Services 是以 Web 的開放標準為基礎,其中最基本的是 HTTP 和 XML。但完整的 Web Services 運作還需要遵守以下更多的基礎,下列這些都是 以 XML 為基本語法建立的重要標準。 (1) UDDI (Universal Description Discovery and Integration):. 2. Wikipedia。檢索日期 2010 12 月 25 日 http://zh.wikipedia.org/zh-tw/Web%E6%9C%8D%E5%8A%A1 27.
(37) 提供註冊與搜尋 Web Services 資訊的一個標準,應用程式可藉由此協議 在設計或運行時找到目標服務。 (2) WSDL (Web Service Description Language): 描述一個 Web Services 的運作方式,以及指示用戶端與它可能的互動方 式。 (3) SOAP (Simple Object Access Protocol): 提供在網路上交換結構化和型別資訊的一種簡易通訊協定。 經由以上的介紹,我們可以了解 Web-Services 帶來的好處。作為提供服務的 元件,可用來建構分散式架構系統,實現分散式架構動態整合、負載平衡、跨平 台等優點。 由於各地方的醫療院所架設的資訊系統可能使用不同語言、平台,為了克服 不同平台間的溝通問題,減少再次開發的成本,本研究將運用 Web-Services 技術 接收不同平台的臨床資訊系統資料進行分析,再將結果以同樣的技術傳回去,達 到跨平台、減少開發成本的目的。. 28.
(38) 第八節 一、. 分類器效能評估 ROC 曲線(Receiver Operating Characteristic Curve). ROC 曲線圖對於分類器的建立以及將分類器的效能視覺化是有幫助的,都常 是用在醫療決策分析,也被延伸用來分析診斷系統的行為,近年來也逐漸用在機 器學習和資料探勘,主要是分析分類器的命中率以及錯誤率[17]。 ROC 曲線經常被使用來顯示分類器的 TP-rate (True positive rate)與 FP-rate (False positive rate)的損益平衡情況,X 軸表示 FP-rate、Y 軸表示 TP-rate,圖 14 顯 示三個分類器單次分類的結果,(0,0)代表分類器必定不會將資料分類到目標樣本, (1,1)則表示分類器必定會將資料分類到目標樣本上,而(0,1)代表是一個完美的分 類器。 每一次的分類器分類結果,都會獲得一組由(TP-rate、FP-rate)所互相配對的 操作點,任何一個有效的分類器勢必會產生很多不同操作點,若將這些所有的操 作點連起來,便會形成一條 ROC 曲線,由曲線的形狀可以得知分類器的損益平 衡狀況,大致上來說,曲線下的面積為 ROC 曲線的評估準則,若曲線下的面積 越大代表此分類器越佳,如圖 15,。. 29.
(39) 圖 14 三個獨立的分類器在 ROC 圖上. 圖 15 ROC 曲線. 30.
(40) 二、. 混淆矩陣(Confusion Matrix). 混淆矩陣採用 True positive rate、True negative rate、False positive rate、False negative rate 四種指標: 表 3 混淆矩陣. 分類為陽性 分類為陰性. 1.. 實際為陽性. 實際為陰性. Number of True. Number of False. Positive(TP). Positive (FP). Number of False. Number of True. Negative (FN). Negative (TN). True positive rate:TP-rate = TP/(TP+FN)是指目標樣本分類正確的樣本數 目比率。. 2.. True negative rate:TN-rate = TN/(FP+TN)是指非目標樣本分類正確的非 樣本數目比率。. 3.. False positive rate:FP-rate = FP/(FP+TN) = 1 – TN 是指非目標樣本分類成 目標樣本的錯誤樣本數目比率。. 4.. False negative rate:FN-rate = FN/(TP+FN) = 1 – TP 是指目標樣本分類成 非目標樣本的錯誤樣本數目比率。. 分類器的理想狀況是在於最大化 TP-rates 與 TN-rates 或是最小化 FN-rates 與 FP-rates。一個分辨率好的分類器會顯示 TP-rates 與 TN-rates 為 1。但是,在大部 分的實際情形下,TP-rate 與 TN-rate 會是互相損益平衡的關係。. 31.
(41) 第三章 第一節. 研究方法. 研究架構. 根據心臟血管外科臨床資訊系統架構如圖 16[5],心臟血管外科臨床資訊系 統可以分為三大部分,分別為第一層的電子病歷和登入庫(Electronic Medical Record & Registry),主要是建立一個電子病歷和登入庫記錄病患的資料、醫療計 畫、生理生化檢驗的資訊等與病患相關的資料,分別給予病患、外科醫師、檢驗 人員以及護士不同的權限進行操作使用,第二層是臨床決策(Clinical Decision Making),這一層將第一層所蒐集的資料為基礎進行術前預後、建立機率預測模型、 手術流程知識,並透過資訊科技進行自動化監測異常資訊,第三層是知識萃取 (Knowledge Extraction),包含登入庫與本體論的整合、集成預測模型、手術比較 模型。這三層皆是以 Web-base 建立,彼此間也是透過 Internet 做為溝通的媒介。 在此篇研究裡主要是實現第二層臨床決策裡的預後與機率測模型,並將其作 為一個臨床決策輔助工具,輔助醫療人員做術前的預測,並且以下目標為重點, 簡述系統架構,實作一個以機器學習為基礎的預測模型,預測心臟血管疾病術前 病患風險,做為心臟血管外科醫生術前的決策輔助工具。以 Web-base 方式建構本 系統,並以 Web-Services 的跨平台概念連結醫療床資訊系統,確保可以相容各種 平台的臨床資訊系統,使用者只要挑選所需要的病患資料透過網路傳送至本系統, 再運用機器學習預測模型進行分析預測,之後再將結果回傳給臨床資訊系統,做 為外科醫生手術前的決策輔助資訊。. 32.
(42) 透過 Web-Based 的介面交流訊息 病患. 外科醫師. Diagnosis and Medication and Medication issues Care issues MONITORING LEVEL. 檢驗人員. 護士. Diagnosis and Care issues. Medication and Care issues. EMR & Registry: Disease/population 登錄庫、醫療計劃、生理生化資訊、改變資訊趨勢. Execution medical decision Weka algorithms. SURVEILLANCE LEVEL. Clinical Decision Making 預後、機率預測模型、手術流程知識、自動化監測 Surgical Registry. 因果效應知識-手術決策 不同手術階段的模型的建立 MODEL CONSTRUCTION LEVEL Knowledge Extraction 登錄庫與本體論的整合、集成預測模型、手術比較模型. Ontology Base 電子病患健康紀錄. 圖 16 心臟血管外科臨床資訊系統架構. 33. Internet Web-Based Services. 圖形化介面.
(43) 第二節. 系統架構. 本系統共分為兩大部分,分別是以機器學習為基礎之預測模型和 Web-based 預測工具。Web-based 預測工具,其中運用 Web-Services 技術負責與臨床資訊系 統溝通,整體的系統架構如圖 17,系統功能概述如下: 第一部分為機器學習為基礎之預測模型,此模型所需要的演算法以 Weka 所 提供的 API 實現,模型裡的功能包含資料集上傳、屬性篩選器、預測目標屬性選 擇器、模型評估、資料視覺化、模型再利用,預測模型主要功能為從訓練集合裡 建立分類模型,此模型可以用來預測其他未分類的例子,用以預測心臟血管疾病 病人術前風險程度。 第二部分是線上 Web-based 軟體工具 ,此部分是將第一部分建立的模型與參 數建構成一個線上的網頁軟體工具,並用來協助外科醫生與病人在術前術中進行 醫療決策,以及負責與臨床資訊系統溝通傳遞病患資料和模型預測結果。. 34.
(44) Prediction Tool 模型再利用. 模型訓練. 模型儲存. 訓練模型. 分類結果 分類器選擇 現有模型. 模型評估. 資料視覺化. 預測目標選擇 屬性篩選. 病患資料. Web-Service 資料上傳 模型. ROC、Confusion Matrix. 病患資料. Clinical Information System 圖 17 系統架構圖. 35.
(45) 第三節 一、. 實作流程 機器學習預測模型. 在實作中,會先將模型在 Weka 這個軟體的 Knowledge Flow 模式裡先執行過 一次,如圖 18,確定模型可行後,會在程式開發軟體裡根據 Knowledge Flow 裡 的流程做為開發的架構。. 圖 18 Weka Knowledge Flow 確定模型的可行性 根據圖 18 Weka Knowledge Flow 內的各個節點元件,在 Java 開發軟體裡,會 先將對應到的 API import 進去給這個開發專案使用,如果沒有直接對應的 API 則 會用自行編寫程式來達到同樣的效果。下列是 Knowledge Flow 內的各個節點元件 和 Weka API 對應的說明: (1) Arff Loader:arff 是 Weka 儲存資料的檔案格式。Arff Loader 的功能是將 處 理 好 的 病 患 資 料 讀 取 進 去 , 準 備 做 處 理 用 , 而 對 應 的 Weka API(weka.core.converters.ArffLoader)和 Arff Loader 是一樣的功能,用來 讀取 arff 格式的檔案的。 (2) Class Assigner:此節點的功能是選擇想要預測的變數,例如併發症這個 變數,對應的 Weka API(weka.core.Instances.setClassIndex),可以讓使用 者選取那些是想要預測的變數,預設值為 arff 檔裡的最後一個變數。. 36.
(46) (3) Cross Validation Fold Maker:這個節點功能可以用來驗證演算法的好壞, 常用的是 10-fold Cross-validation,將資料集分成十份,輪流將其中 9 份 當作訓練資料集,剩下的 1 份當作測詴資料集,10 次的結果的平均值作 為對演算法好壞的估計。在 API 裡相同功用函式 (weka.classifiers.Evaluation)裡面的.crossValidateModel 有提供 Cross-validation 的訓練方式,只要在參數欄位鍵入 n 就可以做 n-fold 的 Cross-validation 訓練。 (4) ANN、SVM、DT:分別是類神經網路、支援向量機、決策樹這些演算 法分別可以在 API(weka.classifiers.Classifier)裡找到,除了上述的三個演 算法還有其他相當多的演算法,例如貝氏網路、最近鄰居法等,如需要 改換其演算法,只要更改引用即可。 (5) Ensemble Selection:是一個集成式學習的元件,意思是用兩個以上的學 習演算法以同一資料集做訓練,選擇適合的輸出做為結果,本系統採用 的是 Ensemble 裡的 StackingC 方法,優點是可以混合多種學習演算法使 用,例如,可以結合 Naïve Bayes、decision tree、和 rule-based。在 Weka API 裡可以使用 weka.classifiers.meta.stackingC 實現集成學習。 (6) Classifier Performance Evaluation :此節點是用來評估分類器的效能,使 用 ConfusionMatrix 做 為 評 估 分 類 器 的 準 確 率 , 在 Weka API 裡 weka.classifiers.Evaluation,也提供了相同的 ConfusionMatrix 功能。 (7) Model Performance Chart:此功能是將各個分類器的效能以 ROC(Receiver Operating Characteristic)圖表呈現,曲線以下的面積越大代表此分類器的 準確度會高。由於此系統是 Web-base,圖表必頇呈現在瀏覽器上,但由 於 Weka API 在網頁的圖形顯示並不是很完善,所以本系統將會運用瀏 覽器前端顯示技術 Javascrip,可以快速地產生圖表,在使用者的瀏覽器 呈現。. 37.
(47) 圖 19、20 是將模型和 Weka API 相對應後組合產生的系統流程架構,接下來 會解說系統編寫的過程。. Model Arff Loader. Class Assigner. Cross Validation Fold Maker. ANN. Classifier Performance Evaluation. SVM. DT. Classifier Performance Evaluation. Ensemble Selection. Classifier Performance Evaluation. Model Performance Chart 圖 19 模型會用的的元件. 38. Classifier Performance Evaluation.
(48) Weka API Arff Loader. Instances.setClassIndex. .CrossValidateModel. ANN. SVM. DT. Meta.vote. ConfusionMatrix ConfusionMatrix ConfusionMatrix ConfusionMatrix. Javascript 圖 20 與模型相對應的 API. 39.
(49) (1) 步驟首先要將圖 21 左邊的 Package Explorer 裡的需要用到的 Weak API Import 匯進此程式。. 圖 21 將 Weka API 匯入程式 (2) 接下來開始將 arff 格式的檔案讀取進來,先產生一個 ArffLoader 物件, 並將參數輸入檔案路徑(圖 22 裡的藍色字),即可將檔案讀入,此時已經 將檔案讀到 file 這個變數裡,loader.getDataset 把檔案指定給 trainIns 做為訓練集合。. 圖 22 arffLoader 讀取檔案 (3) 將要分析的檔案讀入之後,就可以選擇所要預測的變數,圖 23 裡的 transIns 表示我們目前是在訓練集裡選變數,setClassIndex 這個方法是用 來選擇所要預測的變數,setClassIndex 括弧裡的是訓練集合的變數序號, 使用-1 是因為在 arff 檔預設最後一個變數為預測目標變數。. 40.
(50) 圖 23 利用 setClassIndex 設定欲預測之屬性 (4) 這個部分要開始將資料集切割成十等分,做 10-fold Cross-validation 的動 作,圖 24 的黑色字體第一行表示建立一個 Evaluation 的物件叫做 eval, 第二行表示 Evaluation 提供 eval 一個方法叫做 crossValidateModel,可以 用來驗證演算法,括弧裡的 10 這個參數表示要做 10 次 fold 的動作。. 圖 24 利用 crossValidateModel 做 10-fold (5) 10-fold 做完後則可以開始建立分類器,由於是使用集成式學習的模型, 本系統會使用三個演算法,分別是 ANN(即 RBFNetworw)、SVM(即 SMO)、 DT(即 Decision Tree J48),cfs1 到 3 代表三個分類器,圖 25 藍色字體表 示所使用的三種演算法。. 圖 25 建立三個分類器 (6) 建立三個分類器後,則要建立 Ensemble 分類器,對先前的三個分類器做 集成式學習,圖 26 第一行開始建立一個 ensemble 的物件,第三行把訓 練集丟進去給 ensemble 的分類器。. 41.
(51) 圖 26 建立 Ensemble 分類器 (7) 將 ensemble 訓練完後開始評估分類器的效能,圖 27 只要用指令 println(eval.toMatrixString( ))就可以在顯示器印出 ConfusionMatrix,集可 以知道分類器的準確度。. 圖 27 評估分類器的效能 (8) 接下來就可以用圖表顯示 ensemble 內的三個分類分類的狀況,通常是使 用 ROC 圖來顯示,這部分則是使用 Javascrip 技術來製作圖表。圖 28 為 圖在瀏覽器顯示的範例,非 ROC 圖。. 圖 28 利用 Javascrip 技術顯示圖表範例. 42.
(52) 二、. Web-Services. 根據第三章第二節的系統架構圖,將預測模型開發完後,接著開發負責接受 病患資料和回傳預測結果的 Web-services 服務,作為與 CIS 溝通的橋樑。 本系統以 Apache Axis2 作為開發 Java Web-services 的免費套件,Axis2 是一 個實現 SOAP 的核心引擎,它幫助 Java 開發者使用最新的 Web Services 技術和標 準實現建立和測詴 XML 程序、Web Services 和 Web 應用程序。Axis 優點在於執 行速度快、占用較低的記憶體、支援比較多種的資料類型。只要本系統和 CIS 雙 方遵守 Web-Services 的標準,未來在開發完成後,即可透過網際網路進行跨平台 溝通。 安裝完後,在要發布成 web-service 的涵式或是方法,透過 Axis2 轉發成 web-service,如圖 29。轉換成 web-service 後,即可以在瀏覽器看到發布成功的服 務,如圖 30。只要將已開發好的預測模型程式透過 web-service 套件的轉換,就 可以將程式轉換成 web-service 的形式。如圖 31 所示,轉換完會產生一個服務端 的網址,只要服務的要求端,將此網址加入,並且傳送合乎服務端要求規格的資 料,即可以應用此服務。. 43.
(53) 圖 29 建立一個 web-service 服務端. 圖 30 將已開發好的程式轉成 Web-Services 服務 44.
(54) 圖 31 轉換完成的服務端網址. 45.
(55) 第四節. 系統開發方法與工具. u 程式開發方法 本系統將以物件導向程式設計(Object-Oriented programming, OOP) 概念開發, 物件導向指的是一種程式設計方法。它將物件作為程式的基本單元,將程式和資 料封裝其中,以提高軟體的重複利用性、靈活性和擴充功能性,對於事後程式的 維護也較為便利。 傳統軟體工程裡我們所使用的由上而下結構式的軟體開發方式,以及依這種 開發方式所發展出來的程式設計語言並無法滿足要這麼做所需具備的可重複利用 性、可擴展性、與可維護性的模組封裝需求,相較之下,物件導向概念強調的特 性逐漸成為目前主流的開發方法,雖然學習的過程稍微難,但經過長時間的顯示, 物件導向的確可以系統改善開發速度、減少事後程式維護的成本、更能確保軟體 的品質。 近年來因為網路頻寬增加,加上網路服務提供者儲存成本大量下降、個人電 腦運算速度躍進,加上跨平台的特性,所以本系統將採用 Web-base 的方式開發, 發揮網際網路的優勢,讓醫療人員和病患之間可以方便的交流,而且不需要額外 的安裝軟體,僅需藉由瀏覽器就可以使用,對開發人員來說不用擔心使用環境差 異的問題,只需瀏覽器即可以使用,對使用者而言,不必擔心電腦病毒、不頇額 外空間安裝軟體、省去軟體升級和相容的問題,網頁的呈現方式對使用者來說也 是個較熟悉的環境。近來也有許多醫療領域的研究[18-22],包含預測、輔助決策、 教育、成本管理、排程管理等,都廣泛應用 Web-base 的概念。 Web-Base 的其他好處: (1) 跨平台,任何作業系統只要能打開瀏覽器的都可以使用,包含智慧型手 機、平板電腦。. 46.
(56) (2) 不需要公司的資訊人員維護每一台 PC 上面的軟體。節省資訊人員的時 間以及維護成本。 (3) 任何地點,任何時間都可以輕鬆操作。適合在外地奔波或是常出差的人 員。 (4) 使用介面學習容易,資料集中管理。. u 程式開發語言 由於系統是採用 Web-base 架構,會分為前端(瀏覽器)和後端(伺服器)。 前端使用 HTML、CSS 和 JavaScript 作為設計前端與使用者互動的介面。 HTML 是一個為網頁建立在網頁瀏覽器中可以看到資訊的一種語言。CSS (Cascading Style Sheets)是一種樣式表達語言,它的目的是為了對像 XHTML 及 HTML 之類的標記語言 (markup language) 提供一個顯示層,有了 CSS,我們就 可以將資料層及顯示層分開,HTML 只顯示資料,而 CSS 則是告訴瀏覽器這些 資料應該要如何顯現出來。JavaScript 是一種廣泛用於瀏覽器開發的腳本語言,常 用來給 HTML 網頁添加動態功能,比如響應使用者的各種操作,優點是只需透過 用戶端的電腦即可執行,不必耗費伺服器運算資源。 後端使用則是使用 JSP(Java Server Pages)來開發,是一個回應用戶端請求, 而動態生成 HTML、XML 或其他格式文檔的 Web 網頁的技術標準,是一種常見 的製作動態網頁工具,和 Java 一樣具有物件導向的特性。. 47.
(57) u 開發環境 系統的開發環境,採用 Eclipse 這款著名的跨平台的整合式開發環境 (Integrated Development Environment, IDE) ,IDE 是一種協助程式開發人員開發程 式的應用軟體。起初 Eclipse 是用來 Java 語言的開發,後來有人透過外掛套件的 方式作為 C++、PHP、Python、Ruby 等其他語言的開發環境,Eclipse 主要的優點 是它一款免費且公開原始碼的軟體,可以大大節省昂貴的費用,對開發者來說是 一大優點,除了免費外,開發者可以依照自己的需要安裝外掛套件,強化開發環 境增加開發的速度。. u 資料庫工具 本系統所使用的是 MySQL 資料庫軟體,是一個開放原始碼的關聯式資料庫 管理系統,由於 MySQL 性能高、成本低、可靠性好,在中小型網站上已經成為 主流的開源資料庫,被廣泛地應用在 Internet 上。如著名的 Google 和 Facebook 都使用這款資料庫管理系統。. u Java 應用伺服器(Java Application Server) 應用程式伺服器是一個 Servlet 的容器,本系統使用 Tomcat,其實現了對 Servlet 和 JSP 的支援,並提供了作為 Web 伺服器的一些特有功能,如 Tomcat 管 理和控制平台、安全域管理等。. 48.
(58) 第四章 一、. 心臟血管疾病術前病患風險評估預測工具設計結果 資料集上傳. 此功能提供使用者將資料集上傳到本系統後進行分析,除了支援 Weka 本身 的特殊格式 ARFF(Attribute-Relation File Format)外,也支援 CSV 的檔案格式。CSV (Comma Separated Values),逗號分隔型取值是一種用來儲存文字的檔案格式,檔 案中的資料以半形逗號(,)做為資料分割的符號,如圖 32 所示,第一行為欄位的名 稱,第二行之後為其欄位的值,CSV 檔案除了 Windows 作業系統的記事本可以支 援外,大部分的文字編輯軟體也都支援,此外 Microsoft Excel 也對此檔案支援, 並且提供較好的編輯環境,如圖 33。. 圖 32 CSV 格式的檔案. 49.
(59) 圖 33 以 EXCEL 開啟 CSV 檔案 資料集是資料探勘主要的分析來源,所以使用上傳功能上傳資料集是使用評 估預測工具第一個會使用到的功能,使用者從資料庫將資料匯出成 CSV 檔案後, 之後可以從自己的電腦上傳的此 CSV 檔案,如圖 34,上傳完畢後,便可以開始 使用屬性篩選器篩選變數,刪除使用者覺得不需要的變數或是覺得會影響結果的 變數。. 50.
(60) 圖 34 資料集上傳. 二、. 預測的目標屬性選擇器. 在上傳資料集後,使用者在此必頇選定一個屬性做為要預測的目標屬性,或 是使用系統的預設值,系統預設值為資料集的最後一個屬性,以圖 35 為範例來說 是設定“Complication”併發症這個屬性,設定為併發症表示分類器在利用資料集 訓練的過程中,分類器會學習以其他屬性的值作為基礎來推論此病患是否在術後 有併發症的邏輯進行訓練,例如表 4 為一筆訓練資料:性別男、年齡 72、BMI 值 29.23、有抽菸、有高血壓、有糖尿病、高血脂、無慢性肺部阻塞、沒有腦中風、 沒有心臟疾病、沒有慢性腎功能不全、手術後會有併發症,那麼分類器在訓練的 過程便會把這筆資料作為一個推論案例的基礎加以學習,分類器就會被訓練成碰 到類似的資料便也會把結果也推論成「手術後會有併發症」 ,所以資料量越大,分 類器學習的案例多,分類器準確率就會越高。. 51.
(61) 圖 35 設定預測目標屬性 表 4 資料集範例 Gender. male. Age. 72. BMI. 29.23. Smoking. Y. Hypertension. Y. DM. Y. Hyperlipidemia. Y. COPD. N. CVA. N. Heart dis. N. CRI. N. Complication. Y. 52.
(62) 三、. 屬性篩選器. 在設定完預測的目標屬性之後,此部分的屬性篩選器功能主要是讓使用者篩 選掉一些資料集不需要的屬性,以避免干擾或影響其他屬性,使的預測結果不準 確,抑或是出現無法解釋的現象,例如:病患的住家地址、電話、籍貫,以及一 些與結果沒有相關的屬性,或是使用者認為不足以影響結果的屬性,則可在這裡 予以手動刪除,如圖 36。勾選起來的屬性,表示參與模型訓練,不勾選的表示從 資料集剔除,不參與分類器的訓練。在這裡有個限制,除了預測目標屬性外,還 必頇勾選一個以上的屬性,這樣模型才會有作為基礎的學習資料,進行預測。. 圖 36 屬性篩選. 53.
(63) 四、. 分類器選擇器. 將要預測的目標屬性後,使用者就可以在此區塊選擇集成式模型內的三個分 類器,集成式模型的預設三個模型為:類神經網路(ANN)、支援向量機(SVM)、 決策樹(DT),如圖 37,或者可以依照使用者的需要使用不同的演算法做搭配,例 如:類神經網路(ANN)、支援向量機(SVM)、貝氏網路(BN),或是,類神經網路、 決策樹、貝氏網路。 本系統所使用的集成式模型(Ensemble Mode)裡可包含三種分類器,預設值分 別為:類神經網路(ANN)、支援向量機(SVM)、決策樹(DT),使用者也可以選取 其他不同的演算法。集成式模型的內部機制採用投票機制(Voting)作為三個分類器 每次產生的預測結果進行投票表決,最後以投票結果作為整體的輸出結果。系統 同時也會產生單一分類器與集成式模型分類器的預測結果。使用者除了使用集成 式模型外,也可以使用單一分類器,如:類神經網路、決策樹、貝氏網路、支援 向量機。. 圖 37 分類器選擇:集成式分類器與單一分類器 54.
(64) 五、. 模型評估:混淆矩陣 Confusion Matrix、ROC 曲線. 在篩選屬性之後,按下 submit 按鈕,系統便會根據使用者給予的指令與參數, 進行訓練模型,整個訓練與評估個過程都會由系統全自動執行,評估的結果會以 混 淆 矩陣(Confusion Matrix) 顯示分類器的效能指標 以及 ROC 曲線(Receiver Operating Characteristic curve)來顯示集成式分類器與單一分類器的 TP-rate 與 FP-rate 的損益平衡情形,如圖 38、39,除了混淆矩陣與 ROC 曲線外,系統也會 統計出正確分類的數目、比例,以及 kappa 值、Mean Absolute Error、Root Mean Squared Error、Relative Absolute Error 等統計值。. 圖 38 集成式分類器的混淆矩陣與 ROC 曲線. 55.
(65) 圖 39 單一分類器的混淆矩陣與 ROC 曲線. 56.
(66) 六、. 資料視覺化. 系統除了提供訓練模型功能外,也提供將資料集的各個屬性內含的值視覺化, 利用簡易的圖表顯示資料的分布,讓使用者更容易判讀、了解資料的分布狀況, 如圖 40。. 圖 40 各種屬性的資料分布圖. 57.
(67) 七、. 模型再利用:模型儲存與模型上傳. 此功能可以對已訓練完成的模型進行儲存再利用,允許將模型對未來新進的 資料進行預測分類。分類器訓練完畢之後,按下 download model 後即可以將模型 儲存至使用者的電腦,並且下載紀錄模型組態的設定檔案,如圖 41,往後如有新 的病患資料,即可再次使用此模型對新資料進行分類預測,無頇再次訓練分類器。 儲存好的模型可利用模型上傳功能上傳至系統,如圖 42,重複利用模型,譬 如:上傳模型後,如圖 43,在網頁上輸入一筆新的病患資料,按下 submit 按鈕後 就可以利用此模型對這筆新資料進行預測術後是否有併發症,以表 4 的病患資料 為例,用此模型分類,分類結果顯示這位病患在手術後會有併發症,即 Complication:Y。. 圖 41 儲存模型. 58.
(68) 圖 42 模型上傳. 圖 43 使用模型進行預測. 59.
Dokumen terkait
SIMILARITY INDEX INTERNET SOURCES PUBLICATIONS STUDENT PAPERS 1 2 3 4 5 6 7 8 1% 9 1% Empowerment as a Mediation of Organizational Support ORIGINALITY REPORT PRIMARY SOURCES