
數(shù)據(jù)挖掘案例—藥物選擇決策支持
針對病人的病情和體質(zhì)情況,醫(yī)生往往需要采用不同的用藥。本案例通過數(shù)據(jù)挖掘,對醫(yī)院積累的歷史數(shù)據(jù)進行分析,確定病人選擇何種藥物對治療疾病最為有效,并開發(fā)了相應(yīng)的藥物選擇決策支持系統(tǒng)的應(yīng)用系統(tǒng)
【案例名稱】藥物選擇決策支持
【案例類型】數(shù)據(jù)挖掘
【所屬行業(yè)】醫(yī)藥衛(wèi)生
【案例版本】1.0
【完成日期】2003年7月2日
【應(yīng)用軟件】Clementine 7.2英文版
【遵循標準】CRISP-DM
【案例數(shù)據(jù)來源】Clementine 7.2 Demo自帶數(shù)據(jù)
【案例應(yīng)用模型】神經(jīng)網(wǎng)絡(luò)、C5.0、Logistic回歸
【案例用途】通過案例實現(xiàn)以下目的:
1、 CRISP-DM的標準流程及在解決具體業(yè)務(wù)問題過程中的應(yīng)用;
2、 理解如何提高數(shù)據(jù)挖掘模型的效果;
3、 理解結(jié)果發(fā)布的幾種方式。
【案例簡要描述】
針對病人的病情和體質(zhì)情況,醫(yī)生往往需要采用不同的用藥。本案例通過數(shù)據(jù)挖掘,對醫(yī)院積累的歷史數(shù)據(jù)進行分析,確定病人選擇何種藥物對治療疾病最為有效。并開發(fā)了相應(yīng)的藥物選擇決策支持系統(tǒng)的應(yīng)用系統(tǒng)。
案例正文
【背景介紹】
XX病是一種常見的疾病,目前有5種藥物可以對其治療,分別是——A、B、C、X、Y。不同的藥物對病人有不同的療效。歷史上,醫(yī)院往往根據(jù)醫(yī)生的經(jīng)驗去判斷針對特定的病人應(yīng)該選擇何種藥物。但是由于新醫(yī)生的加入,這種僅僅靠經(jīng)驗判斷的做法造成了很多誤診。
該醫(yī)院有比較完善的病例留存,為了改變以上局面,也為了更好的利用歷史數(shù)據(jù)和專家經(jīng)驗,該醫(yī)院決定通過數(shù)據(jù)挖掘技術(shù)對歷史數(shù)據(jù)進行分析研究,并期望能夠建立一套有效的藥物選擇決策支持系統(tǒng)。
【數(shù)據(jù)說明】
目前有歷史病例數(shù)據(jù)1200條,咨詢專家意見,我們提取了其中影響選擇藥物的若干個變量記入數(shù)據(jù)庫,它們是年齡、性別、血壓、膽固醇含量、鈉含量、鉀含量,最后一個變量是我們需要確定的選擇藥物,數(shù)據(jù)存貯在Microsoft Access數(shù)據(jù)庫中。
【數(shù)據(jù)挖掘過程】
1、 商業(yè)理解
在這個階段我們主要需要描述清楚業(yè)務(wù)問題,并對我們手頭擁有的資源有一個非常清晰的認識。在這個案例中,我們需要根據(jù)病人的個人情況和身體特征來確定何種藥物對它最為合適。由于問題比較簡單,我們的商業(yè)理解也比較簡單。
2、 數(shù)據(jù)理解
數(shù)據(jù)理解階段用來完成對數(shù)據(jù)質(zhì)量、數(shù)據(jù)之間的基本關(guān)系進行探索性分析等項工作。在這個階段,我們對歷史數(shù)據(jù)中的1200條數(shù)據(jù)進行圖形觀察,初步觀察病人的情況和身體特征是否與選擇藥物關(guān)系明顯。數(shù)據(jù)流圖見圖1。
圖1:數(shù)據(jù)理解
下面是產(chǎn)生的一些典型圖形,圖形解釋略。
圖2:對數(shù)據(jù)的初步探索性分析
3、 數(shù)據(jù)準備
數(shù)據(jù)準備主要完成對不同的數(shù)據(jù)源的整合,并且對數(shù)據(jù)進行適當?shù)淖儞Q,使之適合數(shù)據(jù)挖掘的需要,對于特定的模型,需要把原始數(shù)據(jù)集合拆分成訓(xùn)練數(shù)據(jù)集和檢驗數(shù)據(jù)集也在這個步驟中完成。
對于本案例來說,由于數(shù)據(jù)源只有一個,并且數(shù)據(jù)格式也相對單一簡單,我們在數(shù)據(jù)準備中主要完成對原始數(shù)據(jù)集的拆分,從而用訓(xùn)練數(shù)據(jù)集建立模型,用檢驗數(shù)據(jù)集對模型的效果進行評估。
在Clementine中,對數(shù)據(jù)集的拆分,是通過引入一個中間變量來完成的。在本案例中,我們把全部1200條數(shù)據(jù)中的2/3左右(800左右)作為訓(xùn)練數(shù)據(jù)集,把1/3左右(400左右)作為檢驗數(shù)據(jù)集。我們引入了一個二分變量——拆分變量,這個二分變量對應(yīng)1200條原始數(shù)據(jù)有2/3左右為“真”(T),1/3左右為“假”(F)。我們挑出那些拆分變量值取“真”(T)的記錄作為訓(xùn)練數(shù)據(jù)集,那些拆分變量值取“假”(F)的記錄作為檢驗數(shù)據(jù)集。實現(xiàn)該過程的數(shù)據(jù)流見圖3。
圖3:數(shù)據(jù)準備
4、 模型建立和評估
在模型建立階段,我們將逐步建立和調(diào)整模型,并對如何提高模型的預(yù)測效果進行嘗試。
(1) 建立最簡單的模型。對于訓(xùn)練數(shù)據(jù)集,我們首先把病人的年齡、性別、血壓、膽固醇含量、鈉含量、鉀含量等不經(jīng)過任何處理,全部作為預(yù)測選擇藥物的輸入變量,而把選擇藥物作為待預(yù)測變量(輸出變量)。數(shù)據(jù)流圖見圖4,我們建立了神經(jīng)網(wǎng)絡(luò)、C5.0和Logistic回歸三個模型。
圖4:藥物選擇決策支持模型1
接下來我們用檢驗數(shù)據(jù)集對模型進行檢驗,數(shù)據(jù)流圖見圖5。模型檢驗結(jié)果見圖6。從檢驗結(jié)果我們可以看出,Logistic模型的評估效果最好,達到了96.21%。
圖5:藥物選擇決策支持模型1檢驗
圖6:藥物選擇決策支持模型1檢驗結(jié)果
討論——如何提高模型的效果:從模型檢驗中我們可以看出,三個模型中可能有不一致的情況,這就使得我們有一種思路,即我們在發(fā)布模型的時候,可以考慮把那些三個模型預(yù)測一致的才作為預(yù)測,而把三者預(yù)測不一致的作為待判記錄隨后進行深入的分析,這樣我們就使得模型的精度提高到了98.29%,但是作為犧牲,我們也會約有12%左右的病人是無法判斷的,需要我們對記錄做進一步的研究。
(2) 為了更好的建立和調(diào)整模型,我們對業(yè)務(wù)進行深入了解,引入醫(yī)生的業(yè)務(wù)經(jīng)驗。根據(jù)醫(yī)生對醫(yī)學(xué)理論的討論和過去實踐經(jīng)驗的積累,他們認為人體中的鈉含量和鉀含量對病人選擇何種藥物的作用并不是特別明顯,但是他們的比例卻是影響選擇何種藥物的一個關(guān)鍵因素,所以在我們下面建立的模型中,我們生成新變量——鈉鉀比例,而剔除鈉含量和鉀含量兩個變量。數(shù)據(jù)流圖見圖7,模型我們?nèi)耘f采用神經(jīng)網(wǎng)絡(luò),C5.0和Logistic回歸三種模型。
圖7:藥物選擇決策支持模型2
類似(1),我們對模型效果進行檢驗,檢驗數(shù)據(jù)流和檢驗結(jié)果分別如圖8和圖9所示。
圖8:藥物選擇決策支持模型2檢驗
圖9:藥物選擇決策支持模型2檢驗結(jié)果
從結(jié)果中,我們可以看出,隨著我們業(yè)務(wù)經(jīng)驗的引入,我們的模型效果有了顯著的提高,并且我們選擇模型也發(fā)生了變化。精度由原來的Logistic回歸最優(yōu)96.21%提高到了C5.0最優(yōu)99.75%。
5、 模型發(fā)布
模型建立是為了應(yīng)用,我們前面的全部工作都在于我們建立的模型能夠被最終的業(yè)務(wù)人員所使用,假設(shè)我們由以下10個病人的資料數(shù)據(jù),需要根據(jù)他們的情況判斷使用什么藥物最好。
表1:病人資料
該病人資料也被我們存放在Access數(shù)據(jù)庫中。我們可以考慮以下三種方式對我們的模型進行發(fā)布供業(yè)務(wù)人員(醫(yī)生)使用。
(1) 直接寫報告的方式,通過HTML展示。數(shù)據(jù)流圖10,結(jié)果展示實際效果如圖11。
圖10:模型發(fā)布數(shù)據(jù)流1
圖11:報告方式發(fā)布結(jié)果示例
(2) 把選擇藥物直接寫回數(shù)據(jù)庫。數(shù)據(jù)流如圖12,結(jié)果大致情形如圖13。
圖12:模型發(fā)布數(shù)據(jù)流2
圖13:模型發(fā)布—把結(jié)果寫回數(shù)據(jù)庫
(3) 通過Clementine Solution Publisher結(jié)合Visual C++開發(fā)應(yīng)用系統(tǒng)界面,業(yè)務(wù)人員(醫(yī)生)可以直接輸入病人資料,實時的得到藥物推薦。發(fā)布數(shù)據(jù)流見圖14,系統(tǒng)界面如圖15。
圖14:模型發(fā)布數(shù)據(jù)流3
圖15:模型發(fā)布——開發(fā)應(yīng)用系統(tǒng)
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當下,精準營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10