?

基于Stacking集成學習的肺癌患者存活性預測模型研究

2024-03-14 07:38紀江明
湖州師范學院學報 2024年2期
關鍵詞:貝葉斯存活分類器

紀江明,趙 玲

(1.湖州師范學院 經濟管理學院,浙江 湖州 313000; 2.湖州師范學院 信息工程學院,浙江 湖州 313000)

0 引 言

肺癌是惡性腫瘤中對人們生命造成最大威脅的一種疾病[1].2022年,中國癌癥統計數據表明,肺癌發病率非常高.根據最新癌癥死亡率調查報告顯示,在前十大癌癥死亡率排行榜中,無論男性還是女性,肺癌患者的死亡率都高居榜首.因此,醫務人員每天都會面臨同樣的臨床問題:患者發病后的最終結局是存活還是死亡,即肺癌患者存活性預測.存活是指未來一段時間內的生活狀態是活著.肺癌患者存活性預測非常重要,它可以輔助醫生做出更準確的醫療決策[2-3].

當今機器學習算法發展十分迅速[4],很多算法都被運用到智慧醫療中,如隨機森林[5-6]、人工神經網絡[7-8]、支持向量機[9-10]、邏輯回歸[11]等.眾多學者的研究成果影響力很大.例如:王月等通過研究改進最大最小爬山算法來提高肺癌患者存活性模型的準確率[12];王宇燕等使用智能優化算法對隨機森林進行改進,從而構建出一種新的GA-RF模型,對直腸癌患者存活性進行預測[12];Tapak等采用8種性能不同的機器學習算法進行乳腺癌患者存活性的預測[14],實驗結果表明支持向量機得到的效果是最優的;Delen等利用決策樹、邏輯回歸、神經網絡和支持向量機對結直腸癌患者存活性進行預測,實驗結果驗證了支持向量機得到的結果性能最佳,與Tapak等所得出的結論一致[15].

這些算法也被運用到癌癥患者的存活性預測研究中,且多數是使用單獨的模型進行訓練的,如文獻[14][15]分別將數據集輸入到單獨的模型訓練后進行結果測試.單一模型大多表現出運行時間稍長、泛化性能較差等缺點.而Stacking集成學習方法可以融合多個模型來彌補單一模型帶來的缺陷.本研究以XGBoost、SVM和LR為基學習器,以樸素貝葉斯為元學習器,通過Stacking[16]集成學習方法來構建一個新的模型.

1 相關理論與技術

1.1 XGBoost模型

XGBoost[19]是一個優化的分布式梯度增強庫,可以達到高效、靈活的目的.該模型所采用的樹模型是CART回歸樹模型,其主要思想是:不停地增加新的樹,每經歷一次特征的分裂,就會增加一棵新的樹,且每一棵新的樹都會用到一個新函數,將之前預測的殘差值擬合在一起,在訓練結束后,就會得到K棵樹.想要得到預測樣本所對應的分數,就要按照該樣本的特征,尋找到與其相對應的葉子節點,而每個葉子節點都有一個分數值,最終的預測值就是把每棵樹所對應的分數進行求和.XGBoost整體流程見圖1.

圖1 XGBoost流程

1.2 邏輯回歸模型

邏輯回歸(LR)[11]是一種廣義線性回歸模型,該模型簡單易理解,具有不需要進行大量輸入特征的縮放運算、內存資源占用極少等優勢.該模型直接對分類的可能性進行建模,且運用極大似然函數推導損失函數和降維操作,對數據實行二分類操作.

1.3 支持向量機模型

支持向量機(SVM)[9-10]是廣義線性分類器,其按照監督學習的方式對數據進行二元分類.該模型最主要的目的是尋找到一個最佳的決策邊界,以更加準確地將樣本分類.

肺癌存活性預測問題是非線性問題,其支持向量機的目標函數為:

f(x)=wT·φ(x)+b,

(1)

其中,x為輸入數據,w為權向量,b為偏置向量.

再利用極大化間隔的思想,最終得到的分類決策函數為:

(2)

其中,K(xi,x)為核函數,〈φ(xi)·φ(x)〉為映射到高維特征空間兩個點的內積.

1.4 樸素貝葉斯模型

樸素貝葉斯[20]分類算法是基于貝葉斯原理和特性條件的獨立假定而提出的,在訓練一個目標數據集時,第一步要確保其聯合的概率分布是根據學習輸入/輸出之間的基本特征條件進行獨立假設的;第二步是通過該模型輸入已知的驗證參數x;第三步是根據貝葉斯定理得出輸出參數y,該參數y的后檢驗機率相對較大.樸素貝葉斯實現容易,準確率也很高.

1.5 Stacking集成學習

Stacking是組合多個異質分類器的集成學習方法[16].它不是指某一個模型,而是指一種思想,其主要作用是結合多個基學習器的優點,組建成一個更加強大的模型.一個基本的兩層Stacking算法流程見圖2.

圖2 兩層的Stacking模型

2 肺癌患者存活性預測模型構建

2.1 數據來源與預處理

本文所用到的數據集來自美國公開的數據庫——SEER數據庫.該數據庫擁有數10年的美國各個地方癌癥患者的醫療記錄,其被大眾認為是全世界最具影響力的癌癥統計數據庫[15].登錄SEER的官網(http://www.seer.cancer.gov)可免費獲取相應的數據.

在該數據庫中,關于肺癌的數據集有149個特征,且每個特征的記錄都與特定的癌癥發病率息息相關.在實驗前,需要對這個數據庫中關于肺癌數據集的特征和數據的相關資料進行深入了解,并對此數據集進行初始預處理和數據清洗,最終在肺癌數據集中篩選出17個屬性,見表1.

表1 肺癌數據集選取的屬性

在機器學習建模中,數據的好壞會直接影響模型的準確率等性能,因此數據的處理顯得非常重要.本實驗選取SEER數據庫2008—2017年的肺癌患者記錄,其包含57萬多條記錄.該數據集存在一些值缺失現象,如有些屬性為“Unknown”.一般來講,缺失值的處理方法主要有刪除法、人工填寫缺失值、使用全局常量填充缺失值等方法.由于該數據集的數據量很多,為避免填充缺失值所造成的額外干擾,本實驗采取最簡單的刪除法來解決缺失值問題.

本實驗以肺癌患者5年內存活情況為研究目標,選擇病人在術后存活狀況Vital status recode (study cutoff used)為結果變量.這是個二分類問題,如果病人的存活時間大于等于60個月,則結果變量改為存活(視為1);如果病人的存活時間小于60個月,則結果變量改為死亡(視為0).

本實驗主要預測肺癌患者的存活性,因此只考慮Sequence number-Central值為00的情況.這個屬性的含義是描述患者醫生可以報告的原發腫瘤的數量和順序的編碼.若某一患者在開始時就被查出惡性腫瘤,則它的值為00;若經過一段時間體內發現第二種惡性腫瘤,則它的值就會由00轉為01.

由于數據量太大,所以要適當縮小數據量[15].本文縮小數據量的方法為:在正負樣本數據量平衡的基礎上,將正負例全部分開,并在正例中不放回隨機選取500個樣本,同樣在負例中不放回隨機選取500個樣本,最終形成由1 000個樣本組成的實驗數據集.

肺癌患者存活性影響因素的SHAP值分析見圖3.由圖3可知:“Reason no cancer-directed surgery”“Regional nodes positive(1988+)”“Regional nodes examined (1988+)”“Age recode with <1 year olds”“Grade (thru 2017)”“RX Summ-Surg Prim Site (1998+)”“Histologic Type ICD-O-3”等因素對肺癌患者5年存活性的影響較大,且經手術治療的患者的存活性越大;陽性淋巴結的數量越高,患者的死亡率越高;組織學等級越高,肺癌患者的死亡率越高.這些都與臨床醫生的經驗大致相符.

圖3 肺癌患者存活性影響因素的SHAP值分布

2.2 構建肺癌患者存活性預測模型

對Stacking算法而言,要使最終的模型性能得到質的提升,學習器的選擇非常重要.選擇合適的基學習器和元學習器能最大程度地發揮取長補短的效果.

基學習器的選擇一般要注意以下幾點:①每個學習器的預測效果性能要接近,且要相對優秀;②要保證選擇的學習器有一定的差異性.XGBoost雖然簡單易用、魯棒性強、高效可擴展,但也有一些缺點,如不適合處理結構化的數據、算法的參數過多等.SVM具有不容易過擬合的最佳超平面.邏輯回歸具有不需要縮放輸入特征、占用內存少、簡單易理解等優點.以上3種異質算法的差異性,保證了元學習器的改善空間,使得模型的整體預測性能得到提升.因此,選擇XGBoost、SVM和邏輯回歸作為基學習器,能夠更好地發揮每一個基學習器的優勢.

元學習器一般選擇泛化能力比較好的模型或簡單的模型,這樣可避免過擬合的現象產生.隨機森林可通過降低方差的方法來提高模型的預測能力,是泛化能力較強的模型.樸素貝葉斯模型是較為簡單的模型.本文將這兩個模型作為候選的元學習器.在不同組合方式下,Stacking模型的預測結果會不同.其部分實驗結果見表2.本實驗選擇樸素貝葉斯作為元學習器來提升模型的準確率和穩定性.

表2 不同模型組合后的預測結果

本實驗以XGBoost、SVM、LR為基學習器,以樸素貝葉斯為元學習器.新的預測模型見圖4.

圖4 肺癌患者存活性預測模型

在實驗過程中,選取合適的超參數組合可提升模型的準確率等性能.本文采用Grid Search網格搜索方法[21].該方法主要的作用是:在指定范圍內自動調整參數,將所有可能的取值進行排列組合,羅列出所有可能的組合結果并形成“網格”,再對模型進行訓練,從而找到表現最優的一組最優超參數.其實質就是窮舉法,遍歷所有組合,從中選擇一組最好的超參數組合.相較于人工調整參數而言,該方法更加省時、省力.

當用Grid Search網格搜索方法尋找最優超參數時,如果網格設置范圍大且步長較密集,則消耗時間就會較長;如果范圍太小且步長太大,則會找不到最優超參數.最根本的解決辦法是在范圍大且步長大的網格中尋找參數,在找到合適的參數組合后,再設置更為密集的步長尋找更優的超參數.

采用Grid Search網格搜索方法,會出現訓練集效果優于測試集效果的現象.這是因為當訓練集用于超參數調整時,超參數會被調整為在訓練集上表現效果最優的情況.所以,為避免實驗結果值忽上忽下的問題,本文運用十折交叉驗證方法[22],以減少實驗結果的偶然性,即先將原始的數據集劃分成訓練集和測試集兩個部分,再將訓練集分成相同數量的10份,每次選取9份數據作為訓練數據進行訓練,剩下的1份數據作為驗證數據,整個過程重復10次,并將準確率等性能指標的平均值作為最終的模型評價指標.

3 存活性預測實驗

3.1 分類性能評價方法

模型的性能好壞是需要一定的標準來衡量的.本文采用準確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1分數(F1_score)、AUC(Area Under Curve)指標評估模型.以上所有指標都是根據混淆矩陣中的參數來計算的.混淆矩陣也叫“誤差矩陣”,它是一個可視化工具,一般用于比較分類器訓練的結果和實際值.其結構見表3.

表3 混淆矩陣

TP(True Positive):真正例,樣本本身是正例,分類器分類也為正例.

TN(True Negative):真負例,樣本本身是負例,分類器分類也為負例.

FP(False Positive):假正例,樣本本身是負例,但分類器分類為正例.

FN(False Negative):假負例,樣本本身是正例,但分類器分類為負例.

準確率:分類器分類正確的部分所占的百分比,在本實驗中是測量分類器能夠準確分辨肺癌患者存活性的能力.其計算公式為:Accuracy =(TP+TN)/(TP+TN+FP+FN).

精確率:用來衡量分類器區分正類占實際正例的占比.其計算公式為:Precision = (TP)/(TP+FP).

召回率:用來衡量分類器正確預測肺癌患者死亡的能力.計算公式為:Recall =(TP)/(TP+FN).

F1指標:綜合衡量精確率和召回率兩個指標,其計算公式為:F1=(2×Precision×Recall)/(Recall+Precision).

以上所有指標值越大,說明實驗模型的性能越佳.

3.2 實驗過程與結果

本次實驗使用python語言,并在MacOS環境下運行,內存為16 GB.在建立模型前,先對處理后的數據集進行劃分,劃分的比例為8∶2,即訓練集占整個數據集的80%,測試集占整個數據集的20%.本實驗采用上述所描述的網格搜索方法找到每個模型的最優超參數,并采用十折交叉驗證方法對其進行測驗,從而得到最優超參數,見表4.

表4 各模型最優超參數

為驗證該模型具有更好的存活性預測性能,本文將集成后的肺癌存活性預測模型與單一的支持向量機、XGBoost、邏輯回歸和樸素貝葉斯模型進行對比分析.從準確率、精確率、召回率、F1分數、AUC指標等方面進行比較,對比的結果見表5.為更直觀地表達肺癌患者存活性預測模型的性能優勢,本文以圖形的形式表達實驗結果.圖5是5種模型經過十折交叉驗證后的準確率比較圖;圖6是精確率比較圖;圖7是召回率比較圖;圖8是F1分數比較圖;圖9是AUC結果比較圖.

表5 各模型性能指標評估結果

圖5 經過十折交叉驗證的準確率比較圖

圖6 經過十折交叉驗證的精確率比較圖

圖7 經過十折交叉驗證的召回率比較圖

圖8 經過十折交叉驗證的F1分數比較圖

圖9 經過十折交叉驗證的AUC比較圖

通過表5和圖5至圖9可以得出,LR、SVM、XGBoost、樸素貝葉斯模型的準確率均值分別為:0.795、0.773、0.750、0.757;精確率均值分別為:0801、0.736、0.736、0.736;召回率均值分別為:0.786、0.854、0.816、0.802;F1分數均值分別為:0.793、0.790、0.770、0.767;AUC均值分別為:0.862、0.828、0.792、0.822.通過Stacking方法集成后,模型的準確率均值為0.850,比單一模型提高10%;精確率均值為0.851,比單一模型提高11%;召回率均值為0.865,比單一模型提高8%;F1分數均值為0.855,比單一模型提高9%;AUC分數均值為0.897,比單一模型提高10%.總體來說,通過Stacking集成后,模型的性能顯著提升,表明集成后的模型比單一模型更適合肺癌患者的存活性預測.

4 結論與討論

本文基于SEER數據庫真實的肺癌數據,以肺癌患者5年存活狀態為目標,構建基于Stacking集成學習的肺癌患者存活性預測模型.首先,對獲取的數據進行分析,研究其相關特征,并對數據進行預處理,以減少異常數據對實驗造成的影響;其次,根據XGBoost特征重要性得分的高低進行特征選擇.本文以XGBoost、SVM和LR為基學習器,以樸素貝葉斯模型為元學習器,構建新的肺癌患者存活性預測模型,其準確率達85%.

邏輯回歸采用Sigmoid函數,將線性模型的結果壓縮為0~1,使其擁有概率意義.支持向量機最大的優點在于在特征空間中能尋找到使正負類間隔最大的超平面.在這兩個模型的基礎上,再融合XGBoost模型.由于XGBoost模型用到損失函數的二階泰勒展開,所以與損失函數更接近,收斂速度更快;在損失函數中加入正則項,可以有效控制模型的復雜度,防止產生過擬合現象.融合后的模型相較原有的基學習器,準確率得到很大提升.

綜上所述,通過集成融合方法的模型有著較強的穩定性.將該方法推廣到醫療預后,可以輔助醫務人員做出更準確的醫療決策,彌補經驗的不足,增加癌癥患者的滿意度,節約醫療資源,降低醫療成本.本研究還存在一些不足:機器學習的特征選擇方法有很多,而本研究采用XGBoost特征重要性得分的高低來進行特征選擇,沒有與其他特征選擇方法進行對比.后期需要進一步選擇不同的特征選擇方法做進一步的對比分析.

未來的學習研究可以將肺癌患者存活性預測具體到肺癌患者存活期的預測,也可進一步研究癌癥的轉移和復發的可能性預測,在提高模型的普適性和實用價值的同時,更好、更精確地輔助醫生做出醫療決策.

猜你喜歡
貝葉斯存活分類器
病毒在體外能活多久
病毒在體外能活多久
BP-GA光照分類器在車道線識別中的應用
貝葉斯公式及其應用
加權空-譜與最近鄰分類器相結合的高光譜圖像分類
結合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
基于貝葉斯估計的軌道占用識別方法
飛利浦在二戰中如何存活
一種基于貝葉斯壓縮感知的說話人識別方法
131I-zaptuzumab對體外培養腫瘤細胞存活的影響
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合