葉琳 石勝源 羅鐵清



摘? 要: 為了研究AdaBoost算法在乳腺癌疾病預測中的應用,收集乳腺癌診斷數據集并按照一定的比例拆分成測試數據和訓練數據。利用AdaBoost、GaussianNB、KNeighbors算法模型分別進行測試,以準確率為評價標準來評價模型性能的好壞。當測試數據占30%時,AdaBoost算法模型預測乳腺癌疾病優于其他算法模型,準確率為96.49%。通過綜合評價機制考察發現,AdaBoost算法模型能從復雜的多因素中找到預測乳腺癌的重要影響因素,這對快速識別引起乳腺癌疾病的特征以及早期病人的有效治療具有重要意義。
關鍵詞: 乳腺癌; 機器學習; AdaBoost; 診斷預測
中圖分類號:TP391.41;TP181;R737.9? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2021)07-61-04
Study of AdaBoost algorithm application in breast cancer disease prediction
Ye Lin, Shi Shengyuan, Luo Tieqing
(School of Informatics, Hunan University of Chinese Medicine, Changsha, Hunan 410208, China)
Abstract: In order to study the application of AdaBoost algorithm in breast cancer disease prediction, breast cancer diagnostic data sets were collected and divided into the test data and training data according to a certain proportion, which were be used respectively in the test with AdaBoost, GaussianNB, and KNeighbors algorithm models, and the accuracy rate was used as the evaluation criteria to evaluate the performance of model. When the test data accounted for 30%, the AdaBoost algorithm model predicted breast cancer disease better than the other algorithm models, with an accuracy of 96.49%. Through the investigation with comprehensive evaluation mechanism, it is found that AdaBoost algorithm model can find the important influencing factors for predicting breast cancer from complex multiple factors, which is of great significance for rapid identification of the characteristics of breast cancer diseases and effective treatment of early patients.
Key words: breast cancer; machine learning; AdaBoost; diagnostic prediction
0 引言
Hyuna Sung[1]等人在癌癥領域頂級專刊《CA:A Cancer Journal for Clinicians》(IF≈292)發表題為《Global cancer statistics 2020:GLOBOCAN estimates of incidence and mortality worldwide for 36 cancers in 185 countries》的研究論文,論文對全球癌癥疾病負擔信息進行了更新。2020年,全球估計有1930萬新發癌癥病例。全球癌癥發病率前五名依次是乳腺癌(226萬,11.7%)、肺癌(221萬,11.4%)、結直腸癌(193萬,10.0%)、前列腺癌(141萬,7.3%)、胃癌(109萬,5.6%)。由此可見,乳腺癌已經成為全球第一大癌癥,具體情況如圖1所示。
值得思考的是,第二名肺癌男女均會患病,乳腺癌患者超過99%為女性,而女性人數約占全球總人口的一半,但乳腺癌新發病人數居然超過了肺癌,這是我們必須要重視的。由于乳腺癌診斷十分復雜,因此借助機器學習相關算法模型來對乳腺癌進行準確評估和預測迫在眉睫。本文將AdaBoost與GaussianNB、KNeighbors算法模型做對比,最終發現AdaBoost算法模型相較于另外兩種算法模型能夠更為準確的預測乳腺癌,實驗步驟如圖2所示。
1 對象與方法
1.1 研究對象
本文實驗所用的乳腺癌數據來源于UCI repository[2]上美國威斯康星州乳腺癌(診斷)數據集中部分數據,共計569例,數據信息包括id(標識),diagnosis(M:惡性,B:良性)以及乳腺腫塊信息,乳腺腫塊信息包括radius(半徑)、texture(文理)、perimeter(周長)、area(面積)、smoothness(平滑程度)、compactness(致密性)、concavity(凹面)、concave points(凹點)、symmetry(對稱性)、fractal_dimension(分形維數)這10個特征的mean(平均值)、se(標準差)和worst(最大值),共計32個字段。
1.2 數據預處理
實驗前需要對乳腺癌診斷數據集進行清洗,在JupyterNotebook中剔除無意義字段id,剩余31個字段分別代表diagnosis以及radius,texture,perimeter,area,smoothness,compactness,concavity,concave points,symmetry,fractal_dimension這10個特征mean、se、worst維度。
1.3 AdaBoost模型的建立
AdaBoost算法是一種基礎的機器學習方法,根據曹瑩[3]等人總結的算法核心思想,得出實驗中AdaBoost分類器利用同一種弱分類器,根據弱分類器的錯誤率分配不同的權重參數,最后累加加權的預測結果作為輸出。實驗研究的結局變量為乳房腫塊良性或惡性,是研究的根本目的。解釋變量為對乳腺癌發生率有影響的危險因素,如area_mean,texture_mean、concavity_mean等,用于支持結局變量的準確性。
1.4 特征選取
相關系數矩陣熱力圖是特征之間相關系數可視化的一種方法,用來展示特征之間的相似程度。實驗在JupyterNotebook中進行演示,用相關系數矩陣熱力圖展示特征之間的相關性,圖中系數越大說明特征越相關,如圖3所示。
參考相關系數矩陣熱力圖可以對特征進行降維處理,將相關系數大于0.7的特征perimeter_mean,radius_mean,compactness_mean,concave points_mean,radius_se,perimeter_se,radius_worst,perimeter_worst,compactness_worst,concave points_worst,compactness_se,concave points_se,texture_worst,area_worst,area_se,smoothness_worst,concavity_worst,fractal_
dimension_worst刪除,保留剩余12個特征,再一次驗證可以得出降維后的相關系數矩陣熱力圖,如圖4所示。
2 結果
2.1 特征重要性評分
實驗需要將乳腺癌診斷數據集拆分成訓練集和測試集,其中測試集占比30%(test_size=0.3)。計算test_size=0.3以及隨機種子數為42時的AdaBoost算法模型下12個特征的重要性評分,列出排名前10的變量和分數,如表1所示。
2.2 模型預測性能評價
為了對比在test_size=0.3和隨機種子數為42情況下的AdaBoost算法模型與其他兩個算法模型的性能,在模型測試前需要進行參數優化,使用表1當中10個特征進行測試并比較,使用混淆矩陣進行預測結果的分類,共分為 TP,FP,FN,TN四類,如表2所示。
本文給出三種不同方法的混淆矩陣,分別對應了真惡性、假惡性、假良性和真良性四種情況下數據的分布[4],不同算法模型的數據分配如表3所示。
實驗結果以準確率作為評價標準,由混淆矩陣可知,AdaBoost算法模型準確率為96.49%、GaussianNB算法模型準確率為95.91%、KNeighbors算法準確率為90.06%,如圖5所示。從圖5中的實驗數據可以看出當test_size=0.3且隨機種子數為42時AdaBoost算法模型的準確率高于另外兩種算法模型。
2.3 最優特征
為了提高模型的泛化能力,實驗采用5折交叉驗證[5]降低泛化誤差,其原理將數據集分割成5個子集,一個單獨的子集被保留作為驗證模型的數據,其他4個子集用來訓練。交叉驗證重復5次,每個子集驗證一次,平均這5次的結果得到一個單一估測。這個方法的優勢在于同時重復運用隨機產生的子集進行訓練和驗證,每個子集都被驗證一次。在AdaBoost算法模型的基礎上經過5折交叉驗證可以找到最佳特征為texture_mean,area_mean,smoothness_mean,concavity_
mean,texture_se,symmetry_se,fractal_dimension_se,symmetry_worst的同時也預示著預測乳腺癌需要的最佳特征數為8,如圖6所示。
主成分分析(Principal Component Analysis,PCA)[6]是對特征進行綜合評價的方法之一,其原理是通過投影的方法消除重疊信息,實現數據的降維[7]。經過PCA可知最優特征數為1,如圖7所示。參照表1數據選擇得分最高的變量area_mean作為最優特征,該特征預測乳腺癌準確率可達96%以上。
3 結束語
本文提出基于AdaBoost算法的乳腺癌疾病預測方法并將AdaBoost算法模型與GaussianNB、KNeighbors算法模型進行比較,證明在乳腺癌疾病診斷中,AdaBoost算法模型相對于另外兩種算法模型取得了良好的效果。此研究對于識別乳腺癌患者并為其進行及時和有效的治療有一定的現實意義。但本研究采用的是美國威斯康星州乳腺癌診斷數據中的一小部分數據,數據受地域和數量的限制使得最終實驗結果具有局限性,需要進一步擴大數據來源和使用大樣本數據驗證結果的適用性。
參考文獻(References):
[1] Hyuna Sung, Ferlay Jacques, Siegel Rebecca-L, et al.Global cancer statistics 2020: GLOBOCAN estimates of incidence and mortality worldwide for 36 cancers in 185 countries[J].CA:A Cancer Journal for Clinicians.
[2] UCI repository.乳腺癌診斷數據集[EB/OL].http://archive.ics.uci.edu/ml/datasets/breast+cancer+wisconsin+%28diagnostic%29.
[3] 曹瑩,苗啟廣,劉家辰等.AdaBoost算法研究進展與展望[J].自動化學報,2013.39(6):745-758
[4] 盧星凝,張莉.基于屬性約簡和支持向量機集成的乳腺癌診斷決策[J].計算機應用,2015.35(10):2793-2797
[5] 張中文,姚婷婷,張海泉等.基于交叉驗證的組合診斷方法在乳腺腫瘤診斷研究中的應用[J].中國衛生統計,2020.37(2):166-169
[6] 孔浩,郭慶梅,王慧慧等.主成分分析法在中藥質量評價中的應用[J].遼寧中醫雜志,2014.41(5):890-892
[7] 符剛,張玥,曾強等.主成分分析法在北方某市飲用水水質綜合評價中的應用[J].中國預防醫學雜志,2015.16(12):955-960