国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于機(jī)器學(xué)習(xí)算法的心臟病預(yù)測診斷模型研究

2022-11-19 09:16:02梁靖涵許亞杰
現(xiàn)代信息科技 2022年19期
關(guān)鍵詞:決策樹心臟病準(zhǔn)確率

梁靖涵,許亞杰

(鄭州科技學(xué)院,河南 鄭州 450064)

0 引 言

心臟病是一種沒有傳染性但致死率很高的疾病,該疾病發(fā)病過程緩慢、病程長、發(fā)病原因復(fù)雜。由于傳統(tǒng)的醫(yī)療決策模式很難對此類疾病進(jìn)行準(zhǔn)確的分析和診斷,導(dǎo)致患者無法及時發(fā)現(xiàn)、無法得到及時的治療[1]。根據(jù)上述問題,很多研究人員提出了基于機(jī)器學(xué)習(xí)的方法,Subbalakshmi 等人利用樸素貝葉斯分類器作為核函數(shù),構(gòu)建支持決策的心臟病診斷輔助系統(tǒng)。國內(nèi)有學(xué)者將聚類技術(shù)和XGBoost 算法進(jìn)行結(jié)合,采用K-means 算法進(jìn)行特征識別和XGBOOST 算法對心臟病進(jìn)行預(yù)測分 析[2]。機(jī)器學(xué)習(xí)算法涵蓋范圍廣泛,在模型構(gòu)建時,由于使用不同的特征和機(jī)器學(xué)習(xí)算法都會造成預(yù)測精度的差異,因此上述研究模型準(zhǔn)確率有待提高。

根據(jù)上述分析,本文從數(shù)據(jù)處理的全局角度出發(fā),對原始數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)化、特征選擇,采用優(yōu)化數(shù)據(jù)集的方式提升算法準(zhǔn)確率,構(gòu)建決策樹算法和K 近鄰算法兩種機(jī)器學(xué)習(xí)算法模型進(jìn)行數(shù)據(jù)分析和預(yù)測,經(jīng)過實(shí)驗(yàn)對比得出最優(yōu)分類算法模型,為醫(yī)生在心臟病的預(yù)測診斷提供科學(xué)依據(jù)。

1 數(shù)據(jù)與特征

1.1 數(shù)據(jù)描述

本研究數(shù)據(jù)來源于美國行為風(fēng)險(xiǎn)因素檢測系統(tǒng)(BRFSS)數(shù)據(jù)庫中提供的開源數(shù)據(jù)集,該數(shù)據(jù)集共有數(shù)據(jù)319 795 條,有18 個屬性,其中有17 個屬性為特征變量,有1 個屬性Heart Disease 是用來判斷患者是否患心臟病的標(biāo)簽屬性,屬性值Yes 表示患有心臟病,屬性值No 表示沒有心臟病。數(shù)據(jù)集各字段含義解釋如表1 所示。

表1 數(shù)據(jù)集屬性介紹

續(xù)表

1.2 數(shù)值特征可視化與數(shù)據(jù)預(yù)處理

如圖1 所示為心臟病數(shù)據(jù)集變量相關(guān)性熱力圖,該圖能清楚地顯示出各種特性的關(guān)系,右邊刻度顯示的是各種相關(guān)系數(shù)所對應(yīng)的色彩深度,相關(guān)系數(shù)越接近0,則屬性間的關(guān)聯(lián)性越低,正數(shù)表示屬性之間為正相關(guān),負(fù)數(shù)表示屬性之間負(fù)相關(guān)。從圖中可以看出特征Sleep Time、Mental Health、Alcohol Drinking、Asthma、BMI、Sex與標(biāo)簽變量Heart Disease 的相關(guān)系數(shù)值接近于0,在進(jìn)行特征工程時可以考慮剔除這些變量,以免導(dǎo)致因多重共線性造成過擬合。從熱力圖的第一行或者第一列可以看出,對判斷是否患有心臟病與Stroke、Physical Health、Diff Walking、Diabetic、Kidney Disease 等變量具有較高的相關(guān)性。因此,在創(chuàng)建心臟病診斷模型時需要保留這些屬性。同時采用Standard Scaler 模型對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,即采用Z-Score 規(guī)范化數(shù)據(jù),保證每個特征維度的數(shù)據(jù)均值為0,方差為1。同時,利用scikit-learn 庫中的OneHotEncoder 把分類特征中的每個元素的值都轉(zhuǎn)化為可以直接計(jì)算的數(shù)值。

