机器学习能诊断病情,还能预测患者出院后的情况?
生活随笔
收集整理的這篇文章主要介紹了
机器学习能诊断病情,还能预测患者出院后的情况?
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
摘要: 機(jī)器學(xué)習(xí)正逐漸改變著各行各業(yè),醫(yī)療行業(yè)也處于變革之中。想不到機(jī)器學(xué)習(xí)不光能診斷患者病情,還能預(yù)測(cè)患者出院后的情況呢,這個(gè)研究方向有點(diǎn)意思,感興趣的讀者快來(lái)瞅瞅吧!
隨著數(shù)據(jù)量以及計(jì)算機(jī)性能的不斷提升,機(jī)器學(xué)習(xí)技術(shù)正逐漸滲透于各行各業(yè)中。計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理、機(jī)器人等領(lǐng)域基本上已經(jīng)被機(jī)器學(xué)習(xí)算法壟斷,正逐步向教育、銀行、醫(yī)療等傳統(tǒng)行業(yè)擴(kuò)張。關(guān)于機(jī)器學(xué)習(xí)如何改變傳統(tǒng)教育模式,可以參見(jiàn)博主的這篇文章《使用AR、AI以及大數(shù)據(jù)改革教育體系——為每位學(xué)生打造自己的私人定制學(xué)習(xí)路線》。銀行業(yè)目前對(duì)人工智能炒作成分居多,大多數(shù)銀行持觀望態(tài)度,短時(shí)間不會(huì)利用人工智能取代大部分銀行職員工作。醫(yī)療行業(yè)應(yīng)用AI也比較火熱,比如利用AI檢測(cè)癌癥、驅(qū)動(dòng)新藥發(fā)現(xiàn)引擎、基因檢測(cè)等。而膿毒癥(Sepsis)是一種醫(yī)療行業(yè)常見(jiàn)的并發(fā)癥,本文將使用機(jī)器學(xué)習(xí)預(yù)測(cè)膿毒癥患者的出院后情況。
膿毒癥是指因感染因素引起的全身炎癥反應(yīng)綜合征,嚴(yán)重時(shí)可導(dǎo)致器官功能障礙或循環(huán)障礙,是嚴(yán)重創(chuàng)傷、燒傷、休克、感染和外科大手術(shù)等常見(jiàn)的并發(fā)癥,因?yàn)槠浒Y狀和發(fā)燒、低血壓等其它常見(jiàn)疾病非常相像,很難被早期發(fā)現(xiàn),如果不及時(shí)治療,可進(jìn)一步發(fā)展為感染性休克,其住院死亡率超過(guò)40%,相當(dāng)危險(xiǎn)。
了解膿毒癥患者的最高死亡風(fēng)險(xiǎn)對(duì)臨床醫(yī)生的優(yōu)先護(hù)理是有幫助的。團(tuán)隊(duì)與Geisinger健康護(hù)理系統(tǒng)的研究人員合作,使用歷史電子健康記錄數(shù)據(jù)(EHR)建立模型來(lái)預(yù)測(cè)膿毒癥住院患者在住院期間或出院后90天的全因死亡率(all-cause mortality)。該模型可以指導(dǎo)醫(yī)療團(tuán)隊(duì)為那些預(yù)測(cè)為高概率死亡的患者進(jìn)行仔細(xì)監(jiān)測(cè),并采取有效預(yù)防措施。
數(shù)據(jù)科學(xué)環(huán)境
使用IBM數(shù)據(jù)科學(xué)經(jīng)驗(yàn)為數(shù)據(jù)科學(xué)家提供編程環(huán)境(三種流行編程語(yǔ)言:Python、Scala和R,兩種編程分析工具:Jupyter和Zeppelin),此外,IBM數(shù)據(jù)科學(xué)經(jīng)驗(yàn)通過(guò)業(yè)務(wù)應(yīng)用程序?qū)崟r(shí)或批量計(jì)分來(lái)操作模型,為連續(xù)模型檢測(cè)和再訓(xùn)練集成反饋回路。
收集和預(yù)處理數(shù)據(jù)
Geisinger在2006年~2016年獲得了超過(guò)10000名確診為敗血癥的患者數(shù)據(jù),這些數(shù)據(jù)包含人口統(tǒng)計(jì)學(xué)、住院和門診、外科手術(shù)、醫(yī)療史、藥物、醫(yī)院?jiǎn)挝恢g轉(zhuǎn)移以及實(shí)驗(yàn)室結(jié)果等記錄。
對(duì)于每名患者,選擇最近的醫(yī)院和最相關(guān)的住院數(shù)據(jù),包括住院期間具體的信息,比如手術(shù)類型、培養(yǎng)位置(細(xì)菌)等。此外,還導(dǎo)出了入院前的總結(jié)信息,比如住院前30天的外科手術(shù)次數(shù)等,沒(méi)有使用出院后的數(shù)據(jù)。圖1給出了這些基于時(shí)間數(shù)據(jù)的決策:
圖1 基于時(shí)間序列數(shù)據(jù)做預(yù)測(cè)
合并所提供的數(shù)據(jù)集后,得到的數(shù)據(jù)集包括10599行,其中每名患者有199個(gè)屬性(特征)。
預(yù)測(cè)模型
在數(shù)據(jù)清洗和特征選擇完成后,將任務(wù)目標(biāo)定義為二分類問(wèn)題:預(yù)測(cè)膿毒癥患者出院后90天內(nèi)是否死亡。
選擇的算法為梯度提升樹(Gradient boosted trees, GBT),并通過(guò)XGBoost數(shù)據(jù)包實(shí)現(xiàn)。由于愛(ài)算法的良好的執(zhí)行速度和魯棒性,一直是機(jī)器學(xué)習(xí)競(jìng)賽中流行使用的算法。使用XGBoots另一個(gè)動(dòng)機(jī)是微調(diào)超參數(shù)以提升模型性能的能力。在訓(xùn)練數(shù)據(jù)中,使用十折交叉驗(yàn)證(ten-fold cross-validation)和網(wǎng)格搜索(GridSearchCV)以迭代的方式選擇參數(shù),以最大化ROC曲線下的面積(AUC)。IBM數(shù)據(jù)科學(xué)經(jīng)驗(yàn)中的一個(gè)實(shí)例在此可見(jiàn)。
將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集占60%,測(cè)試集占40%。使用訓(xùn)練集訓(xùn)練模型,將訓(xùn)練好的模型參數(shù)應(yīng)用于測(cè)試集上,模型性能如圖2所示:
圖2 XGBoost模型的性能
圖2中的一些數(shù)據(jù)是性能評(píng)價(jià)指標(biāo),比如AUC得分,這個(gè)數(shù)字越接近于1,則表示模型的能力越能正確的分類正預(yù)測(cè)(TP),從而減少假陽(yáng)性。測(cè)試結(jié)果AUC數(shù)據(jù)為0.8561,表明模型能夠識(shí)別出絕大多數(shù)膿毒癥患者90天內(nèi)是否死亡,如果預(yù)測(cè)為死亡,則這些患者可以進(jìn)行適當(dāng)?shù)陌邢蛑委煛?br /> 對(duì)于精確率(precision)和召回率(recall),數(shù)字越接近于1,表明模型越精確。圖2中顯示的數(shù)據(jù)為接近于0.80,即贊成高召回率——目的是盡量減少該模型遺漏最終可能因膿毒癥死亡的患者數(shù)量。
對(duì)于另外的一個(gè)評(píng)價(jià)指標(biāo)準(zhǔn)確度(Accuracy),使用bootstrap對(duì)訓(xùn)練和測(cè)試數(shù)據(jù)生成1000個(gè)變體,然后在這些數(shù)據(jù)上運(yùn)行XGBoost模型,并獲得每次運(yùn)行的模型準(zhǔn)確率,1000次運(yùn)行結(jié)果的準(zhǔn)確度分布為0.77~0.79之間的概率為95%,這意味著建立的模型能夠識(shí)別出超過(guò)四分之三的真實(shí)結(jié)果。
除了以上評(píng)價(jià)指標(biāo)外,模型的混淆矩陣(confusion matrix)如圖3所示。從圖中可以看到,對(duì)于測(cè)試數(shù)據(jù),模型確定了1190例患者為真陽(yáng)性(預(yù)測(cè)為死亡的膿毒癥患者死亡)和2087例患者為真陰性(預(yù)測(cè)為生存的膿毒癥患者存活)。
圖3 陰陽(yáng)性預(yù)測(cè)
XGBoost還具有確定特征的能力,這種能力并不告知選擇的特征是否為死亡或生存的預(yù)測(cè)因子,但XGBoost生成的信息仍然非常有用,因?yàn)榭梢粤私獾侥男┨卣魇怯糜陬A(yù)測(cè)死亡的。如圖4所示,29.5%的患者都使用“入院年齡”特征來(lái)預(yù)測(cè)死亡。
圖4 模型最重要的20個(gè)特征
對(duì)特征進(jìn)一步的探索分析,以測(cè)試特征如何與死亡結(jié)果相對(duì)應(yīng)。雖然上圖有助于可視化特征與結(jié)果的關(guān)系,更重要的是要了解XGBoost訓(xùn)練多個(gè)決策樹的機(jī)制。因此,在探索過(guò)程中,XGBoost模型中的重要特征可能與這些結(jié)果變量沒(méi)有明顯關(guān)系。
如圖5所示,諸如“入院年齡”的特征可能表明老年患者相較于年輕患者而言具有更高的死亡比例,另一個(gè)例子“血管升壓藥使用時(shí)間”特征可能表明服用升壓藥的患者死亡率較高,但這些死亡也可能是由于其不好的健康狀況導(dǎo)致。
圖5 與患者死亡有關(guān)的一些重要特征
XGBoost輸出的決策樹規(guī)則可以幫助醫(yī)生進(jìn)一步了解如何針對(duì)患者制定治療方案。比如,由于老年患者較高的死亡風(fēng)險(xiǎn),醫(yī)療團(tuán)隊(duì)可以特別關(guān)注老年患者,檢測(cè)所服用的血管升壓藥的持續(xù)時(shí)間、盡量減少患者在各科室之間轉(zhuǎn)移的次數(shù)以減少對(duì)易感染患者的影響等。
結(jié)論
預(yù)測(cè)膿毒癥患者的全因死亡可指導(dǎo)健康提供者主動(dòng)監(jiān)測(cè)并采取預(yù)防措施以提升患者的存活率。在本文模型中,選擇了那些被認(rèn)為與膿毒癥患者死亡有關(guān)的重要特征,即機(jī)器學(xué)習(xí)模型可以幫助識(shí)別與膿毒癥死亡相關(guān)聯(lián)的變量。后續(xù)隨著數(shù)據(jù)量的增加,將添加一些更關(guān)鍵特征來(lái)改進(jìn)模型,也可以將該方法應(yīng)用于其它病癥的預(yù)測(cè)之中,希望產(chǎn)生一個(gè)更具可操作的模型,以改善醫(yī)療水平。
原文鏈接干貨好文,請(qǐng)關(guān)注掃描以下二維碼:
隨著數(shù)據(jù)量以及計(jì)算機(jī)性能的不斷提升,機(jī)器學(xué)習(xí)技術(shù)正逐漸滲透于各行各業(yè)中。計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理、機(jī)器人等領(lǐng)域基本上已經(jīng)被機(jī)器學(xué)習(xí)算法壟斷,正逐步向教育、銀行、醫(yī)療等傳統(tǒng)行業(yè)擴(kuò)張。關(guān)于機(jī)器學(xué)習(xí)如何改變傳統(tǒng)教育模式,可以參見(jiàn)博主的這篇文章《使用AR、AI以及大數(shù)據(jù)改革教育體系——為每位學(xué)生打造自己的私人定制學(xué)習(xí)路線》。銀行業(yè)目前對(duì)人工智能炒作成分居多,大多數(shù)銀行持觀望態(tài)度,短時(shí)間不會(huì)利用人工智能取代大部分銀行職員工作。醫(yī)療行業(yè)應(yīng)用AI也比較火熱,比如利用AI檢測(cè)癌癥、驅(qū)動(dòng)新藥發(fā)現(xiàn)引擎、基因檢測(cè)等。而膿毒癥(Sepsis)是一種醫(yī)療行業(yè)常見(jiàn)的并發(fā)癥,本文將使用機(jī)器學(xué)習(xí)預(yù)測(cè)膿毒癥患者的出院后情況。
膿毒癥是指因感染因素引起的全身炎癥反應(yīng)綜合征,嚴(yán)重時(shí)可導(dǎo)致器官功能障礙或循環(huán)障礙,是嚴(yán)重創(chuàng)傷、燒傷、休克、感染和外科大手術(shù)等常見(jiàn)的并發(fā)癥,因?yàn)槠浒Y狀和發(fā)燒、低血壓等其它常見(jiàn)疾病非常相像,很難被早期發(fā)現(xiàn),如果不及時(shí)治療,可進(jìn)一步發(fā)展為感染性休克,其住院死亡率超過(guò)40%,相當(dāng)危險(xiǎn)。
了解膿毒癥患者的最高死亡風(fēng)險(xiǎn)對(duì)臨床醫(yī)生的優(yōu)先護(hù)理是有幫助的。團(tuán)隊(duì)與Geisinger健康護(hù)理系統(tǒng)的研究人員合作,使用歷史電子健康記錄數(shù)據(jù)(EHR)建立模型來(lái)預(yù)測(cè)膿毒癥住院患者在住院期間或出院后90天的全因死亡率(all-cause mortality)。該模型可以指導(dǎo)醫(yī)療團(tuán)隊(duì)為那些預(yù)測(cè)為高概率死亡的患者進(jìn)行仔細(xì)監(jiān)測(cè),并采取有效預(yù)防措施。
數(shù)據(jù)科學(xué)環(huán)境
使用IBM數(shù)據(jù)科學(xué)經(jīng)驗(yàn)為數(shù)據(jù)科學(xué)家提供編程環(huán)境(三種流行編程語(yǔ)言:Python、Scala和R,兩種編程分析工具:Jupyter和Zeppelin),此外,IBM數(shù)據(jù)科學(xué)經(jīng)驗(yàn)通過(guò)業(yè)務(wù)應(yīng)用程序?qū)崟r(shí)或批量計(jì)分來(lái)操作模型,為連續(xù)模型檢測(cè)和再訓(xùn)練集成反饋回路。
收集和預(yù)處理數(shù)據(jù)
Geisinger在2006年~2016年獲得了超過(guò)10000名確診為敗血癥的患者數(shù)據(jù),這些數(shù)據(jù)包含人口統(tǒng)計(jì)學(xué)、住院和門診、外科手術(shù)、醫(yī)療史、藥物、醫(yī)院?jiǎn)挝恢g轉(zhuǎn)移以及實(shí)驗(yàn)室結(jié)果等記錄。
對(duì)于每名患者,選擇最近的醫(yī)院和最相關(guān)的住院數(shù)據(jù),包括住院期間具體的信息,比如手術(shù)類型、培養(yǎng)位置(細(xì)菌)等。此外,還導(dǎo)出了入院前的總結(jié)信息,比如住院前30天的外科手術(shù)次數(shù)等,沒(méi)有使用出院后的數(shù)據(jù)。圖1給出了這些基于時(shí)間數(shù)據(jù)的決策:
圖1 基于時(shí)間序列數(shù)據(jù)做預(yù)測(cè)
合并所提供的數(shù)據(jù)集后,得到的數(shù)據(jù)集包括10599行,其中每名患者有199個(gè)屬性(特征)。
預(yù)測(cè)模型
在數(shù)據(jù)清洗和特征選擇完成后,將任務(wù)目標(biāo)定義為二分類問(wèn)題:預(yù)測(cè)膿毒癥患者出院后90天內(nèi)是否死亡。
選擇的算法為梯度提升樹(Gradient boosted trees, GBT),并通過(guò)XGBoost數(shù)據(jù)包實(shí)現(xiàn)。由于愛(ài)算法的良好的執(zhí)行速度和魯棒性,一直是機(jī)器學(xué)習(xí)競(jìng)賽中流行使用的算法。使用XGBoots另一個(gè)動(dòng)機(jī)是微調(diào)超參數(shù)以提升模型性能的能力。在訓(xùn)練數(shù)據(jù)中,使用十折交叉驗(yàn)證(ten-fold cross-validation)和網(wǎng)格搜索(GridSearchCV)以迭代的方式選擇參數(shù),以最大化ROC曲線下的面積(AUC)。IBM數(shù)據(jù)科學(xué)經(jīng)驗(yàn)中的一個(gè)實(shí)例在此可見(jiàn)。
將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,其中訓(xùn)練集占60%,測(cè)試集占40%。使用訓(xùn)練集訓(xùn)練模型,將訓(xùn)練好的模型參數(shù)應(yīng)用于測(cè)試集上,模型性能如圖2所示:
圖2 XGBoost模型的性能
圖2中的一些數(shù)據(jù)是性能評(píng)價(jià)指標(biāo),比如AUC得分,這個(gè)數(shù)字越接近于1,則表示模型的能力越能正確的分類正預(yù)測(cè)(TP),從而減少假陽(yáng)性。測(cè)試結(jié)果AUC數(shù)據(jù)為0.8561,表明模型能夠識(shí)別出絕大多數(shù)膿毒癥患者90天內(nèi)是否死亡,如果預(yù)測(cè)為死亡,則這些患者可以進(jìn)行適當(dāng)?shù)陌邢蛑委煛?br /> 對(duì)于精確率(precision)和召回率(recall),數(shù)字越接近于1,表明模型越精確。圖2中顯示的數(shù)據(jù)為接近于0.80,即贊成高召回率——目的是盡量減少該模型遺漏最終可能因膿毒癥死亡的患者數(shù)量。
對(duì)于另外的一個(gè)評(píng)價(jià)指標(biāo)準(zhǔn)確度(Accuracy),使用bootstrap對(duì)訓(xùn)練和測(cè)試數(shù)據(jù)生成1000個(gè)變體,然后在這些數(shù)據(jù)上運(yùn)行XGBoost模型,并獲得每次運(yùn)行的模型準(zhǔn)確率,1000次運(yùn)行結(jié)果的準(zhǔn)確度分布為0.77~0.79之間的概率為95%,這意味著建立的模型能夠識(shí)別出超過(guò)四分之三的真實(shí)結(jié)果。
除了以上評(píng)價(jià)指標(biāo)外,模型的混淆矩陣(confusion matrix)如圖3所示。從圖中可以看到,對(duì)于測(cè)試數(shù)據(jù),模型確定了1190例患者為真陽(yáng)性(預(yù)測(cè)為死亡的膿毒癥患者死亡)和2087例患者為真陰性(預(yù)測(cè)為生存的膿毒癥患者存活)。
圖3 陰陽(yáng)性預(yù)測(cè)
XGBoost還具有確定特征的能力,這種能力并不告知選擇的特征是否為死亡或生存的預(yù)測(cè)因子,但XGBoost生成的信息仍然非常有用,因?yàn)榭梢粤私獾侥男┨卣魇怯糜陬A(yù)測(cè)死亡的。如圖4所示,29.5%的患者都使用“入院年齡”特征來(lái)預(yù)測(cè)死亡。
圖4 模型最重要的20個(gè)特征
對(duì)特征進(jìn)一步的探索分析,以測(cè)試特征如何與死亡結(jié)果相對(duì)應(yīng)。雖然上圖有助于可視化特征與結(jié)果的關(guān)系,更重要的是要了解XGBoost訓(xùn)練多個(gè)決策樹的機(jī)制。因此,在探索過(guò)程中,XGBoost模型中的重要特征可能與這些結(jié)果變量沒(méi)有明顯關(guān)系。
如圖5所示,諸如“入院年齡”的特征可能表明老年患者相較于年輕患者而言具有更高的死亡比例,另一個(gè)例子“血管升壓藥使用時(shí)間”特征可能表明服用升壓藥的患者死亡率較高,但這些死亡也可能是由于其不好的健康狀況導(dǎo)致。
圖5 與患者死亡有關(guān)的一些重要特征
XGBoost輸出的決策樹規(guī)則可以幫助醫(yī)生進(jìn)一步了解如何針對(duì)患者制定治療方案。比如,由于老年患者較高的死亡風(fēng)險(xiǎn),醫(yī)療團(tuán)隊(duì)可以特別關(guān)注老年患者,檢測(cè)所服用的血管升壓藥的持續(xù)時(shí)間、盡量減少患者在各科室之間轉(zhuǎn)移的次數(shù)以減少對(duì)易感染患者的影響等。
結(jié)論
預(yù)測(cè)膿毒癥患者的全因死亡可指導(dǎo)健康提供者主動(dòng)監(jiān)測(cè)并采取預(yù)防措施以提升患者的存活率。在本文模型中,選擇了那些被認(rèn)為與膿毒癥患者死亡有關(guān)的重要特征,即機(jī)器學(xué)習(xí)模型可以幫助識(shí)別與膿毒癥死亡相關(guān)聯(lián)的變量。后續(xù)隨著數(shù)據(jù)量的增加,將添加一些更關(guān)鍵特征來(lái)改進(jìn)模型,也可以將該方法應(yīng)用于其它病癥的預(yù)測(cè)之中,希望產(chǎn)生一個(gè)更具可操作的模型,以改善醫(yī)療水平。
原文鏈接干貨好文,請(qǐng)關(guān)注掃描以下二維碼:
總結(jié)
以上是生活随笔為你收集整理的机器学习能诊断病情,还能预测患者出院后的情况?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 求教专业人士,视频的码率多少合适?是不是
- 下一篇: [转载]Token原理以及应用