99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀詳細(xì)解讀如何構(gòu)建專家診病模型
詳細(xì)解讀如何構(gòu)建專家診病模型
2016-03-24
收藏



專家系統(tǒng)是典型的大數(shù)據(jù)和人工智能結(jié)合的計(jì)算機(jī)程序系統(tǒng),其內(nèi)部含有大量的某個(gè)領(lǐng)域?qū)<宜降闹R(shí)與經(jīng)驗(yàn),能夠利用人類專家的知識(shí)和解決問題的方法來處理該領(lǐng)域問題。也就是說,專家系統(tǒng)是一個(gè)具有大量的專門知識(shí)與經(jīng)驗(yàn)的程序系統(tǒng),它應(yīng)用人工智能技術(shù)和計(jì)算機(jī)技術(shù),根據(jù)某領(lǐng)域一個(gè)或多個(gè)專家提供的知識(shí)和經(jīng)驗(yàn),進(jìn)行推理和判斷,模擬人類專家的決策過程,以便解決那些需要人類專家處理的復(fù)雜問題,簡(jiǎn)而言之,專家系統(tǒng)是一種模擬人類專家解決領(lǐng)域問題的計(jì)算機(jī)程序系統(tǒng)。


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

本案例使用SmartMining敏捷挖掘桌面版,以決策樹算法為背景,通過生動(dòng)有趣的過程講解,幫助讀者了解依托大數(shù)據(jù)如何構(gòu)建專家診病模型,以及如何通過可視化探索數(shù)據(jù),實(shí)現(xiàn)決策樹同樣的計(jì)算結(jié)果!

該案例的工作流如下:




商業(yè)目標(biāo)

業(yè)務(wù)理解:該案例所用的數(shù)據(jù)是一份醫(yī)生診病的數(shù)據(jù),如下:




表1:數(shù)據(jù)視圖

其中,年齡、性別、血壓、膽固醇、鈉、鉀是病人的指標(biāo),而藥物是醫(yī)生針對(duì)病人的情況開出的藥物。

業(yè)務(wù)目標(biāo):建立專家診病系統(tǒng),當(dāng)把病人的指標(biāo)輸入到該系統(tǒng)時(shí),系統(tǒng)會(huì)自動(dòng)輸出該給此類病人開出的藥物。

數(shù)據(jù)挖掘目標(biāo):建立專家診病模型,該模型以病人的病例指標(biāo)為輸入,以藥物為目標(biāo),建立預(yù)測(cè)模型,該模型可以根據(jù)輸入指標(biāo)的值,計(jì)算預(yù)測(cè)值(藥物)。

操作實(shí)現(xiàn):

新建工作流

可以點(diǎn)擊文件菜單下的"新建"或者點(diǎn)擊工具欄左方的新建按鈕(  )開始創(chuàng)建工作流。點(diǎn)擊后會(huì)彈出以下向?qū)Ы缑妫?/span>




輸入工作流的名字后即可完成創(chuàng)建:




圖1:新建工作流

導(dǎo)入數(shù)據(jù)

此時(shí)要根據(jù)數(shù)據(jù)存儲(chǔ)文件的格式選擇相應(yīng)的導(dǎo)入節(jié)點(diǎn)。在這里由于數(shù)據(jù)源是CSV文件,因此可以選擇CSV導(dǎo)入節(jié)點(diǎn)(也可以使用可變文件)。左側(cè)節(jié)點(diǎn)庫中CSV導(dǎo)入節(jié)點(diǎn)拖到右側(cè)的工作流中。雙擊節(jié)點(diǎn)或者右鍵菜單中選擇"配置",彈出如下配置窗口:




圖2:CSV節(jié)點(diǎn)配置







理解數(shù)據(jù)

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



表3:預(yù)建模

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




圖3:預(yù)建模

