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

?

基于XGBoost模型的營(yíng)養(yǎng)成分分析高血壓預(yù)測(cè)方案

2023-04-07 02:43:00蔣淮李時(shí)杰王峻峰
重慶大學(xué)學(xué)報(bào) 2023年2期
關(guān)鍵詞:分類高血壓預(yù)測(cè)

蔣淮?,譚 浪,李時(shí)杰,劉 昱,王峻峰

(1.天津大學(xué) 微電子學(xué)院,天津 300072; 2.北京智芯微電子科技有限公司,北京 102200; 3.云南省第一人民醫(yī)院,昆明 650031)

高血壓是一種嚴(yán)重威脅人類健康的慢性病,根據(jù)美國(guó)高血壓控制委員會(huì)制定的標(biāo)準(zhǔn)[1],反復(fù)測(cè)量的收縮壓超過(guò)14 mmHg或舒張壓超過(guò)90 mmHg可認(rèn)定為高血壓。英國(guó)權(quán)威雜志《柳葉刀》(The Lancet)2017年的研究顯示[2],1975年全球高血壓患病人數(shù)為6×109,到2015為止增加至11×109,患病人數(shù)幾乎翻了一倍;在世界范圍內(nèi)每年有750×104人死于高血壓或由其引發(fā)的并發(fā)癥。 中國(guó)“十二五”高血壓抽樣調(diào)查結(jié)果顯示,2017年中國(guó)有2.45×109的成年人為高血壓患者,占成年人比例的23.2%;有1.25×109人不知道自己是否患有高血壓,此人數(shù)超過(guò)患者人數(shù)的一半;此外1.5×109的患者未使用藥物進(jìn)行治療,只有約3 700×104的高血壓患者得到了控制;而處在高血壓的邊緣人數(shù)也達(dá)到了4.35×109[3]。目前高血壓在中國(guó)呈現(xiàn)低知曉率、低治療率、低控制率的形勢(shì)。

影響血壓狀況的因素有很多,如性別、年齡、吸煙、肥胖以及不健康的飲食等,有諸多研究在這方面進(jìn)行探索[4-6],結(jié)果顯示不良的飲食是高血壓形成與發(fā)展的重要影響因素。日常生活中飲食與人密切相關(guān),合理的飲食可以促進(jìn)身心健康和預(yù)防疾病,而飲食可以理解為營(yíng)養(yǎng)成分?jǐn)z入,因此不同種類和數(shù)量的營(yíng)養(yǎng)成分?jǐn)z入會(huì)影響疾病的發(fā)生以及人們的健康狀況。研究也證實(shí)了飲食營(yíng)養(yǎng)與血壓值存在一定關(guān)系,如高血壓患者的血壓與膳食中鈉攝入成正相關(guān)[7];高血壓患者血漿中的總包和脂肪酸含量較正常人更高,脂肪與血壓成正相關(guān)[8];服用維生素A、C、E能降低高血壓患者的血壓尤其是收縮壓[9]。

高血壓早期因無(wú)明顯癥狀而不易被發(fā)現(xiàn),很難引起重視,若能及早發(fā)現(xiàn)問(wèn)題,通過(guò)合理飲食及相關(guān)醫(yī)療措施,可有效控制并避免后期引起并發(fā)癥。飲食在高血壓的發(fā)生及發(fā)展中都起到很大作用,所以建立一種通過(guò)分析營(yíng)養(yǎng)成分來(lái)預(yù)測(cè)高血壓的模型十分必要。近年來(lái),有學(xué)者在高血壓的風(fēng)險(xiǎn)因素分析以及預(yù)測(cè)方面進(jìn)行了研究,但通過(guò)飲食營(yíng)養(yǎng)來(lái)預(yù)測(cè)高血壓的研究較少,方法體系還不成熟。如Dong 等[10]通過(guò)改進(jìn)的反向傳播神經(jīng)網(wǎng)絡(luò)算法研究了高血壓的影響因素,包括遺傳因素,生活方式因素,肥胖和合理飲食。Sinkuo chai等[11]基于數(shù)據(jù)挖掘技術(shù)建立了高血壓并發(fā)癥的預(yù)測(cè)模型。張偉等[12]提出了一種改進(jìn)的C4.5決策樹(shù)算法,通過(guò)使用住院患者的醫(yī)療相關(guān)數(shù)據(jù)來(lái)預(yù)測(cè)高血壓,最終獲得了81.58%的準(zhǔn)確率。Nimmala等[13]通過(guò)基于AAA的J48分類器使用年齡、憤怒和焦慮程度來(lái)預(yù)測(cè)高血壓,獲得了84.30%的準(zhǔn)確率。以上研究成果對(duì)高血壓的發(fā)生機(jī)制進(jìn)行了深入探討,但研究數(shù)據(jù)主要為影響高血壓的一般特征,且使用的分析預(yù)測(cè)模型較為單一,對(duì)比性不強(qiáng)。

