





摘要: 針對(duì)傳統(tǒng)機(jī)器學(xué)習(xí)算法在數(shù)據(jù)集Cleveland和Hungary上預(yù)測(cè)準(zhǔn)確率低的問題, 提出一種基于Bayes超參數(shù)優(yōu)化梯度提升樹的心臟病預(yù)測(cè)方法. 首先, 采用K-最近鄰算法對(duì)數(shù)據(jù)集中的缺失值進(jìn)行填補(bǔ), 用Min-Max標(biāo)準(zhǔn)化、 One-Hot編碼處理數(shù)據(jù), 并基于梯度提升樹算法進(jìn)行心臟病預(yù)測(cè); 其次, 采用Bayes優(yōu)化和十倍交叉驗(yàn)證的方式搜尋算法的最佳超參數(shù)組合. 實(shí)驗(yàn)結(jié)果表明, 優(yōu)化后的梯度提升樹算法在心臟病數(shù)據(jù)集Cleveland上預(yù)測(cè)準(zhǔn)確率可達(dá)90.2%, 在心臟病數(shù)據(jù)集Hungary上預(yù)測(cè)準(zhǔn)確率可達(dá)81.4%, 優(yōu)于決策樹、 支持向量機(jī)、 K-最近鄰等傳統(tǒng)機(jī)器學(xué)習(xí)方法, 可輔助醫(yī)生進(jìn)行心臟病診斷.
關(guān)鍵詞: 心臟病預(yù)測(cè); K-最近鄰算法; 梯度提升樹; Bayes優(yōu)化
中圖分類號(hào): TP181; TP301.6文獻(xiàn)標(biāo)志碼: A文章編號(hào): 1671-5489(2025)02-0472-07
Heart Disease Prediction Method Based on BayesianHyperparameter Optimization Gradient Boosting Trees
WANG Haiyan, JIAO Zengchen, ZHAO Jian, AN Tianbo, JU Yi
(Key Laboratory of Intelligent Rehabilitation and Accessibility for People with Disabilities of Ministry of Education,
College of Computer Science and Technology,Changchun University, Changchun 130022, China)
Abstract: Aiming atthe problem of low prediction accuracy of traditional machine learning algorithms on Cleveland and Hungary dataset, we proposed a heart disease prediction method based on Bayesian hyperparameter optimization gradient boosting trees. Firstly, the K-nearest neighbor algorithm was used to fill in the missing values in the dataset, Min-Max standardization and One-Hot encoding were usedto process the data, andthe gradient boosting tree algorithm was used to predict the heart disease. Secondly, Bayesian optimization and ten-fold cross validation were used to search for the best combination of hyperparameters of the algorithm. The experimental results show thatthe prediction accuracy of the optimized gradient boosting tree algorithm can reach 902% on the Cleveland heart disease dataset, and the prediction accuracy can reach 814% on the Hungarian heart disease dataset, outperformingtraditional machine learning methods such as decision tree, support vector machine and the K-nearest neighbor, itcan assist doctors in the diagnosis of heart disease.
Keywords: heart disease prediction; K-nearest neighbor algorithm; gradient boosting tree; Bayesian optimization
近年來, 心血管病(CVD)已成為危害我國(guó)居民健康的重大公共衛(wèi)生問題[1].隨著人工智能的高速發(fā)展, 關(guān)于心臟病分類預(yù)測(cè)的研究也取得了一些進(jìn)展. Comak等[2]使用最小二乘支持向量機(jī)(SVM)分類器代替人工神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)了一個(gè)對(duì)心臟病分類的決策支持系統(tǒng). Parthiban等[3]對(duì)樸素Bayes方法診斷糖尿病患者的心臟病工作進(jìn)行延伸, 提出了在SVM分類器中使用徑向基函數(shù)(RBF)核的方法. Weng等[4]將數(shù)據(jù)集分為訓(xùn)練隊(duì)列和驗(yàn)證隊(duì)列, 在訓(xùn)練隊(duì)列中推導(dǎo)出CVD風(fēng)險(xiǎn)算法, 在驗(yàn)證隊(duì)列中應(yīng)用和測(cè)試算法證明, 結(jié)果表明機(jī)器學(xué)習(xí)顯著提高了心血管風(fēng)險(xiǎn)預(yù)測(cè)的準(zhǔn)確率. 王巡等[5]提出了基于Hadoop的分布式C4.5決策樹算法, 使用MapReduce并行編程模式、 HDFS分布式文件存儲(chǔ)系統(tǒng)加快了C4.5算法的效率, 并應(yīng)用于心臟病診斷中. 王健等[6]將一維的心臟病數(shù)據(jù)升維成類似圖像格式的三維數(shù)據(jù), 使數(shù)據(jù)能適應(yīng)卷積神經(jīng)網(wǎng)絡(luò), 通過對(duì)比卷積層數(shù)量對(duì)準(zhǔn)確率和訓(xùn)練時(shí)間的影響, 得到最優(yōu)心臟病預(yù)測(cè)模型. 趙金超等[7]使用K-最近鄰方法(KNN)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理, 通過網(wǎng)格搜索的方法對(duì)隨機(jī)森林進(jìn)行優(yōu)化, 提出了KNN-RF模型, 該模型對(duì)心臟病進(jìn)行預(yù)測(cè)的準(zhǔn)確率達(dá)83.2%. 王成武等[8]利用網(wǎng)格搜索與交叉驗(yàn)證相結(jié)合的方法對(duì)模型進(jìn)行初步的優(yōu)化, 在此基礎(chǔ)上使用粒子群優(yōu)化算法對(duì)模型進(jìn)行進(jìn)一步優(yōu)化, 優(yōu)化后模型分類預(yù)測(cè)的結(jié)果得到明顯提升. 受上述工作的啟發(fā), 本文提出一種Bayes優(yōu)化梯度提升樹的方法, 并對(duì)數(shù)據(jù)集進(jìn)行歸一化、 獨(dú)熱編碼處理, 實(shí)驗(yàn)結(jié)果表明, 模型準(zhǔn)確率得到進(jìn)一步提升.
1 算法描述
1.1 梯度提升樹
梯度提升樹(GBDT)是Boosting策略的一種實(shí)現(xiàn)方式, 它通過一組分類器的串行迭代得到一個(gè)強(qiáng)學(xué)習(xí)器, 以進(jìn)行更高精度的分類[9].無論是處理回歸問題還是二分類以及多分類問題, 梯度提升樹使用的決策樹(DT)都是分類回歸樹(CART), 計(jì)算流程如下.
1) 初始化學(xué)習(xí)器:
f(x)=argminc ∑Ni=1L(yi,c),(1)
其中f(x)為初始化過程的目標(biāo)函數(shù), ∑Ni=1L(yi,c)為損失函數(shù), c為最小損失常數(shù).
2) 計(jì)算殘差:
rmi=-L(yi,f(xi))f(xi)f(x)=fm-1(x),(2)
將rmi作為預(yù)測(cè)值, 當(dāng)i=1,2,…,i時(shí)擬合得到第m棵回歸樹.
3) 遍歷節(jié)點(diǎn), 計(jì)算回歸樹每個(gè)葉子節(jié)點(diǎn)Rmj的輸出值cmj:
cmj=argminc∑x∈RmjL(yi,fm-1(xi)+c).(3)
4) 更新學(xué)習(xí)器:
fm(x)=fm-1(x)+∑Jj=1cmjI(x),(4)
其中I表示學(xué)習(xí)率, J表示葉子節(jié)點(diǎn)個(gè)數(shù).
5) 得到強(qiáng)分類器:
fM(x)=∑Mm=1∑Jj=1cmjI(x).(5)
1.2 Bayes優(yōu)化
Bayes優(yōu)化常應(yīng)用于機(jī)器學(xué)習(xí)的超參數(shù)尋優(yōu)中, 其原理是: 先通過Bayes定理估計(jì)目標(biāo)函數(shù)的后驗(yàn)分布, 再根據(jù)分布選擇下一個(gè)需要采樣的超參數(shù)組合, 然后利用之前的采樣結(jié)果完善目標(biāo)函數(shù), 最終找到全局最優(yōu)超參數(shù)[10].
使用梯度提升樹進(jìn)行心臟病預(yù)測(cè)時(shí), 超參數(shù)的選擇會(huì)影響預(yù)測(cè)的準(zhǔn)確性. 用Bayes優(yōu)化方法優(yōu)化梯度提升樹, 對(duì)訓(xùn)練過程中梯度提升樹的迭代次數(shù)(n_estimators)、 學(xué)習(xí)率參數(shù)(learning_rate)、 弱分類器被允許的最大深度(max_depth)等超參數(shù)進(jìn)行調(diào)參, 從而獲得最佳的超參數(shù)組合.
設(shè)X=X1,X2,…,Xn為一組超參數(shù)組合, 用f(x)表示關(guān)于超參數(shù)x的目標(biāo)函數(shù), Bayes優(yōu)化通過找到x∈X, 使得
x*=argmaxx∈X f(x),(6)
其中x*為最優(yōu)的參數(shù)集.
2 數(shù)據(jù)處理
本文選取UCI上公開的心臟病數(shù)據(jù)集Cleveland和Hungary, 這兩個(gè)數(shù)據(jù)集均由心臟病檢查患者的體質(zhì)數(shù)據(jù)組成. 數(shù)據(jù)集Cleveland共有303個(gè)樣本, 其中陽(yáng)性樣本164個(gè), 陰性樣本139個(gè), 每個(gè)樣本都有14個(gè)特征, 特征屬性有連續(xù)型和離散型兩種, 在所有樣本中, ca列有4個(gè)缺失值, thal列有2個(gè)缺失值. 數(shù)據(jù)集Hungary中slope,ca,thal列的缺失值過多, 因此采用刪除法將3列數(shù)據(jù)刪除, 處理后的數(shù)據(jù)集共有294個(gè)樣本, 其中陽(yáng)性樣本106個(gè), 陰性樣本188個(gè), 每個(gè)樣本有11個(gè)特征. 心臟病數(shù)據(jù)集的特征信息列于表1.
表1 心臟病數(shù)據(jù)集特征信息
Table 1 Feature information of heart disease dataset
特征名稱特征描述特征類型
age年齡連續(xù)型
sex性別(1=男性, 0=女性)離散值
cp胸痛類型(1=典型心絞痛, 2=非典型性心絞痛, 3=非心絞痛, 4=無癥狀)離散值
trestbps靜息血壓連續(xù)型
chol膽固醇測(cè)量值連續(xù)型
fbs空腹血糖(1=真, 0=假)離散值
restecg靜息心電圖(0=正常, 1=患有ST-T波異常, 2=左心室肥大)離散值
thalach最大心率連續(xù)型
exang運(yùn)動(dòng)性心絞痛(1=有過, 0=沒有)離散值
oldpeak運(yùn)動(dòng)導(dǎo)致的相對(duì)于休息的ST抑制連續(xù)型
target是否患心臟?。?=否, 1=是)離散值
slope最高運(yùn)動(dòng)ST段的斜率(1=上坡, 2=平坦, 3=下坡)離散值
ca螢光顯色的主要血管數(shù)目(0~3)連續(xù)型
thal地中海貧血血液疾?。?=固定缺陷, 2=正常, 3=可逆缺陷)離散值
2.1 KNN缺失值處理
由于得到的數(shù)據(jù)集含有缺失值, 因此需對(duì)數(shù)據(jù)集進(jìn)行KNN缺失值處理. 先將數(shù)據(jù)初始化, 再對(duì)缺失值的數(shù)據(jù)點(diǎn)做K-最近鄰填充, 計(jì)算含缺失值的數(shù)據(jù)點(diǎn)與其他不含缺失值數(shù)據(jù)點(diǎn)的距離矩陣, 選出歐氏距離最近的K個(gè)數(shù)據(jù)點(diǎn), 歐氏距離公式為
D=(x2-x1)2+(y2-y1)2,(7)
其中D為鄰近點(diǎn)的距離. 用選中的K個(gè)近鄰數(shù)據(jù)點(diǎn)對(duì)應(yīng)的字段均值填充數(shù)據(jù)中的空缺值[11].
2.2 Min-Max標(biāo)準(zhǔn)化
數(shù)據(jù)標(biāo)準(zhǔn)化處理是數(shù)據(jù)挖掘的一項(xiàng)基礎(chǔ)工作, 不同數(shù)據(jù)通常有不同的量綱和量綱單位, 這種情況會(huì)影響數(shù)據(jù)分析的結(jié)果, 為消除數(shù)據(jù)之間的量綱影響, 需進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化處理, 以解決數(shù)據(jù)之間的可比性.
通過對(duì)UCI心臟病數(shù)據(jù)集分析, 數(shù)據(jù)集中各特征屬性的尺度不同, 因此本文采用Min-Max標(biāo)準(zhǔn)化, 將數(shù)據(jù)壓縮為0~1內(nèi), 以提高模型分類的準(zhǔn)確度. 標(biāo)準(zhǔn)化公式為
x′=x-xminxmax-xmin,(8)
其中xmin為該維度數(shù)據(jù)最小值, xmax為該維度數(shù)據(jù)最大值.
2.3 One-Hot編碼
One-Hot編碼又稱為獨(dú)熱編碼, 是一種將離散分類標(biāo)簽轉(zhuǎn)換為二進(jìn)制向量的方法. 其基本思想是使用N位狀態(tài)寄存器對(duì)N個(gè)狀態(tài)進(jìn)行編碼, 每個(gè)狀態(tài)都由其獨(dú)立的寄存器位表示, 并且在任意時(shí)刻, 其中只有一位有效. 在UCI心臟病數(shù)據(jù)集中, cp,restecg,slope,thal等都屬于離散值, 為適應(yīng)模型訓(xùn)練, 將這些特征進(jìn)行One-Hot編碼處理. 通過對(duì)各離散特征進(jìn)行One-Hot編碼處理, 數(shù)據(jù)集由原來的14個(gè)特征變?yōu)?7個(gè)特征, 處理后的數(shù)據(jù)集在預(yù)測(cè)準(zhǔn)確度上得到提高. 例如, 對(duì)胸痛類型(cp)(0: 典型心絞痛, 1: 非典型心絞痛, 2: 非心絞痛, 3: 無癥狀)進(jìn)行One-Hot編碼處理, 處理過程如圖1所示.
3 實(shí)驗(yàn)及結(jié)果分析
3.1 評(píng)價(jià)標(biāo)準(zhǔn)
在進(jìn)行心臟病預(yù)測(cè)時(shí), 通常使用分類的準(zhǔn)確率(Accuracy)、 精準(zhǔn)率(Precision)和召回率(Recall)等指標(biāo)評(píng)價(jià)分類器的性能. 其中: 準(zhǔn)確率表示對(duì)給定的測(cè)試數(shù)據(jù)集, 分類器預(yù)測(cè)正確的樣本數(shù)與總樣本數(shù)之比; 精準(zhǔn)率是預(yù)測(cè)正確的正例樣本占預(yù)測(cè)為正例樣本的比例; 召回率是預(yù)測(cè)為正例的樣本占實(shí)際為正例樣本的比例.
設(shè)P為正樣本數(shù)量, N為負(fù)樣本數(shù)量, 則準(zhǔn)確率、 精確率和召回率計(jì)算公式分別為
Accuracy=TP+TNTP+FP+TN+FN,(9)
Precision=TPTP+FP,(10)
Recall=TPTP+FN.(11)
將上述評(píng)價(jià)指標(biāo)綜合分析, 可評(píng)價(jià)算法的優(yōu)劣. 這些評(píng)價(jià)指標(biāo)都與混淆矩陣相關(guān), 混淆矩陣列于表2.
表2 混淆矩陣
Table 2 Confusion matrix
患病狀態(tài)預(yù)測(cè)患病預(yù)測(cè)未患病
實(shí)際患病TPFN
實(shí)際未患病FPTN
為能更直觀地表征算法的預(yù)測(cè)準(zhǔn)確率, 通常繪制ROC(receiver operating characteristic)曲線. ROC曲線基于混淆矩陣得出, 用于評(píng)價(jià)模型的預(yù)測(cè)能力, 其由真陽(yáng)性率作為縱坐標(biāo)、 假陽(yáng)性率作為橫坐標(biāo)繪制一條曲線. ROC曲線下的面積為AUC(area under curve), 是判斷二分類預(yù)測(cè)模型優(yōu)劣的標(biāo)準(zhǔn), AUC值越大, 表明模型越好.
3.2 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)使用的硬件配置: CPU為i5-8300H, 內(nèi)存為16 GB, 顯卡為NVIDIA GeForce GTX 1050 Ti. 在Windows10操作系統(tǒng)上, 基于Pycharm開發(fā)平臺(tái), 使用Python語(yǔ)言, 安裝Sklearn,Pandas,Numpy等依賴庫(kù)作為實(shí)驗(yàn)的軟件環(huán)境.
3.3 實(shí)驗(yàn)過程
本文采用KNN-GBDT模型作為心臟病預(yù)測(cè)的方法, 實(shí)驗(yàn)數(shù)據(jù)來自心臟病數(shù)據(jù)集Cleveland和Hungary, 由于兩個(gè)數(shù)據(jù)集的特征內(nèi)容相同, 通過數(shù)據(jù)預(yù)處理后, 兩者對(duì)數(shù)據(jù)的表現(xiàn)形式一致, 因此, 為實(shí)驗(yàn)?zāi)鼙憩F(xiàn)更好的泛化能力, 分別對(duì)兩個(gè)數(shù)據(jù)集的數(shù)據(jù)進(jìn)行訓(xùn)練預(yù)測(cè), 并按7∶3分為訓(xùn)練集和測(cè)試集進(jìn)行建模. 為提高模型的預(yù)測(cè)準(zhǔn)確率, 本文對(duì)數(shù)據(jù)集進(jìn)行缺失值處理、 One-Hot編碼以及Min-Max標(biāo)準(zhǔn)化等一系列數(shù)據(jù)預(yù)處理操作, 得到無噪聲、 可用性高的數(shù)據(jù). 對(duì)處理后的數(shù)據(jù)先采用十倍交叉驗(yàn)證方法劃分訓(xùn)練集和測(cè)試集, 再分別使用KNN-GBDT模型和4種傳統(tǒng)的機(jī)器學(xué)習(xí)算法對(duì)訓(xùn)練集進(jìn)行訓(xùn)練, 對(duì)測(cè)試集進(jìn)行測(cè)試, 以Accuracy,Precision,Recall和AUC作為評(píng)價(jià)標(biāo)準(zhǔn)對(duì)模型進(jìn)行評(píng)估.
驗(yàn)證本文模型在心臟病預(yù)測(cè)中的性能. 模型對(duì)比流程如圖2所示.
由于獲取公開的心臟病數(shù)據(jù)集Cleveland和Hungary中含有缺失值, 因此需先對(duì)數(shù)據(jù)集進(jìn)行KNN缺失值填補(bǔ), 填補(bǔ)后的數(shù)據(jù)集存在離散值特征, 而這些離散值特征可能會(huì)在梯度提升樹上形成稀疏節(jié)點(diǎn), 影響整個(gè)模型的性能和效率, 因此需進(jìn)一步選用One-Hot編碼處理填補(bǔ)后的離散值特征. 數(shù)據(jù)歸一化處理可以將連續(xù)型的特征值壓縮到0~1內(nèi), 以提高模型分類的準(zhǔn)確率, 因此將處理后的數(shù)據(jù)集使用Min-Max標(biāo)準(zhǔn)化處理. 數(shù)據(jù)處理后, 不同的參數(shù)組合對(duì)梯度提升樹的預(yù)測(cè)結(jié)果有很大影響, 因此采用Bayes算法對(duì)梯度提升樹的迭代次數(shù)、 學(xué)習(xí)率、 決策樹的最大深度等參數(shù)進(jìn)行優(yōu)化, 在設(shè)置的參數(shù)范圍內(nèi)經(jīng)過多輪尋優(yōu)求得一組最佳參數(shù)組合, 各參數(shù)設(shè)置范圍列于表3.
獲得一組最佳參數(shù)后, 將最佳參數(shù)組合代入梯度提升樹算法中, 分別在心臟病數(shù)據(jù)集Cleveland和Hungary上訓(xùn)練預(yù)測(cè), 用式(9)計(jì)算模型的準(zhǔn)確率, 將KNN-GBDT模型和傳統(tǒng)的梯度提升樹算法做對(duì)比, 優(yōu)化后的梯度提升樹模型相對(duì)于傳統(tǒng)的梯度提升樹算法在心臟病數(shù)據(jù)集Cleveland上準(zhǔn)確率提高了9.9%, 在心臟病數(shù)據(jù)集Hungary上準(zhǔn)確率提高了7.1%, 分類效果得到有效提高. 此外, KNN-GBDT模型相對(duì)于其他傳統(tǒng)機(jī)器學(xué)習(xí)算法在Recall和AUC評(píng)價(jià)指標(biāo)上也有提高.
優(yōu)化過程調(diào)用bayes_opt庫(kù)的bayes_opt.BayesianOptimization函數(shù)通過步長(zhǎng)調(diào)整參數(shù), 在設(shè)置的參數(shù)范圍內(nèi)進(jìn)行尋優(yōu), 采用十倍交叉驗(yàn)證方法評(píng)估. 通過Bayes算法多次尋優(yōu), 訓(xùn)練數(shù)據(jù)集Cleveland最優(yōu)超參數(shù)組合為[n_estimators: 78, min_samples_split: 4, max_features: 0.14, max_depth: 5, min_samples_leaf: 7, learning_rate: 0.02, random_state: 44]時(shí)模型準(zhǔn)確率最高, 訓(xùn)練數(shù)據(jù)集Hungary時(shí), 得到最優(yōu)超參數(shù)組合為[n_estimators: 63, min_samples_split: 3.2, max_features: 0.10, max_depth: 6, min_samples_leaf: 4.6, learning_rate: 0.02, random_state: 25]時(shí)模型準(zhǔn)確率最高.
DT,KNN,SVM,GBDT幾種常見的機(jī)器學(xué)習(xí)算法在分類預(yù)測(cè)中應(yīng)用的較多, 為驗(yàn)證KNN-GBDT模型的有效性, 在數(shù)據(jù)集Cleveland上將其與4種算法進(jìn)行對(duì)比, 計(jì)算各算法的評(píng)價(jià)指標(biāo), 對(duì)比結(jié)果列于表4.
為進(jìn)一步驗(yàn)證KNN-GBDT模型的泛化能力, 在數(shù)據(jù)集Hungary上進(jìn)行訓(xùn)練, 訓(xùn)練后的預(yù)測(cè)準(zhǔn)確率有明顯提升, 對(duì)比結(jié)果列于表5. 由于心臟病數(shù)據(jù)集Hungary含有106個(gè)陽(yáng)性樣本, 188個(gè)陰性樣本, 經(jīng)過處理后每個(gè)樣本剩余11個(gè)特征, 數(shù)據(jù)集中陽(yáng)性、 陰性類別的樣本數(shù)量差異較大, 因此, 處理后的特征未能很好地捕捉樣本之間的差異, 導(dǎo)致數(shù)據(jù)集的類別不平衡及特征表示不足, 進(jìn)而導(dǎo)致KNN-GBDT模型的精準(zhǔn)率略低于KNN算法. 綜合實(shí)驗(yàn)結(jié)果表明, KNN-GBDT模型能進(jìn)行心臟病的預(yù)測(cè).
由表4和表5可見, 將KNN-GBDT模型與DT,KNN,SVM,GBDT幾種算法對(duì)比, 優(yōu)化后的梯度提升樹在兩個(gè)數(shù)據(jù)集上都表現(xiàn)出高性能, 預(yù)測(cè)準(zhǔn)確率得到提升, 在召回率、 精準(zhǔn)率、 AUC各項(xiàng)評(píng)價(jià)指標(biāo)上都優(yōu)于其他傳統(tǒng)的機(jī)器學(xué)習(xí)算法. 圖3為在數(shù)據(jù)集Cleveland上各算法的ROC曲線.圖4為在數(shù)據(jù)集Hungary上各算法的ROC曲線. 其中FPR表示假陽(yáng)性率, TPR表示真陽(yáng)性率. 由圖3和圖4可見, KNN-GBDT模型的ROC曲線下的面積最大, AUC值分別為094,092, 證明模型的性能最佳, 充分說明了優(yōu)化后的梯度提升樹算法可有效預(yù)測(cè)心臟病.
綜上所述, 本文采用UCI上的心臟病數(shù)據(jù)集Cleveland和Hungary進(jìn)行實(shí)驗(yàn), 針對(duì)原有模型預(yù)測(cè)準(zhǔn)確率低、 不穩(wěn)定的問題, 提出了一種基于Bayes優(yōu)化梯度提升樹的預(yù)測(cè)方法, 先用K-最近鄰算法進(jìn)行缺失值填補(bǔ)、 Min-Max標(biāo)準(zhǔn)化、 One-Hot編碼對(duì)數(shù)據(jù)進(jìn)行處理, 再結(jié)合Bayes優(yōu)化和交叉驗(yàn)證方法對(duì)模型的最優(yōu)超參數(shù)組合進(jìn)行尋優(yōu). 將本文模型在準(zhǔn)確率、 召回率、 精準(zhǔn)率和AUC上與傳統(tǒng)機(jī)器學(xué)習(xí)方法進(jìn)行對(duì)比的實(shí)驗(yàn)結(jié)果表明, 本文提出的KNN-GBDT模型在數(shù)據(jù)集Cleveland上準(zhǔn)確率可達(dá)902%, AUC可達(dá)0.94; 在數(shù)據(jù)集Hungary上準(zhǔn)確率可達(dá)81.4%, AUC可達(dá)0.92. 實(shí)驗(yàn)結(jié)果驗(yàn)證了優(yōu)化算法可有效提高模型的分類能力, 可輔助醫(yī)生進(jìn)行心臟病預(yù)測(cè)的診斷. 但在對(duì)數(shù)據(jù)集Hungary進(jìn)行預(yù)測(cè)評(píng)估時(shí), 本文模型在精準(zhǔn)率上略低于KNN算法, 這可能是因?yàn)閿?shù)據(jù)類別不平衡以及特征表示不足所致. 在后續(xù)的工作中, 會(huì)收集更多的樣本數(shù)據(jù), 以提高模型的精準(zhǔn)率并改善模型的性能.
參考文獻(xiàn)
[1]王增武, 胡盛壽. 《中國(guó)心血管健康與疾病報(bào)告2022》要點(diǎn)解讀[J].中國(guó)心血管雜志, 2023, 28
(4): 297-312. (WANG Z W, HU S S. Chinese Journal of Cardiovascular Health and D
isease Report 2022: Key Points Interpretation[J].Chinese Journal of Cardiovascular, 2023, 28(4): 297-312.)
[2]COMAK E, ARSLAN A, TURKOGLU I. A Decision Support System Based on Support V
ector Machines for Diagnosis of the Heart Valve Diseases[J].Computers in Biology and Medicine, 2007, 37(1): 21-27.
[3]PARTHIBAN G, RAJESH A, SRIVATSA S K. Diagnosing Vulnerability of Diabetic P
atients to Heart Diseases Using Support Vector Machines[J].International Journal of Computers and Applications, 2012, 48(2): 45-49.
[4]WENG S F, REPS J, KAI J, et al. Can Machine-Learnin
g Improve Cardiovascular Risk Prediction Using Routine Clinical Data?[J].PloS One, 2017, 12(4): 0174944-1-0174944-14.
[5]王巡, 杜方輝. 基于Hadoop的C4.5決策樹算法在心臟病診斷中的應(yīng)用[J].信息技術(shù)與信息化, 2017(Z1): 36-40. (WANG X, DU F H. Application of C4.5 Decision Tree
Algorithm Based on Hadoop in Heart Disease Diagnosis[J].Information Technology and Information Technology, 2017(Z1): 36-40.)
[6]王健, 李孝虔. 一種基于特征組合和卷積神經(jīng)網(wǎng)絡(luò)的心臟病預(yù)測(cè)新方法[J].黑龍江大學(xué)自然科學(xué)學(xué)報(bào), 2019, 36(1): 115-120. (WANG J, LI X Q. A New Method of Heart
Disease Prediction Based on Feature Combination and Convolutional Neural Network[J]. Journal of Natural Science of Heilongjiang University, 2019, 36(1): 115-120.)
[7]趙金超, 李儀, 王冬, 等. 基于優(yōu)化的隨機(jī)森林心臟病預(yù)測(cè)算法[J].青島科技大學(xué)學(xué)報(bào)(自然科學(xué)版), 2021, 42(2): 112-118. (
ZHAO J C, LI Y, WANG D, et al. Heart Disease Prediction Algorithm Based on Optimi
zed Random Forest[J].Journal of Qingdao University of Science and Technology (Natural Science Edition), 2021, 42(2): 112-118.)
[8]王成武, 郭志恒, 晏峻峰. 改進(jìn)的支持向量機(jī)在心臟病預(yù)測(cè)中的研究[J].計(jì)算機(jī)技術(shù)與發(fā)展, 2022, 32(3): 175-179. (WANG C W, GUO Z H, YAN J F. Resear
ch on Improved Support Vector Machine in Heart Disease Prediction[J].Computer Technology and Development, 2022, 32(3): 175-179.)
[9]YANG T, CHEN W T, CAO G T. Automated Classification of Neonatal Amplitude-Int
egrated EEG Based on Gradient Boosting Method[J].Biomedical Signal Processing and Control, 2016, 28: 50-57.
[10]崔佳旭, 楊博. Bayes優(yōu)化方法和應(yīng)用綜述[J].軟件學(xué)報(bào), 2018, 29(10): 3068-3090. (CUI J X, YANG B. Bayesian Optimization Algor
ithm and Application Review[J].Journal of Software, 2018, 29(10): 3068-3090.)
[11]HUANG J L, KEUNG J W, SARRO F, et al. Cross-Validation Based K Nearest Ne
ighbor Imputation for Software Quality Datasets: An Empirical Study[J].Journal of Systems and Software, 2017, 132: 226-252.
(責(zé)任編輯: 韓 嘯)