首先,從數(shù)據(jù)準(zhǔn)備列>轉(zhuǎn)換菜單下選擇類型轉(zhuǎn)換節(jié)點(diǎn)。由于性別、血壓、膽固醇三個(gè)字段實(shí)際存儲(chǔ)類型該是字符型,但這里是整型,因此為了便于以下分析,使用類型轉(zhuǎn)換節(jié)點(diǎn)將它們的類型從整型轉(zhuǎn)化為字符型。配置如下:




其次,使用類型節(jié)點(diǎn)指定目標(biāo)變量的角色,將藥物的角色設(shè)為目標(biāo)。




再次,從數(shù)據(jù)準(zhǔn)備的行菜單中選擇分區(qū)節(jié)點(diǎn)。使用分區(qū)節(jié)點(diǎn)可以將數(shù)據(jù)集分成測(cè)試集和訓(xùn)練集,訓(xùn)練集用于訓(xùn)練模型,測(cè)試集用于測(cè)試模型。配置如下:





還有一點(diǎn)要注意,這里分區(qū)即把數(shù)據(jù)集隨機(jī)分成兩份,通常訓(xùn)練集要比測(cè)試集大,通常分為5:5,6:4,7:3,8:2,9:1。數(shù)據(jù)集越小,訓(xùn)練集應(yīng)該分的更多,原因是要保證模型的穩(wěn)定性,參與訓(xùn)練的數(shù)據(jù)要足夠多。實(shí)際中,各種比例都會(huì)嘗試,目的有二:一是選擇最佳的比例,二是測(cè)試模型的穩(wěn)定性。

然后,選擇分類預(yù)測(cè)節(jié)點(diǎn),因?yàn)槟繕?biāo)變量(藥物)為分類型。此處我們重點(diǎn)學(xué)習(xí)決策樹算法,所以就先選擇決策樹算法節(jié)點(diǎn)。節(jié)點(diǎn)連接如上圖3所示,在決策樹(訓(xùn)練)節(jié)點(diǎn)配置中選擇目標(biāo)變量藥物。其中,決策樹(訓(xùn)練)節(jié)點(diǎn)連接分區(qū)節(jié)點(diǎn)。決策樹訓(xùn)練節(jié)點(diǎn)可以采用默認(rèn)配置,無需修改配置,如下:



最后,使用分類評(píng)估節(jié)點(diǎn)評(píng)估模型的準(zhǔn)確性。配置如下圖所示:



評(píng)估結(jié)果:



表3:模型評(píng)估1

從表3中可以看出,模型測(cè)試準(zhǔn)確度為95%,誤判5%。預(yù)建模的目的是為了從整體判斷現(xiàn)有變量與目標(biāo)變量的相關(guān)性,以便可以根據(jù)經(jīng)驗(yàn)預(yù)估最終的效果和可操作性。

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

如何優(yōu)化輸入?這是第三種方法的實(shí)現(xiàn)目標(biāo)。而優(yōu)化輸入最重要的環(huán)節(jié)就是數(shù)據(jù)探索。

數(shù)據(jù)探索



圖4:數(shù)據(jù)可視化探索

數(shù)據(jù)探索最核心的一項(xiàng)工作就是探索輸入變量與目標(biāo)變量的相關(guān)性。分析變量的相關(guān)性可以使用相關(guān)性計(jì)算,也可以使用圖形化分析,而后者最直觀常用。分析兩個(gè)分類型變量可以使用條形圖、網(wǎng)絡(luò)圖或者交叉表。分析兩個(gè)數(shù)值型變量可以使用散點(diǎn)圖。分析一個(gè)數(shù)值型變量和一個(gè)分類型變量可以使用直方圖。

通過分析,血壓和藥物字段有著強(qiáng)相關(guān)性,因?yàn)閺膱D中可以看出使用藥物B和藥物A的人都是高血壓(3表示高血壓,2表示正常,1表示低血壓),使用藥物C的人都是低血壓,這種很明細(xì)的規(guī)律反映出兩個(gè)字段間存在很強(qiáng)的相關(guān)關(guān)系,如下圖所示:




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





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



