李榮 楊嘉燁 宋蘇燕 郭志高 丁有偉
(南京中醫(yī)藥大學(xué)人工智能與信息技術(shù)學(xué)院 江蘇省南京市 210033)
隨著人民生活水平和膳食結(jié)構(gòu)的改變,我國血脂異常的發(fā)生率呈持續(xù)上升趨勢(shì),血脂異常與動(dòng)脈粥樣硬化密切相關(guān),是冠心病、腦卒中、心肌梗死、猝死的危險(xiǎn)因素[1]。我國成人血脂異常患者的知曉率和治療率仍處于較低水平,血脂異常的防治工作有待加強(qiáng)[2],因此高血脂的評(píng)估和預(yù)測(cè)對(duì)阻止病情的發(fā)生,延緩病情具有重要意義。
近年來,機(jī)器學(xué)習(xí)技術(shù)發(fā)展迅速,并被廣泛用于慢性病預(yù)測(cè)。M Chen 等人[3]在數(shù)據(jù)不完整的情況下使用潛在因素模型重建丟失數(shù)據(jù),并對(duì)某一地區(qū)的慢性病腦梗死患者的結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行試驗(yàn),提出了一種新的基于CNN 的多模態(tài)疾病風(fēng)險(xiǎn)預(yù)測(cè)算法(CNN-MDRP),該算法準(zhǔn)確率高,收斂速度快。A Wang 等人[4]借助logistic 回歸對(duì)風(fēng)險(xiǎn)因素初篩,進(jìn)而采構(gòu)建BP 算法的多層感知神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)高血壓。將Logistic 回歸和ANN 進(jìn)行有效結(jié)合,對(duì)于高血壓篩查具有重要意義。Chang W 等人[5]使用遞歸特征消除與交叉驗(yàn)證從體檢數(shù)據(jù)中提取最佳特征子集后,采用SVM、決策樹、隨機(jī)森林、XGBoost 預(yù)測(cè)高血壓,發(fā)現(xiàn)XGBoost 預(yù)測(cè)性能最好,此試驗(yàn)對(duì)深入研究高血壓并發(fā)癥具有較強(qiáng)的現(xiàn)實(shí)意義。
在國內(nèi)外的相關(guān)研究中,將機(jī)器學(xué)習(xí)應(yīng)用于疾病預(yù)測(cè)的研究可以分為用于預(yù)測(cè)慢性疾病的模型設(shè)計(jì)和通過不同模型比較預(yù)測(cè)結(jié)果,大部分研究主要針對(duì)高血壓等一些慢性疾病,由于高血脂癥和其他慢性疾病同樣重要,因此本研究選擇高血脂癥作為主要分析的疾病,提出基于XGBoost 算法的潛在高血脂疾病預(yù)測(cè)方法。針對(duì)采集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)的清洗、轉(zhuǎn)化等處理,利用XGBoost、隨機(jī)森林和Logistics 三種算法對(duì)潛在高血壓進(jìn)行預(yù)測(cè),并比對(duì)不同算法的預(yù)測(cè)結(jié)果,從而找到最理想的算法,為早期高血壓的檢測(cè)和防治提供保障。
高血脂癥是指血清中的膽固醇(TC)和(或)甘油三酯(TG)水平升高,通常患有高血脂癥的患者會(huì)在某些方面的身體數(shù)據(jù)指標(biāo)有異于正常人的表現(xiàn)。潛在高血脂癥的預(yù)測(cè)原理是通過機(jī)器學(xué)習(xí)相關(guān)理論及在海量個(gè)體生理數(shù)據(jù)中搜索異常的,可能引發(fā)高血脂癥的相關(guān)數(shù)據(jù)。
隨機(jī)森林(Random Forest)是由Breiman[6]提出的,是基于多棵決策樹的集成分類方法。隨機(jī)森林由多棵決策樹構(gòu)成,用隨機(jī)的方法組成森林,決策樹之間互不關(guān)聯(lián)。當(dāng)有樣本需要判斷時(shí),將抽取的樣本數(shù)據(jù)放到?jīng)Q策樹的根節(jié)點(diǎn),抽取樣本采用有放回的抽樣方法,保證每棵樹之間相互獨(dú)立。決策樹根據(jù)選擇的屬性進(jìn)行判斷,并得到一個(gè)結(jié)果,最后匯總這些結(jié)果,通過少數(shù)服從多數(shù)的方法,出現(xiàn)最多的分類結(jié)果就是最后的答案。
XGBoost(eXtreme Gradient Boosting)是由陳天奇[7]等人2015年提出,是一種基于決策樹的集成機(jī)器學(xué)習(xí)算法。是在GBDT 基礎(chǔ)上,加入目標(biāo)函數(shù)的二次泰勒展開項(xiàng)和模型復(fù)雜度的正則項(xiàng),使得目標(biāo)函數(shù)與實(shí)際數(shù)據(jù)相差更小,達(dá)到減少數(shù)據(jù)誤差,提高預(yù)測(cè)準(zhǔn)確度的一種算法。
Logistic 回歸算法是從統(tǒng)計(jì)學(xué)中借鑒而來的,通過使用固有的Logistic 函數(shù)估計(jì)概率,來衡量因變量與一個(gè)或者多個(gè)自變量之間的關(guān)系。邏輯回歸假設(shè)數(shù)據(jù)服從伯努利分布,通過極大化化似然函數(shù)方法,運(yùn)用梯度下降來求解參數(shù)達(dá)到將數(shù)據(jù)二分的目的。
實(shí)際在生活中取得的數(shù)據(jù)存在許多問題,特別是醫(yī)療領(lǐng)域的數(shù)據(jù),有其獨(dú)特的特點(diǎn),決定了數(shù)據(jù)處理過程中面臨諸多問題,比如冗余性,不完整性,不一致性,多類別數(shù)據(jù)特征等,因此,數(shù)據(jù)預(yù)處理在數(shù)據(jù)建模過程中占據(jù)重要作用,本研究主要使用下述方法對(duì)體檢數(shù)據(jù)進(jìn)行預(yù)處理。
(1)數(shù)據(jù)清洗。對(duì)待預(yù)測(cè)人員體檢數(shù)據(jù)采集的過程中,不可避免會(huì)有大量與潛在高血脂癥預(yù)測(cè)無關(guān)的冗余信息以及不完整信息,因此,需要對(duì)采集到的數(shù)據(jù)集進(jìn)行清洗。
(2)數(shù)據(jù)轉(zhuǎn)換。將隸屬于非布爾屬性的體檢數(shù)據(jù)轉(zhuǎn)換成布爾數(shù)據(jù)屬性。可以通過文本關(guān)鍵詞的提取,長文本轉(zhuǎn)換成數(shù)值向量等方式進(jìn)行處理。
通過上述方式處理得到待預(yù)測(cè)人員的體檢數(shù)據(jù),能更方便的進(jìn)行高血脂癥的數(shù)據(jù)預(yù)測(cè)分析,為潛在高血脂癥的預(yù)測(cè)提供數(shù)據(jù)支撐。
實(shí)驗(yàn)使用的是Windows 10、i5 處理器、8GB 內(nèi)存的計(jì)算機(jī),編程語言采用的是Python 3.8。
本實(shí)驗(yàn)選擇美年體檢數(shù)據(jù),其中包括57298 份體檢報(bào)告,2795項(xiàng)體檢項(xiàng)目。該體檢報(bào)告中包括數(shù)值型數(shù)據(jù)和文本型數(shù)據(jù),體檢項(xiàng)目名稱已被脫敏處理,個(gè)人id 也進(jìn)行加密處理。
使用準(zhǔn)確率(precision,P)、召回率(recall,R)和F1 值(F1-measure,F1)3 個(gè)指標(biāo)作為分類器評(píng)判標(biāo)準(zhǔn)。在分類問題中,可將樣本根據(jù)真實(shí)類和分類模型給出的預(yù)測(cè)類的組合,劃分為真正例(True Positive,TP)、假正例(False Positive,F(xiàn)P)、真反例(True Negative,TN)、假反例(False Negative,F(xiàn)N)四種情況。則有如下定義:


本研究主要從體檢數(shù)據(jù)中提取個(gè)體特征,對(duì)疾病進(jìn)行風(fēng)險(xiǎn)預(yù)測(cè),預(yù)測(cè)其膽固醇和血清甘油三酯是否處于異常,從而判斷是否屬于高血脂。
為驗(yàn)證XGBoost 算法分類的準(zhǔn)確性,本研究還選擇了隨機(jī)森林和Logistics 兩種算法,在100%數(shù)據(jù)量下,進(jìn)行比較。由表1可知,XGBoost 算法的結(jié)果要明顯優(yōu)于其他兩種算法。
隨機(jī)選取20%、40%、60%、80%的數(shù)據(jù)作為訓(xùn)練集。從圖1中可以看出,隨著數(shù)據(jù)量的增加,模型的結(jié)果逐步增強(qiáng),但是有一定的波動(dòng)。由于數(shù)據(jù)集樣本分布并不均衡,且一些字段存在一定的缺失率,這導(dǎo)致了模型結(jié)果出現(xiàn)波動(dòng),但從F1 值來來看,隨著數(shù)據(jù)量的增加,模型的結(jié)果逐步增強(qiáng),且未出現(xiàn)明顯下降的趨勢(shì)。如表2所示。

圖1:XGBoost 在不同的數(shù)據(jù)量下測(cè)試結(jié)果的變化

表1:XGBoost 與其他算法的對(duì)比

表2:訓(xùn)練樣本數(shù)據(jù)量對(duì)xgboost 算法的影響
針對(duì)高血脂預(yù)測(cè)問題提出了基于XGBoost 算法的預(yù)測(cè)方法。通過與其他算法的比較可以發(fā)現(xiàn)XGBoost 算法結(jié)果好于其他算法,通過不同數(shù)據(jù)量的測(cè)試可以看出:隨著訓(xùn)練樣本的增加,準(zhǔn)確率有一定程度的提高。通過本研究可以為高血脂癥的預(yù)測(cè)提供強(qiáng)而有力的理論基礎(chǔ)。