因此,以營(yíng)養(yǎng)成分為主要特征,以年齡、身形體態(tài)等一般特征為輔助特征,結(jié)合機(jī)器學(xué)習(xí)、統(tǒng)計(jì)學(xué)習(xí)等相關(guān)技術(shù)提出了一個(gè)高血壓預(yù)測(cè)的五階段方案,并搭建了基于XGBoost的分析營(yíng)養(yǎng)成分預(yù)測(cè)高血壓模型,結(jié)果顯示所提出的預(yù)測(cè)模型具有較高準(zhǔn)確率、精確率、召回率與F1分?jǐn)?shù)。此外還針對(duì)高血壓預(yù)測(cè)中不同營(yíng)養(yǎng)特征的影響因子完成風(fēng)險(xiǎn)分析,分析結(jié)果可以幫助醫(yī)生以及患者提早發(fā)現(xiàn)問(wèn)題,采取措施或進(jìn)行治療,降低醫(yī)療成本并提高患者生存率。

1 基本原理及方法

通過(guò)對(duì)問(wèn)題進(jìn)行分析和解構(gòu),筆者要實(shí)現(xiàn)高血壓預(yù)測(cè)需要經(jīng)過(guò)以下步驟:1)需要將人的飲食數(shù)據(jù)轉(zhuǎn)換為所需要的營(yíng)養(yǎng)成分?jǐn)?shù)據(jù),并篩選出有利于模型預(yù)測(cè)的一般特征;2)處理得到的營(yíng)養(yǎng)成分和一般特征數(shù)據(jù)會(huì)伴隨著缺失等問(wèn)題,需要對(duì)數(shù)據(jù)進(jìn)行清理;3)分類模型可分為二元分類和多元分類模型,通過(guò)分析人的每天營(yíng)養(yǎng)成分?jǐn)z入以及相關(guān)特征來(lái)預(yù)測(cè)高血壓為二元分類任務(wù),需要搭建相應(yīng)的二元分類模型來(lái)實(shí)現(xiàn)預(yù)測(cè)。據(jù)研究提出了一個(gè)5階段方案,具體流程如圖1所示。

圖1 預(yù)測(cè)高血壓五階段方案流程圖Fig. 1 Flow chart of five stage scheme for predicting hypertension

1.1 實(shí)驗(yàn)數(shù)據(jù)來(lái)源

本次實(shí)驗(yàn)的數(shù)據(jù)來(lái)自于中國(guó)營(yíng)養(yǎng)與健康調(diào)查(CHNS, china health and nutrition survey),該項(xiàng)目由中美合作,從20世紀(jì)80年代起對(duì)中國(guó)多個(gè)地區(qū)居民的飲食結(jié)構(gòu)和營(yíng)養(yǎng)狀況等變化進(jìn)行追蹤研究,至今共進(jìn)行了10次調(diào)查,其所有研究調(diào)查數(shù)據(jù)面向公眾開(kāi)放,詳細(xì)信息請(qǐng)參見(jiàn)[14]。CHNS調(diào)查時(shí)間跨度較大,因此實(shí)驗(yàn)只選擇從2006年開(kāi)始的最近3次調(diào)查的數(shù)據(jù)進(jìn)行分析。CHNS數(shù)據(jù)并未直接提供研究所需的營(yíng)養(yǎng)成分?jǐn)?shù)據(jù),而是記錄了調(diào)查期間每個(gè)人食用的食物名稱及重量,以及相應(yīng)的身高、體重、臀圍、頭圍等基本信息和每個(gè)人的血壓值。因此對(duì)調(diào)查數(shù)據(jù)做出以下處理:

CHNS所提供的食物數(shù)據(jù)包含食物消耗量和相應(yīng)的食物代碼,中國(guó)疾病預(yù)防控制中心營(yíng)養(yǎng)與食品安全研究所發(fā)布的中國(guó)食物成分表包含了每種食物的食物代碼,以及每100g食物所含有的26種營(yíng)養(yǎng)成分的數(shù)量[15],研究使用MySQL搭建數(shù)據(jù)庫(kù)建立2個(gè)字段之間的關(guān)系,將CHNS食物數(shù)據(jù)轉(zhuǎn)換為對(duì)應(yīng)的26種營(yíng)養(yǎng)成分?jǐn)?shù)據(jù)。

CHNS同時(shí)提供了被調(diào)查者的血壓值檢測(cè)數(shù)據(jù),據(jù)統(tǒng)計(jì)約有60%的人進(jìn)行了連續(xù)3次測(cè)量,30%進(jìn)行了2次測(cè)量,10%左右的人只有一次測(cè)量結(jié)果或者沒(méi)有記錄數(shù)據(jù)。高血壓診斷需要進(jìn)行多次反復(fù)測(cè)量,因此只選擇了包含3次的測(cè)量結(jié)果數(shù)據(jù)。之后對(duì)高壓與低壓分別取平均值,若高壓≥140 mmHg或者低壓≥90 mmHg,則視為高血壓,標(biāo)記為01作為正樣本;否則為非高血壓,標(biāo)記為10作為負(fù)樣本。