就此圖來說,散點(diǎn)圖中的每一個(gè)點(diǎn)表示一個(gè)病例,而我們最想知道的還不是鈉和鉀的相關(guān)性,而是兩者與藥物的相關(guān)性,因?yàn)樗幬锊攀俏覀兎治龅哪繕?biāo)。所以我們還想知道散點(diǎn)圖中的每個(gè)病例使用的什么藥物。因此,我們使用藥物作為顏色區(qū)分,重新修正散點(diǎn)圖。如下:




從圖中可見,上三角區(qū)都是淺紅色,說明這部分病例使用的都是Y藥物。這是很明顯的規(guī)律,說明這里面有一種很強(qiáng)的關(guān)聯(lián)。用數(shù)學(xué)的語言來描述,就是鈉和鉀的比例與藥物有很強(qiáng)的相關(guān)性。因此,我們發(fā)現(xiàn)了一個(gè)很重要的變量就是鈉和鉀的比例。因此,我們可以派生一個(gè)變量:鈉鉀比例。

優(yōu)化輸入

首先,使用派生字段節(jié)點(diǎn)或者Java代碼段節(jié)點(diǎn)生成鈉鉀比例字段。配置如下:




其次,使用過濾節(jié)點(diǎn)過濾鈉和鉀字段,否則它們的重復(fù)存在會(huì)導(dǎo)致多重共線性問題。配置如下:




過濾后預(yù)覽數(shù)據(jù)如下:




重新建模




模型整體評(píng)估如下:




表4:模型評(píng)估2


從表4中可看出,模型精度從原來的95%提升帶了100%。當(dāng)然實(shí)際中如果遇到預(yù)測(cè)精度為100%的情況一定就是錯(cuò)的。下面我們?cè)賮斫庾x一下得到的決策樹模型。如下圖所示,


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

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

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

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

如果血壓為1,全部判為C藥物,準(zhǔn)確率僅50%。再看另外一個(gè)指標(biāo)膽固醇,若膽 固醇的值為1,全部判為X藥物,則準(zhǔn)確率為100%。若膽固醇的值為2,全部判為C 藥物,則準(zhǔn)確率為100%。

如果血壓為3,全部判為A藥物,則準(zhǔn)確率僅56.8%。再看另外一個(gè)指標(biāo)年齡,若 年齡大于50.5歲,判為B藥物,則準(zhǔn)確率100%。若年齡不大于50.5歲,判為A藥物, 準(zhǔn)確率為100%。




 小 結(jié)

第一,在建模中,應(yīng)該注意過擬合問題。在商業(yè)中建模的目的是為了商業(yè)應(yīng)用,因此不僅要保證模型的準(zhǔn)確性,更要保證模型的穩(wěn)定性。

第二,模型應(yīng)用的核心是模型的風(fēng)險(xiǎn)控制。只有可以控制風(fēng)險(xiǎn)的模型才可以使用,否則不管理論模型建的多么漂亮都是沒有實(shí)際意義的。

第三,數(shù)據(jù)挖掘的成果并不只是數(shù)學(xué)模型,數(shù)據(jù)挖掘也不等價(jià)于高級(jí)模型(如決策樹、神經(jīng)網(wǎng)絡(luò)等)。數(shù)據(jù)挖掘最重要的不僅是得到一個(gè)模型,還有分析得出最合理的輸入變量以及給出數(shù)據(jù)質(zhì)量管理的建議。

第四,數(shù)據(jù)挖掘的一個(gè)核心工作就是圖形化探索,貌似很簡(jiǎn)單卻又最為重要。因?yàn)檫@是你數(shù)據(jù)挖掘思路的源泉。

文章來自思邁特,CDA獲授權(quán)轉(zhuǎn)載

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }