熱線電話:13121318867

登錄
首頁精彩閱讀詳細解讀如何構建專家診病模型
詳細解讀如何構建專家診病模型
2016-03-24
收藏



專家系統是典型的大數據和人工智能結合的計算機程序系統,其內部含有大量的某個領域專家水平的知識與經驗,能夠利用人類專家的知識和解決問題的方法來處理該領域問題。也就是說,專家系統是一個具有大量的專門知識與經驗的程序系統,它應用人工智能技術和計算機技術,根據某領域一個或多個專家提供的知識和經驗,進行推理和判斷,模擬人類專家的決策過程,以便解決那些需要人類專家處理的復雜問題,簡而言之,專家系統是一種模擬人類專家解決領域問題的計算機程序系統。


專家系統的發展已經歷了3個階段,正向第四代過渡和發展。第一代專家系統(dendral、macsyma等)以高度專業化、求解專門問題的能力強為特點。但在體系結構的完整性、可移植性、系統的透明性和靈活性等方面存在缺陷,求解問題的能力弱。第二代專家系統(mycin、casnet、prospector、hearsay等)屬單學科專業型、應用型系統,其體系結構較完整,移植性方面也有所改善,而且在系統的人機接口、解釋機制、知識獲取技術、不確定推理技術、增強專家系統的知識表示和推理方法的啟發性、通用性等方面都有所改進。第三代專家系統屬多學科綜合型系統,采用多種人工智能語言,綜合采用各種知識表示方法和多種推理機制及控制策略,并開始運用各種知識工程語言、骨架系統及專家系統開發工具和環境來研制大型綜合專家系統。在總結前三代專家系統的設計方法和實現技術的基礎上,已開始采用大型多專家協作系統、多種知識表示、綜合知識庫、自組織解題機制、多學科協同解題與并行推理、專家系統工具與環境、人工神經網絡知識獲取及學習機制等最新人工智能技術來實現具有多知識庫、多主體的第四代專家系統。

本案例使用SmartMining敏捷挖掘桌面版,以決策樹算法為背景,通過生動有趣的過程講解,幫助讀者了解依托大數據如何構建專家診病模型,以及如何通過可視化探索數據,實現決策樹同樣的計算結果!

該案例的工作流如下:




商業目標

業務理解:該案例所用的數據是一份醫生診病的數據,如下:




表1:數據視圖

其中,年齡、性別、血壓、膽固醇、鈉、鉀是病人的指標,而藥物是醫生針對病人的情況開出的藥物。

業務目標:建立專家診病系統,當把病人的指標輸入到該系統時,系統會自動輸出該給此類病人開出的藥物。

數據挖掘目標:建立專家診病模型,該模型以病人的病例指標為輸入,以藥物為目標,建立預測模型,該模型可以根據輸入指標的值,計算預測值(藥物)。

操作實現:

新建工作流

可以點擊文件菜單下的"新建"或者點擊工具欄左方的新建按鈕(  )開始創建工作流。點擊后會彈出以下向導界面:




輸入工作流的名字后即可完成創建:




圖1:新建工作流

導入數據

此時要根據數據存儲文件的格式選擇相應的導入節點。在這里由于數據源是CSV文件,因此可以選擇CSV導入節點(也可以使用可變文件)。左側節點庫中CSV導入節點拖到右側的工作流中。雙擊節點或者右鍵菜單中選擇"配置",彈出如下配置窗口:




圖2:CSV節點配置







理解數據

使用統計分析菜單下的統計節點可以對數據進行描述,這是建模之前必須要做的工作,一方面是為了設計合理的實施方案,另外一方面也是為了更好的選擇合適的算法。從表2中可以看出每種分類變量的取值及每種取值的個數。比如,從這里我們可以看出藥物字段一共包含五種取值,且出現最多的是Y藥物。在這里目標變量為分類型,因此只能選擇分類預測類模型,如決策樹、邏輯回歸等。



表3:預建模

接下來便是嘗試建模,看看建模效果。




圖3:預建模

首先,從數據準備列>轉換菜單下選擇類型轉換節點。由于性別、血壓、膽固醇三個字段實際存儲類型該是字符型,但這里是整型,因此為了便于以下分析,使用類型轉換節點將它們的類型從整型轉化為字符型。配置如下:




其次,使用類型節點指定目標變量的角色,將藥物的角色設為目標。




再次,從數據準備的行菜單中選擇分區節點。使用分區節點可以將數據集分成測試集和訓練集,訓練集用于訓練模型,測試集用于測試模型。配置如下:





還有一點要注意,這里分區即把數據集隨機分成兩份,通常訓練集要比測試集大,通常分為5:5,6:4,7:3,8:2,9:1。數據集越小,訓練集應該分的更多,原因是要保證模型的穩定性,參與訓練的數據要足夠多。實際中,各種比例都會嘗試,目的有二:一是選擇最佳的比例,二是測試模型的穩定性。

然后,選擇分類預測節點,因為目標變量(藥物)為分類型。此處我們重點學習決策樹算法,所以就先選擇決策樹算法節點。節點連接如上圖3所示,在決策樹(訓練)節點配置中選擇目標變量藥物。其中,決策樹(訓練)節點連接分區節點。決策樹訓練節點可以采用默認配置,無需修改配置,如下:



最后,使用分類評估節點評估模型的準確性。配置如下圖所示:



評估結果:



表3:模型評估1

從表3中可以看出,模型測試準確度為95%,誤判5%。預建模的目的是為了從整體判斷現有變量與目標變量的相關性,以便可以根據經驗預估最終的效果和可操作性。

接下來如何優化模型呢?通常來說有三種辦法:第一,增加新數據,以便引入更多重要的影響因素;第二,嘗試其他模型,以便找到更適合的模型;第三,優化輸入,即基于已有數據派生更多重要的變量,或者過濾不重要的變量。這三者中,第一種最難以實現,一般企業的數據是有限的,企業內部可用數據及外部可用網絡數據,在項目需求調研階段就應該明確,而企業外部行業數據難以獲取。第二種最容易嘗試,所有可用模型可以快速嘗試一遍,這個是每個項目中都必做的,但卻不是最重要的方法。而第三種方法才是項目中最可行,也是最重要的辦法。

如何優化輸入?這是第三種方法的實現目標。而優化輸入最重要的環節就是數據探索。

數據探索



圖4:數據可視化探索

數據探索最核心的一項工作就是探索輸入變量與目標變量的相關性。分析變量的相關性可以使用相關性計算,也可以使用圖形化分析,而后者最直觀常用。分析兩個分類型變量可以使用條形圖、網絡圖或者交叉表。分析兩個數值型變量可以使用散點圖。分析一個數值型變量和一個分類型變量可以使用直方圖。

通過分析,血壓和藥物字段有著強相關性,因為從圖中可以看出使用藥物B和藥物A的人都是高血壓(3表示高血壓,2表示正常,1表示低血壓),使用藥物C的人都是低血壓,這種很明細的規律反映出兩個字段間存在很強的相關關系,如下圖所示:




同理,膽固醇和選擇藥物之間也有一定相關性,而性別和選擇藥物相關性不大,如下圖所示:





接下來分析數值型字段的相關性,從圖中可以看出血液中的鈉和鉀相關性很弱或者沒有。從圖形化的方式判斷相關性強弱的方法就是看圖形中的規律,規律越明顯,相關性就越強,否則越弱。



就此圖來說,散點圖中的每一個點表示一個病例,而我們最想知道的還不是鈉和鉀的相關性,而是兩者與藥物的相關性,因為藥物才是我們分析的目標。所以我們還想知道散點圖中的每個病例使用的什么藥物。因此,我們使用藥物作為顏色區分,重新修正散點圖。如下:




從圖中可見,上三角區都是淺紅色,說明這部分病例使用的都是Y藥物。這是很明顯的規律,說明這里面有一種很強的關聯。用數學的語言來描述,就是鈉和鉀的比例與藥物有很強的相關性。因此,我們發現了一個很重要的變量就是鈉和鉀的比例。因此,我們可以派生一個變量:鈉鉀比例。

優化輸入

首先,使用派生字段節點或者Java代碼段節點生成鈉鉀比例字段。配置如下:




其次,使用過濾節點過濾鈉和鉀字段,否則它們的重復存在會導致多重共線性問題。配置如下:




過濾后預覽數據如下:




重新建模




模型整體評估如下:




表4:模型評估2


從表4中可看出,模型精度從原來的95%提升帶了100%。當然實際中如果遇到預測精度為100%的情況一定就是錯的。下面我們再來解讀一下得到的決策樹模型。如下圖所示,


從整體來看,得此類病的人有大約一半的人(45%)選擇服用了Y藥物;

如果病人血液中鈉和鉀的比例大于14.8285,則選擇服用Y藥物,準確率為100%;

如果病人血液中鈉和鉀的比例不大于14.8285,若全部判成X藥物準確率只有47.5%,因此再看病人的另外一個指標血壓;

如果血壓(其值有1、2和3)為2,則全部判為X藥物,準確率為100%;

如果血壓為1,全部判為C藥物,準確率僅50%。再看另外一個指標膽固醇,若膽 固醇的值為1,全部判為X藥物,則準確率為100%。若膽固醇的值為2,全部判為C 藥物,則準確率為100%。

如果血壓為3,全部判為A藥物,則準確率僅56.8%。再看另外一個指標年齡,若 年齡大于50.5歲,判為B藥物,則準確率100%。若年齡不大于50.5歲,判為A藥物, 準確率為100%。




 小 結

第一,在建模中,應該注意過擬合問題。在商業中建模的目的是為了商業應用,因此不僅要保證模型的準確性,更要保證模型的穩定性。

第二,模型應用的核心是模型的風險控制。只有可以控制風險的模型才可以使用,否則不管理論模型建的多么漂亮都是沒有實際意義的。

第三,數據挖掘的成果并不只是數學模型,數據挖掘也不等價于高級模型(如決策樹、神經網絡等)。數據挖掘最重要的不僅是得到一個模型,還有分析得出最合理的輸入變量以及給出數據質量管理的建議。

第四,數據挖掘的一個核心工作就是圖形化探索,貌似很簡單卻又最為重要。因為這是你數據挖掘思路的源泉。

文章來自思邁特,CDA獲授權轉載

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