1.2 特征選擇

通過(guò)前面處理辦法,將飲食數(shù)據(jù)轉(zhuǎn)換為所需的營(yíng)養(yǎng)成分?jǐn)?shù)據(jù),并首先選擇了這26種營(yíng)養(yǎng)數(shù)據(jù)作為預(yù)測(cè)模型的主要特征。考慮到不同年齡段人們的飲食習(xí)慣和結(jié)構(gòu)不同,如年輕人由于工作和其他原因更傾向于食用高碳水化合物和高能量的食物,總體攝入量相對(duì)較高。老年人則傾向于食用低碳水化合物、高纖維的食物。此外,不同身形的人的飲食攝入也有差異[16]。因此,希望將年齡和身形體態(tài)作為預(yù)測(cè)模型的輔助特征,從而使預(yù)測(cè)結(jié)果更加合理準(zhǔn)確。CHNS數(shù)據(jù)庫(kù)中給出了每個(gè)調(diào)查者的身高和體重,通過(guò)身高和體重可以計(jì)算出每個(gè)人的身體質(zhì)量指數(shù)(BMI, body mass index)來(lái)表示個(gè)人的身形。

為了更好地驗(yàn)證上述想法,需要使用特征選擇方法從全部特征中剔除不相關(guān)或者冗余的特征來(lái)減少特征個(gè)數(shù),從而提高模型精確度及減少運(yùn)行時(shí)間,使構(gòu)建出來(lái)的模型更好。本實(shí)驗(yàn)為二分類問(wèn)題,故采用單變量特征選擇方法驗(yàn)證年齡與BMI值是否可作為本分類實(shí)驗(yàn)的特征。單變量特征選擇方法有4種,選擇了適合二元分類任務(wù)的SelectKBest方法,SelectKBest中的score_func參數(shù)選擇f_classif,它會(huì)計(jì)算單變量與訓(xùn)練目標(biāo)之間的方差分析F值(Anova F-value),F值越大,說(shuō)明特征影響分類結(jié)果越大。選擇了CHNS數(shù)據(jù)庫(kù)中提供的基本信息,包括參與者的性別、出生年份、上臂圍、三頭肌皮褶、臀圍、腰圍以及要驗(yàn)證的年齡和BMI作為變量特征進(jìn)行驗(yàn)證。最終將輸出結(jié)果由高到低排序,如表2所示。

表2 SelectKBest特征選擇結(jié)果

從表中可知,年齡與BMI的F值分別為374.47、145.97,明顯高于其他特征的F值,說(shuō)明年齡與BMI可以作為預(yù)測(cè)高血壓分類模型的特征,而性別、臀圍等基本信息的F值過(guò)低,則直接剔除。最終,預(yù)測(cè)高血壓分類模型選擇26種營(yíng)養(yǎng)成分?jǐn)?shù)據(jù)以及年齡與BMI共計(jì)28維,作為輸入特征。

1.3 數(shù)據(jù)清理與標(biāo)準(zhǔn)化

在機(jī)器學(xué)習(xí)領(lǐng)域中獲得的原始數(shù)據(jù)通常伴有缺失值,即數(shù)據(jù)集中某些特征屬性的值不完全。為了保證數(shù)據(jù)完整性,利于模型準(zhǔn)確預(yù)測(cè),需要判斷缺失值的類型并完成填充。機(jī)器學(xué)習(xí)中常用的處理缺失值的方法有人工填寫(xiě)、特殊值填寫(xiě)、均值填充、中位數(shù)填充、多重插補(bǔ)等。由于營(yíng)養(yǎng)數(shù)據(jù)特征是通過(guò)飲食記錄轉(zhuǎn)換而來(lái),因此若飲食記錄有缺失,數(shù)據(jù)本身的性質(zhì)無(wú)法使用上述方法進(jìn)行填充,所以這一部分缺失數(shù)據(jù)直接刪除。年齡和BMI 2個(gè)特征本身缺失值比例小于5%,這一部分缺失值對(duì)整體模型預(yù)測(cè)影響不大,故使用中位數(shù)填充進(jìn)行替換。

研究顯示,18歲及以下未成年人的血壓會(huì)隨著年齡、身高的增長(zhǎng)以及體重的增加在標(biāo)準(zhǔn)范圍內(nèi)升高[17],若非家族遺傳,很少患有高血壓,所以這一部分?jǐn)?shù)據(jù)不具有代表性,為了更好地評(píng)估模型準(zhǔn)確性,刪除了18歲及以下未成年人的數(shù)據(jù)。通過(guò)整個(gè)數(shù)據(jù)清理過(guò)程,最終得到了包含28個(gè)特征的1 582個(gè)數(shù)據(jù)樣本,包括826個(gè)患高血壓的正樣本與756個(gè)未患病的負(fù)樣本,比例接近1∶ 1。

由于輸入特征主要是每日營(yíng)養(yǎng)成分?jǐn)z入量,種類繁多且單位不同,同時(shí)某些營(yíng)養(yǎng)特征的總體方差過(guò)大,可能會(huì)導(dǎo)致一些機(jī)器學(xué)習(xí)算法的主目標(biāo)函數(shù)阻止參數(shù)估計(jì)其學(xué)習(xí)其他特征,造成很難收斂或不能收斂的狀況。數(shù)據(jù)標(biāo)準(zhǔn)化是將數(shù)據(jù)按比例縮放,使之落入一個(gè)小的特定區(qū)間,可以將其轉(zhuǎn)化為無(wú)量綱的純數(shù)值來(lái)去除數(shù)據(jù)的單位限制,便于不同單位或量級(jí)的指標(biāo)能夠進(jìn)行比較和加權(quán)。因此對(duì)數(shù)據(jù)集進(jìn)行了標(biāo)準(zhǔn)化處理,使每個(gè)特征值的平均值為0,方差為1,相當(dāng)于轉(zhuǎn)化成為標(biāo)準(zhǔn)正態(tài)分布即高斯分布。標(biāo)準(zhǔn)化的公式如下

其中:xi指的是數(shù)據(jù)集中特定維度的所有數(shù)據(jù);min(x)是數(shù)據(jù)集中同一維度的最小數(shù)據(jù);max(x)是數(shù)據(jù)集中同一維度的最大數(shù)據(jù);x′表示標(biāo)準(zhǔn)化數(shù)據(jù)的值。

1.4 模型搭建

XGBoost(extreme gradient boosting)又稱極端梯度提升,由Chen等于2014年開(kāi)發(fā)和推出[18],并且在近年來(lái)的Kaggle比賽中取得非常突出的表現(xiàn)。XGBoost是基于梯度提升決策樹(shù)(GBDT)的改進(jìn)算法,通過(guò)boosting思想將個(gè)體學(xué)習(xí)器組合在一起,產(chǎn)生依賴關(guān)系,同時(shí)可以有效構(gòu)建提升樹(shù)且并行運(yùn)行。XGBoost算法因其運(yùn)算快速、高效準(zhǔn)確、泛化能力強(qiáng)等優(yōu)點(diǎn)廣泛應(yīng)用于分類與回歸領(lǐng)域。其核心概念是通過(guò)添加樹(shù),擬合最后預(yù)測(cè)的殘差來(lái)學(xué)習(xí)新功能,然后獲得樣本得分,通過(guò)將每棵樹(shù)的分?jǐn)?shù)相加,可以得出樣本的最終預(yù)測(cè)分?jǐn)?shù)。對(duì)于具有m個(gè)特征的n個(gè)標(biāo)記樣本,使用K個(gè)加法函數(shù)預(yù)測(cè)分?jǐn)?shù)的公式如下

F={f(x)=wq(x)(q:Rm→T,w∈RT)},

(3)

其中:F是回歸樹(shù)的空間;f(x)是其中一個(gè)回歸樹(shù);wq(x)表示每個(gè)T葉樹(shù)的獨(dú)立結(jié)構(gòu)分?jǐn)?shù)。XGBoost的目標(biāo)函數(shù)被定義為

其中:l代表了模型的損失函數(shù);Ω是正則化項(xiàng);T表示葉節(jié)點(diǎn)的數(shù)量;w是葉節(jié)點(diǎn)的分?jǐn)?shù);γ與λ代表了防止過(guò)度擬合的控制系數(shù)。當(dāng)生成第n棵樹(shù)時(shí),預(yù)測(cè)分?jǐn)?shù)公式可以寫(xiě)成

為了加速優(yōu)化,使用泰勒二階展開(kāi)式

通過(guò)添加樣本的損失函數(shù),重新組合樣本,最后利用頂點(diǎn)公式求出最優(yōu)的w以及目標(biāo)函數(shù)公式L如下

Gi=∑i∈Ijgi,

(11)

Hi=∑i∈Ijhi。

(12)