圖1 變量相關(guān)性熱力圖

2 機(jī)器學(xué)習(xí)模型創(chuàng)建

2.1 決策樹模型創(chuàng)建

決策樹(DT)是一種基于已知各種情形的概率的決策分析方法,利用 DT 構(gòu)造出預(yù)期凈現(xiàn)值的期望值大于或等于0,以此來評價(jià)工程的風(fēng)險(xiǎn),判定工程是否可行。由于這個決策分支被繪制成了樹形結(jié)構(gòu),因此被稱作決策樹[3]。決策樹是機(jī)器學(xué)習(xí)中的一種能夠反映目標(biāo)屬性與目標(biāo)價(jià)值的映射關(guān)系的預(yù)測模型。決策樹模型構(gòu)建分為以下三個步驟。

2.1.1 特征選擇

在信息理論和概率統(tǒng)計(jì)學(xué)中,熵(entropy)是一種用來衡量隨機(jī)變量不確定因素的指標(biāo)。不確定因素的熵定義是:

式中:H(X)為熵,pi表示這一批樣本中最終屬于第i個分類的概率。

隨機(jī)變量X給定的條件下隨機(jī)變量Y的條件熵H(Y|X),定義為X給定條件下Y的條件概率分布的熵對X的數(shù)學(xué)期望:

式中:H(Y|X)表示條件信息熵,pi表示這一批次樣本中第i類的概率,其中pi=P(X=xi),i=1, 2, …,n表示滿足條件X=xi的樣本。

2.1.2 決策樹的生成

在構(gòu)造決策樹時,首先使用由上到下的遞推結(jié)構(gòu),由單一的節(jié)點(diǎn)組成,當(dāng)所有的樣本都位于相同的類時,將其視為葉子節(jié)點(diǎn),而節(jié)點(diǎn)的內(nèi)容就是分類標(biāo)簽。反之,根據(jù)某一策略,選取某一屬性,將其分成多個子集,以使每一子集中的實(shí)例都擁有相同的屬性值,并依次對其進(jìn)行遞 歸[4]?;静襟E如下:

(1)開始,所有預(yù)測變量均看作一個節(jié)點(diǎn);

(2)通過對每一種預(yù)測變量進(jìn)行分割,找出最優(yōu)的分割點(diǎn);

(3)分割成兩個分支N1和N2;

(4)對N1和N2分別執(zhí)行步驟2 和步驟3,直到每個節(jié)點(diǎn)都足夠“純”為止。

2.1.3 決策樹的剪枝

把以生成的樹進(jìn)行修剪的過程稱為剪枝(pruning)。決策樹的修剪是使決策樹總體損失函數(shù)(loss function)或代價(jià)函數(shù)(cost function)最小化而得 到的[5]。設(shè)樹T的葉節(jié)點(diǎn)個數(shù),t是樹T的葉節(jié)點(diǎn),該葉節(jié)點(diǎn)有Nt個樣本點(diǎn),其中k類的樣本點(diǎn)有Ntk個,k=1, 2, …,K,Ht(T)為葉節(jié)點(diǎn)t上的經(jīng)驗(yàn)熵,α≥0 為正則化系數(shù),則決策樹學(xué)習(xí)的損失函數(shù)可以定義為:

式中:|T|表示葉子節(jié)點(diǎn)個數(shù),Ht(T)為葉節(jié)點(diǎn)t上的經(jīng)驗(yàn)熵。

2.2 K 近鄰算法模型創(chuàng)建

K 近鄰(KNN)是最典型的機(jī)器學(xué)習(xí)算法,KNN 的基本思路是:在已知的樣本空間和它的分類中,利用相似性運(yùn)算,獲得最接近于被分類的K個樣本,并根據(jù)K個抽樣的選票確定待分類的類別。在實(shí)際計(jì)算中,一般采用距離來描述兩個樣本的相似性。距離越近,相似性越強(qiáng),距離越遠(yuǎn),相似 性越低[6]。測量距離的方法有很多種,比如閔可夫斯基距離、曼哈頓距離、歐氏距離和切比雪夫距離,其中歐氏距離是最常用的距離計(jì)算方法。假設(shè)兩個m維樣本:

xi與xj的歐幾里得距離定義為:

式中:xil表示第l 個點(diǎn)的第i維坐標(biāo),xjl表示第l 個點(diǎn)的第j維坐標(biāo)。

給定訓(xùn)練樣本集S={t1,t2, …,ts}和一組類屬性C={C1,C2,…,Cm}(m<s),要對待分類樣本t進(jìn)行分類,K 近鄰算法的基本步驟為:

(1)先求出t與S中所有訓(xùn)練樣本ti(1 ≤i≤S)的距離dist(t,ti),并對所有求出的dist(t,ti)值遞增排序;

(2)選取與待測樣本距離最小的K個樣本,組成集合N;

(3)統(tǒng)計(jì)N中K個樣本所屬類別的頻率;

(4)頻率最高的類別做為待測樣本的類別。

3 模型評價(jià)

3.1 評價(jià)指標(biāo)

在機(jī)器學(xué)習(xí)中,對機(jī)器學(xué)習(xí)模型進(jìn)行評價(jià)是一個重要的環(huán)節(jié)。在此基礎(chǔ)上,采用了精確度、精確度、召回率、F1_得分等方法對算法進(jìn)行了評價(jià)。HeartDisease 是用來判斷患者是否患心臟病的標(biāo)簽屬性分成兩類,根據(jù)數(shù)據(jù)預(yù)處理將字段值中的“Yes”用“1”表示代表有心臟病,字段值中的“No”用“0”表示代表的是沒有心臟病,P代表陽性樣本,N代表陰性樣本。各種性能指標(biāo)定義如下:

式中:TN 代表預(yù)測為假實(shí)際為假的樣本個數(shù),TP 代表預(yù)測為真實(shí)際為真的樣本個數(shù);FP 代表預(yù)測為真實(shí)際為假的樣本個數(shù),F(xiàn)N 代表預(yù)測為假實(shí)際為真的樣本的個數(shù)。

3.2 實(shí)驗(yàn)分析

對所建立的決策樹模型(DT)和K 近鄰(KNN)模型進(jìn)行訓(xùn)練。由于Heart Disease 字段是標(biāo)簽列,在模型預(yù)測時,在特征子集中要將Heart Disease 列去除,并在模型的預(yù)測中進(jìn)行了交叉驗(yàn)證。引用Sklearn 庫中train_test_split,把數(shù)據(jù)集分成兩個部分。其中,測試數(shù)據(jù)集占的比例為20%,數(shù)據(jù)集拆分之后,對數(shù)據(jù)集進(jìn)行擬合操作,并且對數(shù)據(jù)集吻合度進(jìn)行評估。最后采用十折交叉驗(yàn)證方法評估模型的性能,交叉驗(yàn)證的過程為使用訓(xùn)練集訓(xùn)練出10 個模型,用10 個模型分別對交叉驗(yàn)證集計(jì)算得到代價(jià)函數(shù)的值,選取代價(jià)函數(shù)值最小的模型,使用這個最小模型對測試集計(jì)算得到代價(jià)函數(shù)的值。

創(chuàng)建決策樹模型(DT)算法的過程為進(jìn)行參數(shù)優(yōu)化時預(yù)設(shè)max_depth 的掃描值為[3,5,7,9,11,13,15] 這7 個值,min_samples_leaf 的掃描值為[1,3,5,7,9],然后對每組參數(shù)進(jìn)行評估得到max_depth 的最佳深度為5.0,獲得min_samples_leaf 的最佳值為7。選取最優(yōu)特征作為分割特征。然后,將兩個參數(shù)代入模型。創(chuàng)建K 近鄰(K-Nearest Neighbors, KNN)模型算法的過程中K值的取值范圍[1, 2, 3,4, 5, 6, 7, 8, 9, 10],選取這10 個值遍歷,經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn)當(dāng)K為1, 2, 3 時,K 近鄰算法的分類準(zhǔn)確率變化波動較大,說明不同類樣本的特征分布較為密集,導(dǎo)致K值較小時,對分類準(zhǔn)確率影響很大。當(dāng)K值不斷增大時,K 近鄰的分類準(zhǔn)確率呈現(xiàn)減小的趨勢。當(dāng)K值取5 時,分類準(zhǔn)確率最高,將參數(shù)值帶入K 近鄰算法模型在數(shù)據(jù)集上求得模型評估參數(shù)的值。

通過上述兩種調(diào)參之后的算法在心臟病數(shù)據(jù)集上進(jìn)行測試得到算法模型的評價(jià)指標(biāo):準(zhǔn)確率(Accuracy)、精確度(Precision)、召回率(Recall)、F1_得分(F1_score)等指標(biāo),指標(biāo)取值范圍[0,1],結(jié)果如表2 所示,從表中可以看出K近鄰算法模型的準(zhǔn)確率為0.907,精確度為0.358,而決策樹模型的準(zhǔn)確率為0.866,精確度為0.235。

表2 模型評價(jià)指標(biāo)對比

對兩種用于心臟病預(yù)測的模型進(jìn)行對比,對比結(jié)果進(jìn)行可視化如圖2 所示,從ROC 曲線圖中可以看出K 近鄰算法模型要優(yōu)于決策樹算法模型。

圖2 模型結(jié)果對比

4 結(jié) 論

本論文的主要研究目的是建立一種可以幫助醫(yī)生進(jìn)行心臟疾病預(yù)測的機(jī)器學(xué)習(xí)算法模型,通過將決策樹算法和K近鄰算法的參數(shù)進(jìn)行優(yōu)化,尋找適合心臟病預(yù)測的最優(yōu)參數(shù)值。實(shí)驗(yàn)結(jié)果顯示,參數(shù)優(yōu)化后的K 近鄰算法模型對預(yù)測心臟病的準(zhǔn)確率達(dá)到了0.907,要比決策樹算法準(zhǔn)確率高,因此K 近鄰算法更適合做心臟病預(yù)測診斷模型。與其他的研究結(jié)果相比較,本文所得到的結(jié)論是比較滿意的,可以更準(zhǔn)確地反映病人的病情,但是,這些預(yù)測值仍然不夠精確,因此,心臟病預(yù)測的模型還有改進(jìn)的余地。本文的研究也可以為多類別的應(yīng)用提供一種新的模型。未來研究的重點(diǎn)是提高預(yù)測模型的精確度,提高模型的使用效率,以及在許多疾病的算法分析、模型構(gòu)建和預(yù)測研究中的應(yīng)用。

猜你喜歡
決策樹心臟病準(zhǔn)確率
“心慌”一定是心臟病嗎?
中老年保健(2022年2期)2022-08-24 03:20:52
中醫(yī)新解心臟病
中老年保健(2022年5期)2022-08-24 02:35:08
乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
2015—2017 年寧夏各天氣預(yù)報(bào)參考產(chǎn)品質(zhì)量檢驗(yàn)分析
一種針對不均衡數(shù)據(jù)集的SVM決策樹算法
決策樹和隨機(jī)森林方法在管理決策中的應(yīng)用
電子制作(2018年16期)2018-09-26 03:27:06
高速公路車牌識別標(biāo)識站準(zhǔn)確率驗(yàn)證法
我做了七八次產(chǎn)檢都正常 孩子怎么有心臟病?
媽媽寶寶(2017年4期)2017-02-25 07:01:20
基于決策樹的出租車乘客出行目的識別
连南| 黄山市| 延庆县| 三江| 区。| 丹寨县| 通山县| 福安市| 广灵县| 乌鲁木齐县| 陇川县| 麻阳| 汤阴县| 慈利县| 屯门区| 棋牌| 镇赉县| 巴彦淖尔市| 田林县| 修文县| 白河县| 托克逊县| 崇州市| 望城县| 泰和县| 乐陵市| 济南市| 兴城市| 乌鲁木齐市| 邛崃市| 舟山市| 商洛市| 仙游县| 南川市| 子长县| 阿尔山市| 增城市| 荆门市| 东乡县| 岳阳市| 仙桃市|