999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Bayes超參數優化梯度提升樹的心臟病預測方法

2025-03-21 00:00:00王海燕焦增晨趙劍安天博鞠熠
吉林大學學報(理學版) 2025年2期

摘要: 針對傳統機器學習算法在數據集Cleveland和Hungary上預測準確率低的問題, 提出一種基于Bayes超參數優化梯度提升樹的心臟病預測方法. 首先, 采用K-最近鄰算法對數據集中的缺失值進行填補, 用Min-Max標準化、 One-Hot編碼處理數據, 并基于梯度提升樹算法進行心臟病預測; 其次, 采用Bayes優化和十倍交叉驗證的方式搜尋算法的最佳超參數組合. 實驗結果表明, 優化后的梯度提升樹算法在心臟病數據集Cleveland上預測準確率可達90.2%, 在心臟病數據集Hungary上預測準確率可達81.4%, 優于決策樹、 支持向量機、 K-最近鄰等傳統機器學習方法, 可輔助醫生進行心臟病診斷.

關鍵詞: 心臟病預測; K-最近鄰算法; 梯度提升樹; Bayes優化

中圖分類號: TP181; TP301.6文獻標志碼: A文章編號: 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)已成為危害我國居民健康的重大公共衛生問題1].隨著人工智能的高速發展, 關于心臟病分類預測的研究也取得了一些進展. Comak等2使用最小二乘支持向量機(SVM)分類器代替人工神經網絡設計了一個對心臟病分類的決策支持系統. Parthiban等3對樸素Bayes方法診斷糖尿病患者的心臟病工作進行延伸, 提出了在SVM分類器中使用徑向基函數(RBF)核的方法. Weng等4將數據集分為訓練隊列和驗證隊列, 在訓練隊列中推導出CVD風險算法, 在驗證隊列中應用和測試算法證明, 結果表明機器學習顯著提高了心血管風險預測的準確率. 王巡等5提出了基于Hadoop的分布式C4.5決策樹算法, 使用MapReduce并行編程模式、 HDFS分布式文件存儲系統加快了C4.5算法的效率, 并應用于心臟病診斷中. 王健等6將一維的心臟病數據升維成類似圖像格式的三維數據, 使數據能適應卷積神經網絡, 通過對比卷積層數量對準確率和訓練時間的影響, 得到最優心臟病預測模型. 趙金超等7使用K-最近鄰方法(KNN)對數據進行預處理, 通過網格搜索的方法對隨機森林進行優化, 提出了KNN-RF模型, 該模型對心臟病進行預測的準確率達83.2%. 王成武等8利用網格搜索與交叉驗證相結合的方法對模型進行初步的優化, 在此基礎上使用粒子群優化算法對模型進行進一步優化, 優化后模型分類預測的結果得到明顯提升. 受上述工作的啟發, 本文提出一種Bayes優化梯度提升樹的方法, 并對數據集進行歸一化、 獨熱編碼處理, 實驗結果表明, 模型準確率得到進一步提升.

1 算法描述

1.1 梯度提升樹

梯度提升樹(GBDT)是Boosting策略的一種實現方式, 它通過一組分類器的串行迭代得到一個強學習器, 以進行更高精度的分類9].無論是處理回歸問題還是二分類以及多分類問題, 梯度提升樹使用的決策樹(DT)都是分類回歸樹(CART), 計算流程如下.

1) 初始化學習器:

f(x)=argminc ∑Ni=1L(yi,c),(1)

其中f(x)為初始化過程的目標函數, ∑Ni=1L(yi,c)為損失函數, c為最小損失常數.

2) 計算殘差:

rmi=-L(yi,f(xi))f(xi)f(x)=fm-1(x),(2)

將rmi作為預測值, 當i=1,2,…,i時擬合得到第m棵回歸樹.

3) 遍歷節點, 計算回歸樹每個葉子節點Rmj的輸出值cmj:

cmj=argminc∑x∈RmjL(yi,fm-1(xi)+c).(3)

4) 更新學習器:

fm(x)=fm-1(x)+∑Jj=1cmjI(x),(4)

其中I表示學習率, J表示葉子節點個數.

5) 得到強分類器:

fM(x)=∑Mm=1∑Jj=1cmjI(x).(5)

1.2 Bayes優化

Bayes優化常應用于機器學習的超參數尋優中, 其原理是: 先通過Bayes定理估計目標函數的后驗分布, 再根據分布選擇下一個需要采樣的超參數組合, 然后利用之前的采樣結果完善目標函數, 最終找到全局最優超參數10.

使用梯度提升樹進行心臟病預測時, 超參數的選擇會影響預測的準確性. 用Bayes優化方法優化梯度提升樹, 對訓練過程中梯度提升樹的迭代次數(n_estimators)、 學習率參數(learning_rate)、 弱分類器被允許的最大深度(max_depth)等超參數進行調參, 從而獲得最佳的超參數組合.

設X=X1,X2,…,Xn為一組超參數組合, 用f(x)表示關于超參數x的目標函數, Bayes優化通過找到x∈X, 使得

x*=argmaxx∈X f(x),(6)

其中x*為最優的參數集.

2 數據處理

本文選取UCI上公開的心臟病數據集Cleveland和Hungary, 這兩個數據集均由心臟病檢查患者的體質數據組成. 數據集Cleveland共有303個樣本, 其中陽性樣本164個, 陰性樣本139個, 每個樣本都有14個特征, 特征屬性有連續型和離散型兩種, 在所有樣本中, ca列有4個缺失值, thal列有2個缺失值. 數據集Hungary中slope,ca,thal列的缺失值過多, 因此采用刪除法將3列數據刪除, 處理后的數據集共有294個樣本, 其中陽性樣本106個, 陰性樣本188個, 每個樣本有11個特征. 心臟病數據集的特征信息列于表1.

表1 心臟病數據集特征信息

Table 1 Feature information of heart disease dataset

特征名稱特征描述特征類型

age年齡連續型

sex性別(1=男性, 0=女性)離散值

cp胸痛類型(1=典型心絞痛, 2=非典型性心絞痛, 3=非心絞痛, 4=無癥狀)離散值

trestbps靜息血壓連續型

chol膽固醇測量值連續型

fbs空腹血糖(1=真, 0=假)離散值

restecg靜息心電圖(0=正常, 1=患有ST-T波異常, 2=左心室肥大)離散值

thalach最大心率連續型

exang運動性心絞痛(1=有過, 0=沒有)離散值

oldpeak運動導致的相對于休息的ST抑制連續型

target是否患心臟病(0=否, 1=是)離散值

slope最高運動ST段的斜率(1=上坡, 2=平坦, 3=下坡)離散值

ca螢光顯色的主要血管數目(0~3)連續型

thal地中海貧血血液疾病(1=固定缺陷, 2=正常, 3=可逆缺陷)離散值

2.1 KNN缺失值處理

由于得到的數據集含有缺失值, 因此需對數據集進行KNN缺失值處理. 先將數據初始化, 再對缺失值的數據點做K-最近鄰填充, 計算含缺失值的數據點與其他不含缺失值數據點的距離矩陣, 選出歐氏距離最近的K個數據點, 歐氏距離公式為

D=(x2-x1)2+(y2-y1)2,(7)

其中D為鄰近點的距離. 用選中的K個近鄰數據點對應的字段均值填充數據中的空缺值11.

2.2 Min-Max標準化

數據標準化處理是數據挖掘的一項基礎工作, 不同數據通常有不同的量綱和量綱單位, 這種情況會影響數據分析的結果, 為消除數據之間的量綱影響, 需進行數據標準化處理, 以解決數據之間的可比性.

通過對UCI心臟病數據集分析, 數據集中各特征屬性的尺度不同, 因此本文采用Min-Max標準化, 將數據壓縮為0~1內, 以提高模型分類的準確度. 標準化公式為

x′=x-xminxmax-xmin,(8)

其中xmin為該維度數據最小值, xmax為該維度數據最大值.

2.3 One-Hot編碼

One-Hot編碼又稱為獨熱編碼, 是一種將離散分類標簽轉換為二進制向量的方法. 其基本思想是使用N位狀態寄存器對N個狀態進行編碼, 每個狀態都由其獨立的寄存器位表示, 并且在任意時刻, 其中只有一位有效. 在UCI心臟病數據集中, cp,restecg,slope,thal等都屬于離散值, 為適應模型訓練, 將這些特征進行One-Hot編碼處理. 通過對各離散特征進行One-Hot編碼處理, 數據集由原來的14個特征變為27個特征, 處理后的數據集在預測準確度上得到提高. 例如, 對胸痛類型(cp)(0: 典型心絞痛, 1: 非典型心絞痛, 2: 非心絞痛, 3: 無癥狀)進行One-Hot編碼處理, 處理過程如圖1所示.

3 實驗及結果分析

3.1 評價標準

在進行心臟病預測時, 通常使用分類的準確率(Accuracy)、 精準率(Precision)和召回率(Recall)等指標評價分類器的性能. 其中: 準確率表示對給定的測試數據集, 分類器預測正確的樣本數與總樣本數之比; 精準率是預測正確的正例樣本占預測為正例樣本的比例; 召回率是預測為正例的樣本占實際為正例樣本的比例.

設P為正樣本數量, N為負樣本數量, 則準確率、 精確率和召回率計算公式分別為

Accuracy=TP+TNTP+FP+TN+FN,(9)

Precision=TPTP+FP,(10)

Recall=TPTP+FN.(11)

將上述評價指標綜合分析, 可評價算法的優劣. 這些評價指標都與混淆矩陣相關, 混淆矩陣列于表2.

表2 混淆矩陣

Table 2 Confusion matrix

患病狀態預測患病預測未患病

實際患病TPFN

實際未患病FPTN

為能更直觀地表征算法的預測準確率, 通常繪制ROC(receiver operating characteristic)曲線. ROC曲線基于混淆矩陣得出, 用于評價模型的預測能力, 其由真陽性率作為縱坐標、 假陽性率作為橫坐標繪制一條曲線. ROC曲線下的面積為AUC(area under curve), 是判斷二分類預測模型優劣的標準, AUC值越大, 表明模型越好.

3.2 實驗環境

實驗使用的硬件配置: CPU為i5-8300H, 內存為16 GB, 顯卡為NVIDIA GeForce GTX 1050 Ti. 在Windows10操作系統上, 基于Pycharm開發平臺, 使用Python語言, 安裝Sklearn,Pandas,Numpy等依賴庫作為實驗的軟件環境.

3.3 實驗過程

本文采用KNN-GBDT模型作為心臟病預測的方法, 實驗數據來自心臟病數據集Cleveland和Hungary, 由于兩個數據集的特征內容相同, 通過數據預處理后, 兩者對數據的表現形式一致, 因此, 為實驗能表現更好的泛化能力, 分別對兩個數據集的數據進行訓練預測, 并按7∶3分為訓練集和測試集進行建模. 為提高模型的預測準確率, 本文對數據集進行缺失值處理、 One-Hot編碼以及Min-Max標準化等一系列數據預處理操作, 得到無噪聲、 可用性高的數據. 對處理后的數據先采用十倍交叉驗證方法劃分訓練集和測試集, 再分別使用KNN-GBDT模型和4種傳統的機器學習算法對訓練集進行訓練, 對測試集進行測試, 以Accuracy,Precision,Recall和AUC作為評價標準對模型進行評估.

驗證本文模型在心臟病預測中的性能. 模型對比流程如圖2所示.

由于獲取公開的心臟病數據集Cleveland和Hungary中含有缺失值, 因此需先對數據集進行KNN缺失值填補, 填補后的數據集存在離散值特征, 而這些離散值特征可能會在梯度提升樹上形成稀疏節點, 影響整個模型的性能和效率, 因此需進一步選用One-Hot編碼處理填補后的離散值特征. 數據歸一化處理可以將連續型的特征值壓縮到0~1內, 以提高模型分類的準確率, 因此將處理后的數據集使用Min-Max標準化處理. 數據處理后, 不同的參數組合對梯度提升樹的預測結果有很大影響, 因此采用Bayes算法對梯度提升樹的迭代次數、 學習率、 決策樹的最大深度等參數進行優化, 在設置的參數范圍內經過多輪尋優求得一組最佳參數組合, 各參數設置范圍列于表3.

獲得一組最佳參數后, 將最佳參數組合代入梯度提升樹算法中, 分別在心臟病數據集Cleveland和Hungary上訓練預測, 用式(9)計算模型的準確率, 將KNN-GBDT模型和傳統的梯度提升樹算法做對比, 優化后的梯度提升樹模型相對于傳統的梯度提升樹算法在心臟病數據集Cleveland上準確率提高了9.9%, 在心臟病數據集Hungary上準確率提高了7.1%, 分類效果得到有效提高. 此外, KNN-GBDT模型相對于其他傳統機器學習算法在Recall和AUC評價指標上也有提高.

優化過程調用bayes_opt庫的bayes_opt.BayesianOptimization函數通過步長調整參數, 在設置的參數范圍內進行尋優, 采用十倍交叉驗證方法評估. 通過Bayes算法多次尋優, 訓練數據集Cleveland最優超參數組合為[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]時模型準確率最高, 訓練數據集Hungary時, 得到最優超參數組合為[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]時模型準確率最高.

DT,KNN,SVM,GBDT幾種常見的機器學習算法在分類預測中應用的較多, 為驗證KNN-GBDT模型的有效性, 在數據集Cleveland上將其與4種算法進行對比, 計算各算法的評價指標, 對比結果列于表4.

為進一步驗證KNN-GBDT模型的泛化能力, 在數據集Hungary上進行訓練, 訓練后的預測準確率有明顯提升, 對比結果列于表5. 由于心臟病數據集Hungary含有106個陽性樣本, 188個陰性樣本, 經過處理后每個樣本剩余11個特征, 數據集中陽性、 陰性類別的樣本數量差異較大, 因此, 處理后的特征未能很好地捕捉樣本之間的差異, 導致數據集的類別不平衡及特征表示不足, 進而導致KNN-GBDT模型的精準率略低于KNN算法. 綜合實驗結果表明, KNN-GBDT模型能進行心臟病的預測.

由表4和表5可見, 將KNN-GBDT模型與DT,KNN,SVM,GBDT幾種算法對比, 優化后的梯度提升樹在兩個數據集上都表現出高性能, 預測準確率得到提升, 在召回率、 精準率、 AUC各項評價指標上都優于其他傳統的機器學習算法. 圖3為在數據集Cleveland上各算法的ROC曲線.圖4為在數據集Hungary上各算法的ROC曲線. 其中FPR表示假陽性率, TPR表示真陽性率. 由圖3和圖4可見, KNN-GBDT模型的ROC曲線下的面積最大, AUC值分別為094,092, 證明模型的性能最佳, 充分說明了優化后的梯度提升樹算法可有效預測心臟病.

綜上所述, 本文采用UCI上的心臟病數據集Cleveland和Hungary進行實驗, 針對原有模型預測準確率低、 不穩定的問題, 提出了一種基于Bayes優化梯度提升樹的預測方法, 先用K-最近鄰算法進行缺失值填補、 Min-Max標準化、 One-Hot編碼對數據進行處理, 再結合Bayes優化和交叉驗證方法對模型的最優超參數組合進行尋優. 將本文模型在準確率、 召回率、 精準率和AUC上與傳統機器學習方法進行對比的實驗結果表明, 本文提出的KNN-GBDT模型在數據集Cleveland上準確率可達902%, AUC可達0.94; 在數據集Hungary上準確率可達81.4%, AUC可達0.92. 實驗結果驗證了優化算法可有效提高模型的分類能力, 可輔助醫生進行心臟病預測的診斷. 但在對數據集Hungary進行預測評估時, 本文模型在精準率上略低于KNN算法, 這可能是因為數據類別不平衡以及特征表示不足所致. 在后續的工作中, 會收集更多的樣本數據, 以提高模型的精準率并改善模型的性能.

參考文獻

[1]王增武, 胡盛壽. 《中國心血管健康與疾病報告2022》要點解讀[J].中國心血管雜志, 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決策樹算法在心臟病診斷中的應用[J].信息技術與信息化, 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].黑龍江大學自然科學學報, 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]趙金超, 李儀, 王冬, 等. 基于優化的隨機森林心臟病預測算法[J].青島科技大學學報(自然科學版), 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].計算機技術與發展, 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優化方法和應用綜述[J].軟件學報, 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.

(責任編輯: 韓 嘯)

主站蜘蛛池模板: 欧洲欧美人成免费全部视频| 亚洲成a人片7777| 日韩大乳视频中文字幕| 亚洲V日韩V无码一区二区| 亚洲无线视频| 久久99久久无码毛片一区二区 | 亚洲一欧洲中文字幕在线| 国产三级精品三级在线观看| 久久午夜影院| 亚洲成人高清无码| 乱人伦视频中文字幕在线| 国产小视频免费| 国产大片喷水在线在线视频| 素人激情视频福利| 伊人天堂网| 91色在线观看| 国产精品蜜臀| 亚洲无码高清视频在线观看| 国产精品九九视频| 亚洲欧美在线综合一区二区三区| 三级国产在线观看| 欧美精品影院| 色噜噜狠狠色综合网图区| 99999久久久久久亚洲| 国产内射一区亚洲| 国产日本一区二区三区| 国产亚洲精品97在线观看| 日韩在线欧美在线| 亚洲天堂网在线播放| 亚洲国产欧美国产综合久久 | 亚洲av无码成人专区| 亚洲无码视频图片| 中文无码精品A∨在线观看不卡| 午夜福利视频一区| 国产精品无码影视久久久久久久| 91www在线观看| 亚洲欧美日本国产专区一区| 亚洲日本中文综合在线| 9966国产精品视频| 亚洲精品自产拍在线观看APP| 日韩在线视频网站| 亚洲成aⅴ人在线观看| 亚洲成a人在线播放www| 国产女主播一区| 国产毛片网站| 亚洲综合在线最大成人| 久青草免费在线视频| 国产丝袜无码精品| 久久国产亚洲偷自| 日韩黄色在线| 狠狠亚洲五月天| 国产中文在线亚洲精品官网| 五月婷婷导航| 她的性爱视频| 国产精品99久久久久久董美香| 亚洲精品日产精品乱码不卡| 亚洲一级毛片在线播放| 国产va视频| 精品无码一区二区三区在线视频| 香蕉伊思人视频| 日本精品αv中文字幕| 亚洲人成高清| 国产精品福利尤物youwu| 久久久久国色AV免费观看性色| 最近最新中文字幕在线第一页| 国产91精品调教在线播放| 97久久免费视频| 青草视频久久| 孕妇高潮太爽了在线观看免费| 婷婷六月综合网| 九色免费视频| 波多野结衣无码中文字幕在线观看一区二区 | 无码网站免费观看| 国产在线观看成人91| 日韩av高清无码一区二区三区| 色婷婷狠狠干| 天天综合色网| 五月天福利视频| 国产福利不卡视频| 亚洲人成成无码网WWW| 亚洲国产综合第一精品小说| 爆乳熟妇一区二区三区|