XGBoost在尋找最佳分割點(diǎn)時(shí)結(jié)合了傳統(tǒng)的貪心算法以及近似算法,根據(jù)百分位法列舉幾個(gè)可能成為分割點(diǎn)的候選項(xiàng),然后根據(jù)式(9)、(10)計(jì)算出最佳分割點(diǎn)。XGBoost使用多種方法來(lái)避免過(guò)度擬合,例如引入正則化、行采樣以及特征采樣,同時(shí)還增加了對(duì)稀疏數(shù)據(jù)的處理。此外XGBoost還具有其他的優(yōu)勢(shì),例如能進(jìn)行并行處理,使速度有了很大提升;具有高度的靈活性,可自定義優(yōu)化目標(biāo)與評(píng)價(jià)標(biāo)準(zhǔn);內(nèi)置交叉驗(yàn)證,允許在每一輪boosting迭代中使用交叉驗(yàn)證。綜合以上XGBoost在分類算法中的優(yōu)勢(shì),選擇了XGBoost作為通過(guò)分析營(yíng)養(yǎng)成分預(yù)測(cè)高血壓的模型。

通過(guò)分類算法搭建模型并最終實(shí)現(xiàn)高血壓預(yù)測(cè),需要通過(guò)定義算法函數(shù)、調(diào)用函數(shù)搭建網(wǎng)絡(luò)模型、訓(xùn)練與驗(yàn)證模型、期間調(diào)整參數(shù)及最后測(cè)試與評(píng)估模型等步驟。

基于XGBoost的高血壓預(yù)測(cè)模型的設(shè)計(jì)流程圖如圖2所示,具體流程如下:首先定義算法函數(shù),調(diào)用XGBoost函數(shù)搭建網(wǎng)絡(luò)模型;隨后設(shè)定初始參數(shù)并輸入訓(xùn)練集,進(jìn)行模型訓(xùn)練,每訓(xùn)練一次調(diào)整一次權(quán)值,直到訓(xùn)練誤差最小或達(dá)到要求的最高訓(xùn)練次數(shù)1 000次;訓(xùn)練后存儲(chǔ)當(dāng)前網(wǎng)絡(luò)文件,輸入驗(yàn)證集,對(duì)比評(píng)估指標(biāo)來(lái)確定需要人工手動(dòng)調(diào)整的參數(shù)是否最優(yōu),如此循環(huán)直到所有參數(shù)全部最優(yōu);隨后進(jìn)入測(cè)試階段,對(duì)模型評(píng)估獲得相應(yīng)指標(biāo),完成通過(guò)分析營(yíng)養(yǎng)成分預(yù)測(cè)高血壓的分類實(shí)驗(yàn)。

互聯(lián)網(wǎng)企業(yè)關(guān)于員工的培訓(xùn)主要包括新員工培訓(xùn)和優(yōu)秀外出學(xué)習(xí)培訓(xùn)。雖然新員工入職后有相應(yīng)地提升員工技能的培訓(xùn)環(huán)節(jié),但后續(xù)的培訓(xùn)形式主要為員工定期參加外部培訓(xùn)公司的課程活動(dòng)。企業(yè)雖有設(shè)置內(nèi)部培訓(xùn)但并沒(méi)有形成系統(tǒng)的員工培訓(xùn)體系,使得公司外部與內(nèi)部培訓(xùn)未能很好結(jié)合。這從一定程度上來(lái)說(shuō),這既增加了企業(yè)的培訓(xùn)運(yùn)營(yíng)成本,又無(wú)法有效地達(dá)成企業(yè)所制定的發(fā)展目標(biāo)。

圖2 XGBoost建模流程圖Fig. 2 XGBoost modeling flow chart

1.5 分類與評(píng)估

目前的研究中很少有通過(guò)分析營(yíng)養(yǎng)成分來(lái)預(yù)測(cè)患高血壓風(fēng)險(xiǎn)的模型,提出了通過(guò)分析營(yíng)養(yǎng)成分來(lái)預(yù)測(cè)高血壓的5階段方案,搭建了基于XGBoost的高血壓預(yù)測(cè)模型,同時(shí)與多種常見(jiàn)機(jī)器學(xué)習(xí)分類算法進(jìn)行對(duì)比來(lái)驗(yàn)證模型的有效性。算法包括隨機(jī)森林(RFs, random forest)、支持向量機(jī)(SVM, support vector machine)以及人工神經(jīng)網(wǎng)絡(luò)(ANN, artificial neural network)。RFs主要利用的是集成學(xué)習(xí)中的bagging算法,將多棵樹(shù)集成到一同分類,樹(shù)與樹(shù)之間關(guān)系為并行,互不影響[19]。SVM作為一種機(jī)器學(xué)習(xí)的有監(jiān)督分類方法是建立在統(tǒng)計(jì)學(xué)習(xí)理論的VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理的基礎(chǔ)上,根據(jù)有限的樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求最佳平衡[20],它在解決小樣本、非線性以及高維模式識(shí)別中表現(xiàn)出諸多優(yōu)勢(shì)。ANN是一個(gè)局部最優(yōu)解的分類和預(yù)測(cè)算法,由大量神經(jīng)元相互連接而成, 每個(gè)神經(jīng)元節(jié)點(diǎn)都是一些動(dòng)態(tài)的權(quán)重參數(shù),ANN的學(xué)習(xí)過(guò)程是對(duì)大量樣本進(jìn)行歸納學(xué)習(xí),然后內(nèi)部進(jìn)行自適應(yīng),過(guò)程中各個(gè)神經(jīng)元節(jié)點(diǎn)調(diào)整相應(yīng)權(quán)重,使神經(jīng)網(wǎng)絡(luò)處于穩(wěn)定的范圍且權(quán)重收斂[21]。這些對(duì)比算法的建模過(guò)程從形式上與XGBoost有相同部分,不同點(diǎn)在于SVM中有4種核函數(shù),本實(shí)驗(yàn)中的特征個(gè)數(shù)遠(yuǎn)小于樣本個(gè)數(shù),故選擇了徑向基核函數(shù);RFs衡量分裂質(zhì)量的性能函數(shù)選擇為entropy,即為信息增益的熵;ANN需要確定隱藏層以及各個(gè)層神經(jīng)元個(gè)數(shù),由于輸入特征為28個(gè),經(jīng)過(guò)實(shí)驗(yàn)最終選擇28-56-56-2的神經(jīng)元結(jié)構(gòu),其中包括1個(gè)輸入層、1個(gè)輸出層和2個(gè)隱藏層。

在完成分類模型構(gòu)建之后,需要對(duì)模型的效果進(jìn)行評(píng)估,在二分類問(wèn)題中評(píng)價(jià)模型最簡(jiǎn)單也最常用的是準(zhǔn)確率(Accuracy),但若數(shù)據(jù)集正負(fù)樣本不均衡,準(zhǔn)確率并不能很好地評(píng)估模型的有效性,因此引入精準(zhǔn)率(Precision)、召回率(Recall)以及F1分?jǐn)?shù)(F1_score)[22],具體公式如下

其中:TP為真正類,即實(shí)際是正類且預(yù)測(cè)也為正類的個(gè)數(shù);FP為假正類,即實(shí)際是負(fù)類但預(yù)測(cè)為正類的個(gè)數(shù);TN為真負(fù)類,即實(shí)際是負(fù)類且預(yù)測(cè)也為負(fù)類的個(gè)數(shù);FN為假負(fù)類,即實(shí)際是正類但預(yù)測(cè)為負(fù)類的個(gè)數(shù)。

除了以上指標(biāo),還使用ROC(receiveroperatingcharacteristic)曲線,是反應(yīng)特異性與靈敏度這2個(gè)連續(xù)變量的綜合指標(biāo),它以平面曲線圖的形式來(lái)全面且客觀地對(duì)模型以及系統(tǒng)進(jìn)行分析和評(píng)估[23]。ROC曲線以真正類率(TPR,truepositiverate)為y軸,以假正類率(FPR,falsepositiverate)為x軸,x、y兩軸取值范圍均為0~1。當(dāng)FPR值保持不變時(shí),TPR值越大,曲線越接近(0,1)點(diǎn),表明模型越好越穩(wěn)定。ROC曲線下面積即AUC(areaunderroccurve)值,用來(lái)直觀地反應(yīng)ROC曲線圖的情況,AUC值越接近1則代表ROC曲線越接近(0,1)點(diǎn),說(shuō)明模型的分類性能越好。

以上為提出的高血壓預(yù)測(cè)的五階段方案,通過(guò)數(shù)據(jù)轉(zhuǎn)換得到了所需要的營(yíng)養(yǎng)成分?jǐn)?shù)據(jù);通過(guò)特征選擇確定了以26種營(yíng)養(yǎng)成分為主要特征,年齡與BMI為輔助特征的28維特征;通過(guò)數(shù)據(jù)清理與標(biāo)準(zhǔn)化去除了數(shù)據(jù)冗余,提高了模型運(yùn)算速度和準(zhǔn)確度;在模型搭建中選擇了運(yùn)算速度快、準(zhǔn)確率高、泛化能力強(qiáng)的XGBoost模型;最終通過(guò)與其他分類模型一同比較評(píng)估來(lái)驗(yàn)證提出的方法與模型的有效性。

2 實(shí)驗(yàn)結(jié)果及分析

2.1 XGBoost與其他分類算法結(jié)果對(duì)比

表3 4種分類算法結(jié)果對(duì)比

從表中可以看出,包括XGBoost在內(nèi)的4種分類算法的測(cè)試準(zhǔn)確率與F1分?jǐn)?shù)均超過(guò)0.72,其中準(zhǔn)確率最低為0.721,最高為0.857;F1分?jǐn)?shù)最低為0.759,最高為0.859。由SVM和ANN這2個(gè)分類算法得到的準(zhǔn)確率與F1分?jǐn)?shù)均低于0.80,說(shuō)明這2種算法解決本分類問(wèn)題的能力較差;RFs與XGBoost的準(zhǔn)確率與F1分?jǐn)?shù)均超過(guò)0.80,性能較好。其中與RFs相比,XGBoost獲得了0.857的最高的準(zhǔn)確率與0.859的最高的F1分?jǐn)?shù),同時(shí)召回率為0.926,精確率為0.804也為最高。因此,綜合以上指標(biāo)可以得出,XGBoost為通過(guò)分析營(yíng)養(yǎng)成分預(yù)測(cè)高血壓的最佳模型。

由于實(shí)驗(yàn)測(cè)試所用試數(shù)據(jù)集正負(fù)樣本并不是完全的1∶ 1,為了更好地比較這4個(gè)分類算法的性能,畫(huà)出了測(cè)試過(guò)程中4個(gè)分類算法的ROC曲線圖,并將其組合到了一張圖中,具體如圖3所示。其中不同的顏色代表不同分類算法的ROC曲線,藍(lán)色點(diǎn)劃線為XGBoost,綠色點(diǎn)劃線為RFs,紫色點(diǎn)劃線為SVM,紅色點(diǎn)劃線為ANN。從圖中可以看出XGBoost的ROC曲線更接近(0,1)點(diǎn),分類效果最好,而ANN的ROC曲線離(0,1)點(diǎn)最遠(yuǎn),分類效果最差。此外還可以通過(guò)對(duì)比ROC曲線下面積即AUC值,來(lái)更加直觀地看出算法分類的效果,具體如表4所示。

圖3 4種分類算法的ROC曲線圖Fig. 3 ROC curve of four classification algorithms

表4 4種分類算法AUC值

從表中得知XGBoost的AUC值最高且超過(guò)了0.9,而其他各個(gè)算法的AUC值均未超過(guò)0.9。通過(guò)觀察這4種分類算法的ROC曲線與AUC值得出的結(jié)論與表3中評(píng)估指標(biāo)得出的結(jié)論相同。搭建的基于XGBoost的通過(guò)分析營(yíng)養(yǎng)成分預(yù)測(cè)高血壓的模型,擁有較高的準(zhǔn)確率、精確率、召回率與F1分?jǐn)?shù),分類效果好,穩(wěn)定性強(qiáng)。

由于XGBoost中參數(shù)較多,借助網(wǎng)絡(luò)搜索(GridSearchCV)方法來(lái)優(yōu)化XGBoost中需要手動(dòng)調(diào)整的參數(shù)。最終XGBoost模型達(dá)到最佳效果時(shí)的最佳參數(shù)如表5所示。

表5 XGBoost的最佳參數(shù)

表中共展示了XGBoost的7種可變參數(shù),每個(gè)參數(shù)都有不同的含義,其中l(wèi)earning_rate為算法的學(xué)習(xí)率,控制每次迭代更新權(quán)重的步長(zhǎng),默認(rèn)值為0.3,選取的最佳參數(shù)為0.01;n_estimators為總的迭代次數(shù)即基礎(chǔ)學(xué)習(xí)器的個(gè)數(shù),通常以樹(shù)的形式存在,默認(rèn)值為10,選擇的最佳參數(shù)為1000;max_depth代表樹(shù)的最大深度,默認(rèn)值為6,典型值為3~10,值越大越容易過(guò)擬合,選取的最佳參數(shù)為3;min_child_weight是最小葉子權(quán)重,默認(rèn)值為1,典型值為2~10,值越小越容易過(guò)擬合,選取的最佳參數(shù)為5;gamma為懲罰項(xiàng)系數(shù),是指定節(jié)點(diǎn)分裂所需的最小損失函數(shù)下降值,默認(rèn)值為0,選取的最佳參數(shù)為0.3;subsample表示用于訓(xùn)練模型的子樣本占整個(gè)樣本集合的比例,默認(rèn)值為1,取值范圍為0~1,選擇適當(dāng)比例可防止過(guò)擬合,選擇的最佳參數(shù)為0.75;colsample_bytree代表用于訓(xùn)練模型的特征占全部特征的比例,默認(rèn)值為1,取值范圍為0~1,本文選擇的最佳參數(shù)為0.85。

2.2 特征分析

通過(guò)算法進(jìn)行分類最重要的部分是用于進(jìn)行預(yù)測(cè)的特征,某些特征在預(yù)測(cè)中 起到非常重要的作用,因此為了進(jìn)一步探索營(yíng)養(yǎng)成分與高血壓之間的關(guān)系,以及驗(yàn)證模型的有效性與穩(wěn)定性,引用了特征重要性分析。在前面的實(shí)驗(yàn)中XGBoost模型驗(yàn)證為營(yíng)養(yǎng)成分預(yù)測(cè)高血壓的最佳模型,而XGBoost可以根據(jù)結(jié)構(gòu)分?jǐn)?shù)的增益作為某個(gè)特征的分割點(diǎn),特征的重要性得分可以用特征在所有樹(shù)中被調(diào)用出現(xiàn)次數(shù)的總和表示。在調(diào)參最優(yōu)的XGBoost中,根據(jù)特征重要性排序,最終獲得了影響高血壓分類的前12個(gè)特征,具體如表6所示。

表6 影響高血壓分類的前12個(gè)特征

表中特征重要性得分從高到低排序,可以看出影響高血壓分類的前2個(gè)因素是年齡和BMI值,它們的特征重要性得分分別為301和225,不同年齡和不同身形的人的飲食結(jié)構(gòu)不同,也就是說(shuō)年齡和BMI值影響著其他營(yíng)養(yǎng)成分特征,且隨著年齡增長(zhǎng)和體重增加,高血壓的患病率會(huì)逐漸上升,所以年齡與BMI值處于前2個(gè)位置是合理的。排名在3~12的營(yíng)養(yǎng)成分特征分別是:脂肪(Fat)、維生素C(VC)、鐵(Fe)、鈉(Na)、鎂(Mg)、碳水化合物(CHO)、維生素E(VE)、鈣(Ca)、維生素B2(VB2)、膽固醇(CHOL)。

文獻(xiàn)[7-8]中指出膳食中鈉的攝入與脂肪的攝入與人的血壓成正相關(guān),文獻(xiàn)[9]中指出服用維生素C對(duì)降低高血壓患者的血壓值具有一定的作用,而鈉、脂肪與維生素C在高血壓預(yù)測(cè)模型中的營(yíng)養(yǎng)成分特征重要性得分中也排在前5位。文獻(xiàn)[24]指出對(duì)抑制高血壓有積極影響的營(yíng)養(yǎng)成分有鎂、鈣、鉀和膳食纖維,對(duì)抑制高血壓有消極影響的營(yíng)養(yǎng)成分有鈉和碳水化合物,其中鎂、鈣、鈉以及碳水化合物這4種,也位于XGBoost模型獲得的影響高血壓分類的營(yíng)養(yǎng)成分的前10位。

3 結(jié) 論

對(duì)高血壓的預(yù)測(cè)問(wèn)題展開(kāi)了深入研究,在現(xiàn)有的幾種以醫(yī)療相關(guān)指標(biāo)與一般信息為主要特征的高血壓預(yù)測(cè)方法的基礎(chǔ)上,針對(duì)膳食營(yíng)養(yǎng)與血壓值之間的聯(lián)系,提出了一種通過(guò)分析營(yíng)養(yǎng)成分預(yù)測(cè)高血壓的五階段方案,搭建了基于XGBoost的高血壓預(yù)測(cè)模型,通過(guò)分析個(gè)人日常攝入的營(yíng)養(yǎng)成分信息以及年齡與BMI來(lái)預(yù)測(cè)其是否患高血壓。從實(shí)驗(yàn)結(jié)果來(lái)看提出的方法獲得了85.7%的準(zhǔn)確率以及0.859的F1分?jǐn)?shù),相比其他分類算法均為最高,驗(yàn)證了提出的高血壓預(yù)測(cè)五階段方案的可行性;通過(guò)特征重要性分析,獲得了影響高血壓的前10個(gè)營(yíng)養(yǎng)成分,對(duì)比各類文獻(xiàn)可知,鈉、脂肪、維生素C、鎂、鈣以及碳水化合物對(duì)高血壓的影響與現(xiàn)有醫(yī)學(xué)結(jié)論相同,從而驗(yàn)證了模型的有效性。

猜你喜歡
分類高血壓預(yù)測(cè)
無(wú)可預(yù)測(cè)
黃河之聲(2022年10期)2022-09-27 13:59:46
選修2-2期中考試預(yù)測(cè)卷(B卷)
選修2-2期中考試預(yù)測(cè)卷(A卷)
全國(guó)高血壓日
分類算一算
分類討論求坐標(biāo)
如何把高血壓“吃”回去?
高血壓,并非一降了之
數(shù)據(jù)分析中的分類討論
教你一招:數(shù)的分類
临沭县| 普安县| 广饶县| 玉林市| 阜新市| 大邑县| 伊金霍洛旗| 类乌齐县| 桐城市| 安顺市| 海晏县| 化德县| 牡丹江市| 烟台市| 景泰县| 新绛县| 福清市| 南靖县| 宁海县| 正定县| 大英县| 崇义县| 班玛县| 宁德市| 贵德县| 南丰县| 阿勒泰市| 兖州市| 乌海市| 利川市| 崇左市| 滦南县| 慈溪市| 天全县| 新巴尔虎左旗| 民和| 开原市| 平谷区| 临洮县| 田东县| 闽清县|