劉海鈺,曲海成
(遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島 125105)
肝癌是威脅人類身體健康的主要惡性腫瘤之一,對其研究至今已有百年歷史。目前,根治肝癌最有效的手段是手術(shù)切除,而對于廣大患者而言,肝癌術(shù)后效果仍然欠佳,有報(bào)告指出肝癌在5 年內(nèi)的復(fù)發(fā)轉(zhuǎn)移率可到40%~70%[1]。肝癌手術(shù)過后有兩個(gè)復(fù)發(fā)高峰,1 年內(nèi)的復(fù)發(fā)定義為早期復(fù)發(fā),之后的復(fù)發(fā)定義為晚期復(fù)發(fā)。
近年來數(shù)據(jù)挖掘技術(shù)發(fā)展迅速,醫(yī)學(xué)數(shù)據(jù)挖掘的目的是從大量的醫(yī)學(xué)數(shù)據(jù)中挖掘出潛在并且有效的知識、信息、模型、關(guān)聯(lián)和變化等,從而幫助醫(yī)生進(jìn)行更加快速和準(zhǔn)確的診斷[2]。通過利用大量病人的各項(xiàng)信息來進(jìn)行分析并得出結(jié)論的方法在醫(yī)學(xué)界已經(jīng)得到了廣泛認(rèn)可。文獻(xiàn)[3]中探討了隨機(jī)森林算法在心血管疾病預(yù)測中的應(yīng)用效果,并對其性能進(jìn)行了評價(jià);文獻(xiàn)[4]中以隨機(jī)森林算法為基礎(chǔ),采用交叉檢驗(yàn)和網(wǎng)格搜索尋找最佳參數(shù),建立了心臟病預(yù)測模型;文獻(xiàn)[5]探討了隨機(jī)森林算法在產(chǎn)后抑郁影響因素的篩選和風(fēng)險(xiǎn)預(yù)測中的應(yīng)用效果;文獻(xiàn)[6]利用機(jī)器學(xué)習(xí)方法構(gòu)建心血管疾病的預(yù)測模型,對心血管疾病進(jìn)行快速高效的預(yù)測;文獻(xiàn)[7]基于機(jī)器學(xué)習(xí)算法,對醫(yī)療數(shù)據(jù)進(jìn)行了處理和分析;文獻(xiàn)[8]提出了基于Choquet 積分的數(shù)據(jù)挖掘模型的預(yù)測算法和模型組合的特征篩選方法,利用體檢數(shù)據(jù)對某一類疾病高血壓做預(yù)測,制定了基于大數(shù)據(jù)的疾病風(fēng)險(xiǎn)預(yù)測模型;文獻(xiàn)[9]采用基于機(jī)器學(xué)習(xí)的分類判斷算法,建立慢性阻塞性肺疾病分期模型;文獻(xiàn)[10]運(yùn)用決策樹機(jī)器學(xué)習(xí)算法,建立慢性肝硬化疾病預(yù)測模型,得到了預(yù)測準(zhǔn)確率達(dá)到98%肝硬化預(yù)測模型;文獻(xiàn)[11]通過構(gòu)建機(jī)器學(xué)習(xí)模型,預(yù)測了腎病在人群中的流行程度;文獻(xiàn)[12]中將數(shù)據(jù)挖掘技術(shù)與機(jī)器學(xué)習(xí)算法相結(jié)合,對心臟病患者進(jìn)行預(yù)測。
綜上所述,可見數(shù)據(jù)挖掘技術(shù)的應(yīng)用面非常廣泛,在疾病預(yù)測方面的表現(xiàn)尤為突出。然而,關(guān)于肝癌早期復(fù)發(fā)預(yù)測問題上的研究卻相對較少。為此,本文從數(shù)據(jù)的篩選、數(shù)據(jù)的預(yù)處理、特征工程、建立預(yù)測模型以及模型評價(jià)中得出預(yù)測模型,使其能夠準(zhǔn)確預(yù)測肝癌是否早期復(fù)發(fā)的結(jié)論,并經(jīng)過數(shù)據(jù)分析得出了肝癌早期復(fù)發(fā)的最優(yōu)閾值。
網(wǎng)格搜索(gridsearchCV)是一種指定參數(shù)值的窮舉搜索方法,也是機(jī)器學(xué)習(xí)中一種常用的調(diào)參方法。指定需要調(diào)整的參數(shù),使其在指定的參數(shù)范圍內(nèi),通過遍歷所有組合選定參數(shù),選擇能夠讓模型得到最優(yōu)結(jié)果的那個(gè)參數(shù)組合作為最終結(jié)果。本項(xiàng)目應(yīng)用網(wǎng)格搜索法,為GBDT 梯度提升樹選擇了兩個(gè)最佳參數(shù):樹的數(shù)量(n _estimators)和學(xué)習(xí)率(learning_rate)。通過該方法可以得到最優(yōu)的參數(shù)。但該方法進(jìn)行的是一種窮舉操作,所以在時(shí)間耗費(fèi)上會相對較長。本文實(shí)驗(yàn)項(xiàng)目在n_estimators:[30,50,80,100]以及l(fā)earning_rate:[0.1,0.05,0.01]范圍內(nèi)確定了GBDT 的最優(yōu)參數(shù)。
梯度提升決策樹(Gradient Boosting Decision Tree,GBDT),又稱做多重累計(jì)回歸樹[13]。其內(nèi)部子樹為CART 樹,基于Boosting 算法集成思想提出,是機(jī)器學(xué)習(xí)、數(shù)據(jù)分析中最常見的預(yù)測模型方法之一。該算法選擇決策樹作為弱學(xué)習(xí)器?;貧w樹大致流程為:在每一次分支的時(shí)候?qū)ふ夷軌驅(qū)崿F(xiàn)最優(yōu)分支的節(jié)點(diǎn),作為分裂節(jié)點(diǎn)。在分類決策樹中使用的是基尼系數(shù)等,在回歸樹中使用的是均方誤差,直到分裂完畢或者滿足了一定的條件。CART 決策樹結(jié)構(gòu)示意如圖1 所示。
圖1 CART 決策樹結(jié)構(gòu)示意圖Fig.1 The Structural diagram of CART decision Tree
Boosting 算法:使用已經(jīng)給出的弱分類器線性組合,生成一個(gè)表現(xiàn)出強(qiáng)性能的強(qiáng)分類器的過程[14]。通過使用多個(gè)弱分類器,訓(xùn)練基分類器時(shí)采用串行方式,每個(gè)基分類器之間有依賴,其基本思路是將基分類器一個(gè)個(gè)疊加。每個(gè)基分類器在訓(xùn)練時(shí),對前一個(gè)基分類器分錯(cuò)的樣本給予更高的權(quán)重。測試時(shí),根據(jù)各個(gè)分類器的結(jié)果加權(quán)得到最終結(jié)果。
GBDT 分類算法屬于集成學(xué)習(xí)中的Boosting 算法。其原理是:將所有弱分類器結(jié)果的總和作為預(yù)測值,下一個(gè)弱分類器去擬合誤差函數(shù)對預(yù)測值的殘差(殘差就是預(yù)測值與真實(shí)值之間的誤差)。其中弱分類器的表現(xiàn)形式就是各棵決策樹[15],算法如下:
假設(shè)訓(xùn)練集樣本:D ={(x1,y1),(x2,y2),…,(xm,ym) },最大迭代次數(shù)為T,輸出的強(qiáng)學(xué)習(xí)器為f(x) 。則損失函數(shù)的表達(dá)為:
(1)初始弱學(xué)習(xí)器:
(2)對迭代次數(shù)t =1,2,…,T:
①對樣本i =1,2,…,m計(jì)算負(fù)梯度誤差:
②利用(xi,rti)(i =1,2,…,m),擬合一棵CART回歸樹,得到第t棵回歸樹。其對應(yīng)的葉子節(jié)點(diǎn)區(qū)域?yàn)閞tj(j =1,2,…,J)。其中J為回歸是t的葉子節(jié)點(diǎn)個(gè)數(shù)。
③對葉子區(qū)域j =1,2,…,T,計(jì)算最佳負(fù)梯度擬合值:
更新強(qiáng)學(xué)習(xí)器:
得到強(qiáng)學(xué)習(xí)器表達(dá)式:
在進(jìn)行實(shí)驗(yàn)數(shù)據(jù)處理前,通過查看原始數(shù)據(jù)表,以此來確認(rèn)數(shù)據(jù)表的格式、內(nèi)容種類等信息,從而選擇合適的數(shù)據(jù)處理方式。本文選擇使用Excel 查看數(shù)據(jù),可以發(fā)現(xiàn)數(shù)據(jù)是標(biāo)準(zhǔn)的行列式表格數(shù)據(jù)。其中包含表示ID、性別等信息的分類型變量,也有腫瘤數(shù)量、腫瘤大小等表示醫(yī)學(xué)指標(biāo)的數(shù)值型變量。由于這些數(shù)據(jù)變量的類型過于冗雜,因此需要將這些冗雜的變量類型統(tǒng)一為可以直接輸入到預(yù)測模型中的連續(xù)型數(shù)值變量。部分預(yù)處理前的數(shù)據(jù)見表1。
表1 預(yù)處理前部分?jǐn)?shù)據(jù)展示Tab.1 Partial data presentation before data preprocessing
2.1.1 數(shù)據(jù)清洗
數(shù)據(jù)清洗主要包括:將數(shù)據(jù)規(guī)范成合適的數(shù)據(jù)表現(xiàn)形式、去除空值、重復(fù)值、異常值、噪聲數(shù)據(jù)剔除等。其中包含兩方面的工作:一個(gè)是對數(shù)據(jù)進(jìn)行異常值檢測,查看數(shù)據(jù)是否在合理范圍內(nèi)變動(dòng),有無超出固定范圍的數(shù)據(jù),是否有矛盾數(shù)據(jù)以及可以替換掉的多余數(shù)據(jù);二是選擇合適的方式方法,來處理這些數(shù)據(jù)。
2.1.2 數(shù)據(jù)格式轉(zhuǎn)換
通過查看原始數(shù)據(jù)表可以發(fā)現(xiàn),初始數(shù)據(jù)類型大多為float64 的浮點(diǎn)數(shù)格式,只有少量數(shù)據(jù)列為無格式類型object。其中包括性別(以0-1 值表達(dá)布爾數(shù)值),Child 分級(以字母A-B 表達(dá)分級分類),嚴(yán)重并發(fā)癥(以文本字符串表示內(nèi)容)。對于這些非數(shù)值變量的數(shù)據(jù)列,需要將其轉(zhuǎn)換為合理的浮點(diǎn)數(shù)值。部分?jǐn)?shù)據(jù)類型展示見表2。
表2 部分?jǐn)?shù)據(jù)的數(shù)據(jù)類型Tab.2 The data type of partial data
2.1.3 數(shù)據(jù)異常值處理
識別異常值的方法主要有:基于統(tǒng)計(jì)學(xué)原理的散點(diǎn)圖、四分位圖、箱線圖、正太分布圖等方法;基于分布的異常點(diǎn)檢測:根據(jù)已有數(shù)據(jù)建立模型,基于模型對數(shù)據(jù)進(jìn)行檢測,從而判斷數(shù)據(jù)是否異常;基于聚類的方法找出那些零散的不能歸為某一類別的數(shù)據(jù),作為異常點(diǎn)等方法。
由表3 可以發(fā)現(xiàn),數(shù)據(jù)中存在著大量的異常值。如:術(shù)前AFP 指標(biāo),其均值為1 000,而中位數(shù)僅為16,且75%分位點(diǎn)也僅有139.75,但最大值竟然達(dá)到了611 000這種極度不合理的大數(shù)值,說明該數(shù)據(jù)列中的一些數(shù)據(jù)在錄入時(shí)出現(xiàn)了錯(cuò)誤,導(dǎo)致整個(gè)數(shù)據(jù)列的分布偏離了正常的分布。異常值由于數(shù)值問題,會在模型中產(chǎn)生極大的噪聲,導(dǎo)致對包含異常值數(shù)據(jù)的樣本預(yù)測難以繼續(xù),同時(shí)在對包含異常值的數(shù)據(jù)列進(jìn)行歸一化時(shí)也會出現(xiàn)分布不均的問題,因此需要采用合理的方式對異常值進(jìn)行處理,降低其表達(dá)的信息量。
表3 部分異常值數(shù)據(jù)展示Tab.3 Partial outlier data display
在異常值檢測方面,本文采用了兩種方式:一是正態(tài)分布的假設(shè)檢驗(yàn)。即出現(xiàn)偏離均值超過方差3倍的值屬于極小概率事件,記為異常值。但這種方式對于均值和方差均被顯著提高的數(shù)據(jù)列檢測效果不佳,易將一些數(shù)據(jù)漏算。第二種是計(jì)算數(shù)據(jù)分布的四分位點(diǎn),認(rèn)為比Q1 小1.5 倍的IQR或者比Q3大1.5 倍的IQR的值為異常值(Q1 為第一四分位數(shù),Q3 為第三四分位數(shù),IQR為四分位數(shù)極差,其值為Q3-Q1),將兩種方式相結(jié)合,即可最大程度的檢測出異常值。
2.1.4 數(shù)據(jù)缺失值處理
一部分?jǐn)?shù)據(jù)由于某些原因,導(dǎo)致數(shù)據(jù)缺失,需要對這部分?jǐn)?shù)據(jù)給予適當(dāng)?shù)奶幚怼?shù)據(jù)集中部分?jǐn)?shù)據(jù)的缺失,不但增大了數(shù)據(jù)集的不確定性,也影響了算法的執(zhí)行。缺失值產(chǎn)生的原因主要來自機(jī)械和人為因素。從缺失值的分布來看,可以分為完全隨機(jī)缺失、隨機(jī)缺失和完全非隨機(jī)缺失。從缺失值的所屬屬性上講,如果所有的缺失值都是同一屬性,那么這種缺失稱為單值缺失,如果缺失值屬于不同的屬性,則稱為任意缺失。部分特征數(shù)據(jù)缺失值情況統(tǒng)計(jì)見表4。
表4 部分特征缺失個(gè)數(shù)Tab.4 The missing number of partial feature
常用數(shù)據(jù)缺失值處理方法:
(1)置0 處理法:將缺失值置為0,這種方法實(shí)現(xiàn)起來比較簡單,但是容易造成較大的誤差。
(2)均值處理法:用某一列特征所具有數(shù)據(jù)的平均值填充這一列的空值。如果出現(xiàn)特征數(shù)據(jù)為非數(shù)據(jù)的形式,可以選擇頻次最高的數(shù)據(jù)作為數(shù)據(jù)的填充值。此種方法在數(shù)據(jù)挖掘中應(yīng)用廣泛,方法便捷。
(3)最近鄰填充處理法:根據(jù)各種距離計(jì)算公式,計(jì)算兩個(gè)樣本之間的距離,確定空缺值所在的樣本與其最接近的樣本,對k個(gè)最接近的樣本加權(quán)平均得到空缺值所需的數(shù)據(jù)。
(4)模型填充:把缺失值作為新的標(biāo)簽,基于已有的完整信息建立模型,對數(shù)據(jù)擬合,將訓(xùn)練好的模型預(yù)測缺失值進(jìn)行填補(bǔ)。常用隨機(jī)森林等擬合填充空值,線性回歸預(yù)測空缺值。但是該方法的空缺值過多將會影響最終的預(yù)測結(jié)果。
(5)刪除所有空缺值所在的屬性列值:這種方式適合空缺值較多、屬性多、被刪除的特征屬性具備較多空值的情況,否則將嚴(yán)重影響最終的預(yù)測結(jié)果。
在缺失值處理方法上,本文針對只有少量數(shù)據(jù)缺失的數(shù)據(jù)列采用了置0 處理法和均值處理法。如:腫瘤大小a、腫瘤數(shù)量等。對于像腫瘤大小c 這樣有大量數(shù)據(jù)均缺失的數(shù)據(jù)列,采用了直接刪除屬性列的方式。
2.1.5 數(shù)據(jù)歸一化
數(shù)據(jù)清洗以及缺失值處理后,由于各項(xiàng)指標(biāo)的區(qū)間不同,其表達(dá)的特征維度也都不同。為了使各列數(shù)據(jù)對于預(yù)測結(jié)果的貢獻(xiàn)相同,模型訓(xùn)練的參數(shù)處于同一量級,需要將特征進(jìn)行放縮到相同量級,進(jìn)行數(shù)據(jù)歸一化的結(jié)果就是將特征縮放到相同量級。
數(shù)據(jù)歸一化常用方法有如下兩種:
(1)最大最小標(biāo)準(zhǔn)化(Min-Max Normalization)
對數(shù)列x1,x2,…,xn進(jìn)行變換:
則新數(shù)列y1,y2,…,yn∈[0,1]。其中,min{xj}為數(shù)列x中的最小值,max{xj} 為數(shù)列x中的最大值。
(2)Z-score 標(biāo)準(zhǔn)化方法
則得到的數(shù)列y1,y2,…,yn均值為0,方差為1。
本文采用了最大最小標(biāo)準(zhǔn)化(Min- Max Normalization)方法對數(shù)據(jù)進(jìn)行歸一化處理。數(shù)據(jù)歸一化后的部分結(jié)果見表5。
表5 部分?jǐn)?shù)據(jù)MinMax 數(shù)據(jù)歸一化結(jié)果Tab.5 Partial data Minmax data normalization results
2.1.6 特征工程
特征工程的目的,是探索特征對于預(yù)測任務(wù)的重要性及影響,從而提取更加有效,對結(jié)果影響更加顯著的特征,提高預(yù)測的穩(wěn)定性、魯棒性,避免引入過多噪聲數(shù)據(jù)列。由于該數(shù)據(jù)集中包含了大量的特征,且在疾病預(yù)測的任務(wù)上許多醫(yī)療檢測指標(biāo)都沒有實(shí)際的醫(yī)學(xué)意義的影響,因此需要對數(shù)據(jù)進(jìn)行特征工程,提取更加有效的特征作為預(yù)測模型的輸入。
本文共采用了6 個(gè)特征工程的方法,來對數(shù)據(jù)進(jìn)行操作。
(1)Pearson 相關(guān)系數(shù):Pearson 相關(guān)系數(shù)是一種能夠幫助理解特征和響應(yīng)變量之間關(guān)系的方法。該方法衡量的是變量之間的線性相關(guān)性。
(2)隨機(jī)森林(Random Froest):隨機(jī)森林就是通過集成學(xué)習(xí)的思想將多棵決策樹組合在一起,其基學(xué)習(xí)器是決策樹。
(3)邏輯回歸(Logistic regression):邏輯回歸主要思想是,根據(jù)現(xiàn)有數(shù)據(jù)對決策邊界建立回歸方程后,將回歸方程映射到分類函數(shù)上,實(shí)現(xiàn)分類。
在團(tuán)場綜合配套改革中,十二師一〇四團(tuán)15個(gè)社區(qū)新一屆“兩委”班子成員,在各級黨委的支持下,在上屆領(lǐng)導(dǎo)的幫助指導(dǎo)下,迅速轉(zhuǎn)變角色,積極開展工作,取得了可喜的成績。
(4)平均準(zhǔn)確度減少(Mean accuracy reduction):平均準(zhǔn)確度減少是通過將某個(gè)特征隨機(jī)打亂,使其表達(dá)的信息紊亂,計(jì)算在此情況下模型預(yù)測準(zhǔn)確度減少的比率,來判斷特征重要性的方法。平均準(zhǔn)確度減少也是隨機(jī)森林特征工程方法中重要的度量方式,在實(shí)現(xiàn)時(shí)也使用隨機(jī)森林作為基準(zhǔn)模型。
(5)遞歸特征消除(Recursive feature elimination):遞歸特征消除的主要思想是,反復(fù)構(gòu)建模型并選出最好或最差的特征,消除此特征,并不斷重復(fù),直到所有特征都被遍歷,這個(gè)過程中特征的消除次序表示了特征的排序,因此這也是一種尋找最優(yōu)特征子集的貪心算法。
(6)互信息與最大信息樹(Mutual information and maximum information tree):通過尋找一種最優(yōu)的離散化方式,將互信息取之轉(zhuǎn)換為度量方式,對不同變量之間的距離進(jìn)行度量,從而判斷關(guān)系最密切的變量。
通過以上特征工程方法,可以得出腫瘤數(shù)量是最核心特征的結(jié)論。為了探索特征工程的有效性,本文采用了邏輯回歸模型,得到不同特征下評價(jià)指標(biāo)的結(jié)果見表6。
表6 不同特征下評價(jià)指標(biāo)結(jié)果Tab.6 Evaluation index results in different characteristics
從表6 可以看出,相比于其它特征,腫瘤數(shù)量是最核心的特征,其它特征的重要性并不高,甚至?xí)窃胍簦斐烧`診。
2.1.7 樣本不均衡處理
數(shù)據(jù)不平衡是指在數(shù)據(jù)集中,不同類別的樣本數(shù)量差距很大。如:在病人是否得癌癥的數(shù)據(jù)集上,可能絕大部分的樣本類別都是健康的,只有極少部分樣本類別是患病的,這樣會給預(yù)測帶來極大地噪聲。為了消除這些噪聲,處理數(shù)據(jù)的過程,稱之為數(shù)據(jù)不平衡處理。數(shù)據(jù)不平衡處理的常用方法有重采樣、過采樣和欠采樣,使采樣的樣本標(biāo)簽均衡;有類別加權(quán),調(diào)整不同的標(biāo)簽類別的權(quán)重來處理不平衡數(shù)據(jù)等。
本任務(wù)中,統(tǒng)計(jì)類別為0,即無早期復(fù)發(fā),與類別為1,即早期復(fù)發(fā)的樣本比例,負(fù)樣本數(shù)量為787,正樣本數(shù)量為765,二者比值約為1 ∶1,說明數(shù)據(jù)相對均衡,無需進(jìn)行數(shù)據(jù)不平衡處理。
數(shù)據(jù)輸入時(shí),需要將預(yù)處理好的數(shù)據(jù)轉(zhuǎn)換為模型可以接受的輸入形式。首先要讀取預(yù)處理好的數(shù)據(jù),這里使用了文件存儲讀取的方式。由于數(shù)據(jù)中包含了許多隨訪時(shí)間未達(dá)到24 個(gè)月的未復(fù)發(fā)樣本,為保證數(shù)據(jù)分布的一致性,將其劃定為非早期復(fù)發(fā)并將其過濾掉。通過特征工程得到的特征排序,可以選定重要的特征來進(jìn)行預(yù)測,避免引入過多的噪聲。最后,將處理好的數(shù)據(jù)轉(zhuǎn)換為NumPy 的數(shù)組形式,以便被預(yù)測模型接受并使用。
模型訓(xùn)練部分使用sklearn 自帶的機(jī)器學(xué)習(xí)模型,選擇了邏輯回歸、隨機(jī)森林、SVM 支持向量機(jī)、GBDT 梯度提升樹4 種模型。
將這4 種機(jī)器學(xué)習(xí)模型采用準(zhǔn)確率、精確率、召回率和AUC 4 個(gè)指標(biāo)來評價(jià),評價(jià)結(jié)果見表7。
表7 學(xué)習(xí)模型指標(biāo)結(jié)果Tab.7 Learning model evaluation results
由于數(shù)據(jù)分布規(guī)則性較差,邏輯回歸和SVM 支持向量機(jī)表現(xiàn)相對較差。由表7 可以看出,集成學(xué)習(xí)模型、隨機(jī)森林和GBDT 梯度提升樹,在此任務(wù)上更加有效穩(wěn)定,因此選擇這兩類模型來進(jìn)行訓(xùn)練與測試。
為了探索肝癌早期復(fù)發(fā)的閾值,設(shè)計(jì)了對閾值進(jìn)行選擇的函數(shù)。通過設(shè)置不同的閾值,為數(shù)據(jù)進(jìn)行重標(biāo)簽,使用此閾值條件下的數(shù)據(jù)得到的AUC 分?jǐn)?shù)結(jié)果作為該閾值的評價(jià),來對閾值進(jìn)行排序,得到最優(yōu)的閾值。為了避免偶然性導(dǎo)致的結(jié)果不穩(wěn)定,對每個(gè)閾值條件下的數(shù)據(jù)隨機(jī)排序,進(jìn)行了復(fù)數(shù)次計(jì)算,將多次得分的均值作為最終結(jié)果。
本次實(shí)驗(yàn)分析所用到的原始數(shù)據(jù)是以xls 文檔的形式保存的,可以用Python 自帶的Pandas 處理。數(shù)據(jù)每一行表示一個(gè)病人的隨訪記錄,包含其基本信息以及檢測的各項(xiàng)指標(biāo);每一列表示一類相關(guān)信息,包括年齡、性別等基本信息和腫瘤數(shù)量等病歷信息與醫(yī)學(xué)檢測指標(biāo)。數(shù)據(jù)基本描述見表8。
表8 數(shù)據(jù)的基本描述Tab.8 The basic description of the data
從中可以看出,數(shù)據(jù)共有1 734 行、47 列,患者基礎(chǔ)數(shù)據(jù)有3 列,基礎(chǔ)檢驗(yàn)指標(biāo)有39 列,腫瘤相關(guān)指標(biāo)有4 列。由此可見,數(shù)據(jù)數(shù)量較多,可以用來預(yù)測的數(shù)據(jù)列龐大,正負(fù)樣本數(shù)量約為1 ∶1,數(shù)據(jù)相對平衡。
機(jī)器學(xué)習(xí)模型需要進(jìn)行調(diào)參來獲取較好的預(yù)測結(jié)果,本文選擇了網(wǎng)格搜索法來進(jìn)行參數(shù)的搜索。在GBDT 模型中,主要搜索決策樹數(shù)量和學(xué)習(xí)率兩個(gè)參數(shù);在隨機(jī)森林模型中,主要搜索決策樹數(shù)量和劃分標(biāo)準(zhǔn)兩個(gè)參數(shù)。最優(yōu)參數(shù)的評價(jià)指標(biāo)選擇了AUC數(shù)值,獲取到最優(yōu)的參數(shù)后,使用五折交叉驗(yàn)證的方式進(jìn)行模型的訓(xùn)練與測試。
在模型評價(jià)方面,選擇了準(zhǔn)確率、精確率、召回率和AUC4 個(gè)指標(biāo)進(jìn)行評價(jià)。其中,準(zhǔn)確率為預(yù)測正確數(shù)量的個(gè)數(shù)占總預(yù)測數(shù)量個(gè)數(shù)的比重;精確率為正確預(yù)測為正的數(shù)量占全部預(yù)測為正的數(shù)量比例;召回率為正確預(yù)測為正的數(shù)量占全部實(shí)際為正的數(shù)量的比例。AUC定義為ROC 曲線下的面積,這個(gè)面積的數(shù)值越接近1(數(shù)值不會大于1),則說明模型效果越好。其中對于疾病預(yù)測問題,AUC和召回率的結(jié)果更加有價(jià)值,更適合此問題的評價(jià)指標(biāo)。本文最終選擇將AUC作為最主要評價(jià)指標(biāo)。在GBDT 和隨機(jī)森林兩種模型中,最終選擇了GBDT梯度提升樹,并在0.05 的學(xué)習(xí)率、80 迭代次數(shù)的參數(shù)條件下進(jìn)行驗(yàn)證。
GBDT 梯度提升樹在0.05 的學(xué)習(xí)率,80 的迭代次數(shù)的參數(shù)條件下。準(zhǔn)確率、精確率、召回率和AUC4 個(gè)指標(biāo)的結(jié)果見表9。
表9 模型測試結(jié)果Tab.9 Model test results
通過模型訓(xùn)練與預(yù)測的結(jié)果可以看出,準(zhǔn)確率的數(shù)值達(dá)到了0.695,說明正確預(yù)測的概率可以達(dá)到近70%;而精確率的數(shù)值達(dá)到了0.720,說明有72%的概率可以正確預(yù)測結(jié)果。本實(shí)驗(yàn)采用的數(shù)據(jù)集正負(fù)樣本比例為1:1,不存在數(shù)據(jù)不平衡的情況,因此準(zhǔn)確率則能較好的說明問題;召回率的數(shù)值達(dá)到了0.631,說明有63%的概率可以正確估計(jì)正樣本;而主要評價(jià)指標(biāo)AUC的值達(dá)到了0.765 5,是一個(gè)較為不錯(cuò)的數(shù)值。因此,可以大致認(rèn)為,在肝癌早期復(fù)發(fā)預(yù)測問題上,此數(shù)據(jù)可以得出一個(gè)可信的結(jié)果。
本文從數(shù)據(jù)而非醫(yī)學(xué)的角度,對肝癌復(fù)發(fā)問題進(jìn)行了預(yù)測研究。相對于傳統(tǒng)醫(yī)療手段(包括但不僅限于B 超檢查、增強(qiáng)CT 和核磁檢查等)的預(yù)測方法,本實(shí)驗(yàn)僅依賴一份數(shù)據(jù)表便得出了極高準(zhǔn)確度的預(yù)測結(jié)果,很大程度上節(jié)約了人力、物力、財(cái)力,對醫(yī)學(xué)上的病人是否會復(fù)發(fā)肝癌提供了一種簡單并且準(zhǔn)確的判斷方式,對醫(yī)學(xué)上病人是否會復(fù)發(fā)的初步判斷,提供了強(qiáng)有力的手段。同時(shí),數(shù)據(jù)并不會產(chǎn)生任何的環(huán)境污染和能源消耗,相對于醫(yī)學(xué)檢查來說,極大地節(jié)約了資源和保護(hù)了環(huán)境,符合綠色發(fā)展的觀念,具有非常深遠(yuǎn)的意義。
在各個(gè)閾值條件下,模型預(yù)測AUC的結(jié)果,整體呈現(xiàn)遞增趨勢,即閾值時(shí)間越靠后,預(yù)測的準(zhǔn)確率越高,結(jié)果越可信。然而對于疾病預(yù)測這種特殊的任務(wù),通常認(rèn)為時(shí)間靠后導(dǎo)致病人就醫(yī)的成本顯著提升,因此簡單地以預(yù)測結(jié)果的可信程度作為閾值選擇的因素不符合現(xiàn)實(shí)。
為解決這一問題,本文選擇得分相對提升最大的時(shí)間作為閾值,即最優(yōu)閾值應(yīng)當(dāng)滿足相比更小的閾值,得分提升盡可能大,而相比更大的閾值,得分降低盡可能小。經(jīng)過反復(fù)實(shí)驗(yàn)后,得到的最優(yōu)閾值為12 個(gè)月的可能性最大,因此從數(shù)據(jù)的角度來看,肝癌的早期復(fù)發(fā)預(yù)測的閾值被設(shè)置為12 個(gè)月。
現(xiàn)代醫(yī)學(xué)上普遍將12 個(gè)月作為肝癌早期復(fù)發(fā)的閾值,而本文在大量實(shí)驗(yàn)的基礎(chǔ)上,得出肝癌復(fù)發(fā)預(yù)測的最優(yōu)閾值為12 個(gè)月的概率高達(dá)84.615%,不管是從醫(yī)學(xué)角度還是從數(shù)據(jù)角度,都說明了肝癌復(fù)發(fā)預(yù)測的最優(yōu)閾值為12 個(gè)月的結(jié)論。這對現(xiàn)代醫(yī)學(xué)上肝癌早期復(fù)發(fā)的預(yù)測問題具有一定的參考和指導(dǎo)意義。如果在為病人問診時(shí)醫(yī)生能將這一因素的參考權(quán)重增大,就可能盡早發(fā)現(xiàn)病人的異常情況,從而輔助醫(yī)療決策,具有很強(qiáng)的實(shí)用意義和現(xiàn)實(shí)意義。
肝癌早期復(fù)發(fā)預(yù)測是肝癌術(shù)后護(hù)理的重要問題,本文應(yīng)用數(shù)據(jù)挖掘技術(shù),通過對數(shù)據(jù)進(jìn)行缺失值補(bǔ)全,特征工程等處理,并搭建機(jī)器學(xué)習(xí)模型,對肝癌早期復(fù)發(fā)進(jìn)行預(yù)測。實(shí)驗(yàn)結(jié)果表明,本文應(yīng)用的自動(dòng)化數(shù)據(jù)挖掘技術(shù),在疾病預(yù)測的準(zhǔn)確性上實(shí)現(xiàn)了前沿的結(jié)果,可以為肝癌患者的預(yù)后診斷提供指導(dǎo)性意見。同時(shí),本文探索的肝癌早期復(fù)發(fā)閾值是基于客觀數(shù)據(jù)得到的,可以為醫(yī)學(xué)視角下的肝癌復(fù)發(fā)病理研究提供幫助。
雖然本文在肝癌早期復(fù)發(fā)預(yù)測上準(zhǔn)確率較高,但由于數(shù)據(jù)量與數(shù)據(jù)特征有限,在臨床應(yīng)用上依然不可避免地存在著偏置性。通過擴(kuò)大數(shù)據(jù)量,引入更加專業(yè)相關(guān)度更高的醫(yī)學(xué)指標(biāo),是后續(xù)研究重點(diǎn)關(guān)注的方向。