阮旭凌 劉 琦 郭志恒 晏峻峰
(湖南中醫(yī)藥大學(xué)信息科學(xué)與工程學(xué)院 長沙 410208)
近期世界衛(wèi)生組織國際癌癥研究機(jī)構(gòu)發(fā)布全球最新癌癥數(shù)據(jù),顯示乳腺癌已成全球第1大癌癥[1],不僅女性會患上乳腺癌,男性乳腺癌患者數(shù)量也不容小覷,乳腺癌防治形勢的嚴(yán)峻性需要引起全社會重視,因此做到早發(fā)現(xiàn)、早確診、早治療對于患者具有重要意義。隨著醫(yī)療技術(shù)發(fā)展,大量數(shù)據(jù)分析技術(shù)應(yīng)用于乳腺癌疾病診斷。吳辰文、李長生和王偉等[2]提出基于加權(quán)特征向量核函數(shù)的支持向量機(jī)算法對乳腺癌進(jìn)行分類預(yù)測;劉軍、彭慧嫻和黃斌等[3]提出BP-GamysBoost算法模型運(yùn)用于乳腺癌疾病診斷;于凌濤、夏永強(qiáng)和閆昱晟等[4]采用卷積神經(jīng)網(wǎng)絡(luò)分類乳腺癌病理圖像;馮照石和范祺[5]通過雙重加權(quán)樸素貝葉斯算法預(yù)測乳腺癌患者復(fù)發(fā)率;余瑩、樊重俊和朱人杰等[6]基于系統(tǒng)聚類和支持向量機(jī)算法模型對乳腺癌不同腫瘤特征進(jìn)行診斷。上述幾種算法雖然都取得良好效果,但分類預(yù)測精度有待提高。由于乳腺癌產(chǎn)生機(jī)制具有不確定性,且不同患者身心素質(zhì)差異較大,因此需要針對個(gè)人制定個(gè)性化治療方案以提高治療效果[7]。在乳腺癌個(gè)性化治療過程中,患者需要檢查多項(xiàng)指標(biāo),如何在眾多信息中迅速找到對患者病因有重要影響的指標(biāo)是解決問題的關(guān)鍵。在乳腺癌原始檢驗(yàn)指標(biāo)中常存在冗余信息和噪聲數(shù)據(jù),如維度較大會導(dǎo)致問題的復(fù)雜性和時(shí)間的復(fù)雜度擴(kuò)大,對數(shù)據(jù)特征屬性進(jìn)行降維能夠降低系統(tǒng)計(jì)算量,結(jié)合機(jī)器學(xué)習(xí)算法構(gòu)建預(yù)測模型,以此來診斷乳腺癌病發(fā)率,能夠較好地輔助醫(yī)生對患者進(jìn)行乳腺癌早期診斷,具有重要現(xiàn)實(shí)意義。
本實(shí)驗(yàn)采用kaggle數(shù)據(jù)庫提供的乳腺癌診斷數(shù)據(jù)集(Breast Cancer Wisconsin (Diagnostic) Data Set)。其中良性樣本(標(biāo)簽為0)308例,惡性樣本(標(biāo)簽為1)190例,每例樣本中有30個(gè)特征屬性,1個(gè)類別標(biāo)簽和1個(gè)樣本id,類別標(biāo)簽表明患者乳腺細(xì)胞核屬于良性還是惡性,特征屬性描述細(xì)胞核的10個(gè)實(shí)際值特征,是鑒別患者是否被診斷為乳腺癌的關(guān)鍵指標(biāo)。本實(shí)驗(yàn)將數(shù)據(jù)集的70%作為訓(xùn)練樣本,剩余30%作為測試樣本,見表1。
表1 特征屬性
續(xù)表1
經(jīng)過對數(shù)據(jù)集的篩查,未出現(xiàn)數(shù)據(jù)缺失、數(shù)據(jù)異常、數(shù)據(jù)重復(fù)等情況,且正負(fù)樣本數(shù)據(jù)較均衡。本數(shù)據(jù)集的診斷類別為字符串,為方便對照將診斷結(jié)果量化為2種,其中0代表乳腺細(xì)胞核為良性,1代表乳腺細(xì)胞核為惡性。在數(shù)據(jù)維度較高時(shí),為提取有用特征方便計(jì)算,通常進(jìn)行數(shù)據(jù)降維。原始數(shù)據(jù)集有特征屬性30項(xiàng),在這些指標(biāo)中常存在冗余信息,增加了系統(tǒng)計(jì)算量和時(shí)間復(fù)雜度。通過線性判別式分析(Linear Discriminant Analysis,LDA)方法合并特征屬性,減少數(shù)據(jù)冗余引起的誤差,快速縮小數(shù)據(jù)維度,降低系統(tǒng)復(fù)雜性。
3.1.1 定義 LDA是基于分類模型進(jìn)行特征屬性合并的方法,是一種有監(jiān)督的降維方式[8]。其基本原理是將帶有類別標(biāo)簽的數(shù)據(jù)投影到維度更低的空間中,以便按類區(qū)分投影后的點(diǎn)。投影后空間中同類點(diǎn)之間距離會更接近、方差更小,而不同類之間的方差越大[9]。降維能夠減少冗余信息引起的誤差,提高識別準(zhǔn)確率。
3.1.2 LDA降維步驟 假設(shè)存在數(shù)據(jù)集D={(x1,y1),(x2,y2),...,((xm,ym))},其中有n維向量樣本xi,Nj(j=0,1)為第j類樣本的個(gè)數(shù),Xj(j=0,1)為第j類樣本的集合,LDA降維步驟[10]如下:
首先計(jì)算每個(gè)樣本的均值向量μj和協(xié)方差矩陣∑j:
(1)
Σj=∑x∈Xj(x-μj)(x-μj)T(j=0,1)
(2)
然后計(jì)算類內(nèi)散度矩陣SW和類間散度矩陣Sb:
SW=∑0+∑1=∑x∈X0(x-μ0)(x-μ0)T+
∑x∈X1(x-μ1)(x-μ1)T
(3)
Sb=(μ0-μ1)(μ0-μ1)T
(4)
(5)
求得最優(yōu)投影直線w,對樣本集中的每個(gè)樣本特征xi進(jìn)行轉(zhuǎn)化得到新的輸出樣本wTxi,即可完成降維。
3.1.3 30個(gè)特征屬性對分類結(jié)果的重要性計(jì)算 在本實(shí)驗(yàn)中,利用XGBoost模型計(jì)算30個(gè)特征屬性對分類結(jié)果的重要性,這些重要性得分可通過python中的成員變量feature_importances_得到,見圖1。取出排名前2位的特征屬性radius_worst和concave points_mean進(jìn)行正負(fù)樣本分布可視化,兩種類別的數(shù)據(jù)有重合部分,邊界數(shù)據(jù)混雜,因此需進(jìn)行降維,見圖2。
圖1 特征屬性重要性分布
圖2 特征屬性正負(fù)樣本分布
3.1.4 降維效果 根據(jù)LDA原理可知對于二分類問題降維后的特征維數(shù)需不大于1,因此采用LDA方法將數(shù)據(jù)特征從30維降維到1維,見圖3。其中所有數(shù)據(jù)被投影至同一條直線上,相同類別的數(shù)據(jù)投影點(diǎn)距離縮小,不同類別數(shù)據(jù)的中心間距擴(kuò)大。
圖3 LDA降維后效果
3.2.1 定義 XGBoost[11]即極端梯度提升算法,是對梯度提升(Gradient Boosting,GB)算法的改進(jìn)和高效實(shí)現(xiàn),除了可以是分類回歸樹算法(Classification And Regression Tree,CART)決策樹也可以是線性分類器(Gblinear)[12];同時(shí)XGBoost也是集成學(xué)習(xí)模型,基本思想是將多個(gè)分類性能較低的樹模型即弱分類器集成一個(gè)分類準(zhǔn)確率較高的強(qiáng)分類器[13];其支持特征抽樣,能有效防止過擬合問題并減少系統(tǒng)計(jì)算量[14]。
3.2.2 模型訓(xùn)練流程 其計(jì)算定義公式如下:
(7)
其中yi為預(yù)測值,K表示樹的數(shù)量,xi表示第i個(gè)樣本,將K棵樹的輸出加權(quán)求和即為XGBoost模型的最終預(yù)測值。其模型訓(xùn)練函數(shù)如下:
L(φ)=∑il(yi,hi)+∑kΩ(fk)
(8)
其中第1項(xiàng)為損失函數(shù),表示第i個(gè)樣本的預(yù)測誤差;第2項(xiàng)為正則化項(xiàng),規(guī)范模型的復(fù)雜度來防止過擬合。原始數(shù)據(jù)集經(jīng)過第1個(gè)弱分類器訓(xùn)練后輸出結(jié)果,再根據(jù)其返回的殘差不斷調(diào)整下一個(gè)弱分類器,直至指定數(shù)目的分類器訓(xùn)練完成,最后將所有輸出進(jìn)行加權(quán)求和即為總預(yù)測值。
3.2.3 降維后經(jīng)過XGBoost訓(xùn)練的模型(圖4) 在本實(shí)驗(yàn)中,利用機(jī)器學(xué)習(xí)包sklearn提供的grid_search網(wǎng)格搜索[15]進(jìn)行交叉驗(yàn)證獲得最優(yōu)參數(shù)來構(gòu)建XGBoost模型,其中模型學(xué)習(xí)率learning_rate為0.1, 樹最大深度max_depth為2, 最小葉子節(jié)點(diǎn)樣本權(quán)重之和min_child_weight為5, 弱分類器數(shù)n_estimators為66,模型懲罰力度gamma為默認(rèn)值0,隨機(jī)采樣的每棵樹的列數(shù)占比colsample_bytree為0.3,每棵樹隨機(jī)采樣的比例subsample為0.9。
圖4 XGBoost模型可視化
4.1.1 混淆矩陣 使用混淆矩陣將分類結(jié)果與實(shí)際樣本信息進(jìn)行比較,矩陣中每一行代表預(yù)測樣本類別,每一列代表實(shí)際樣本類別,見表2。相關(guān)評價(jià)指標(biāo)有準(zhǔn)確率、精準(zhǔn)率、召回率和F1值。準(zhǔn)確率為預(yù)測正確的正負(fù)樣本數(shù)量(TP+TN)與總樣本數(shù)量(TP+FN+FP+TN)的比例,是最常用的分類性能指標(biāo);精確率為預(yù)測正確的正樣本數(shù)量(TP)與預(yù)測的總正樣本數(shù)量(TP+FP)的比例,代表預(yù)測出為正的樣本中有多少樣本是真實(shí)為正的;召回率為正確預(yù)測的正樣本數(shù)量(TP)與真實(shí)正樣本數(shù)量(TP+FN)的比例;F1-score是目前許多實(shí)驗(yàn)推薦的評測指標(biāo),是精確率和召回率的調(diào)和值,當(dāng)精確率和召回率接近時(shí),F(xiàn)1-score值最大。
表2 混淆矩陣
4.1.2 ROC曲線 受試者工作特征(Receiver Operating Characteristic,ROC)曲線能夠客觀衡量模型性能。該曲線的橫坐標(biāo)為假陽性率(False Positive Rate,F(xiàn)PR),即N個(gè)真實(shí)負(fù)樣本中被預(yù)測為正樣本的概率;縱坐標(biāo)為真陽性率(True Positive Rate,TPR),即M個(gè)真實(shí)正樣本中被預(yù)測為正樣本的概率;ROC曲線越接近左上角,表明該分類模型性能越好,若ROC曲線是光滑的,可以判定沒有過擬合現(xiàn)象。曲線下面積(Area Under Curve,AUC)即ROC曲線下與坐標(biāo)軸圍成的面積,其大小通常處于0.5~1之間,AUC值越大表明模型性能越好、真實(shí)性越高。
4.1.3 均方根誤差 均方根誤差(Root Mean Square Error,RMSE)也叫標(biāo)準(zhǔn)誤差,反映預(yù)測值與真實(shí)值之間的偏差,其數(shù)值越小表示模型精度越高、穩(wěn)定性越好。
4.2.1 性能檢驗(yàn) XGBoost模型訓(xùn)練完成后用測試集檢驗(yàn)其性能。為保證評價(jià)方法的科學(xué)性、客觀性、準(zhǔn)確性,在保持模型參數(shù)不變的情況下,將原始數(shù)據(jù)集與降維后的數(shù)據(jù)集作為輸入分別得出預(yù)測結(jié)果;將Adaboost、隨機(jī)森林、樸素貝葉斯算法作為性能比較分類器。據(jù)結(jié)果可知降維處理后訓(xùn)練的預(yù)測模型分類準(zhǔn)確率比降維之前平均高出2.7%,見圖5。降維后模型訓(xùn)練時(shí)間大幅縮短,減少了系統(tǒng)計(jì)算量。
圖5 降維前后各算法模型準(zhǔn)確率變化
4.2.2 模型性能檢驗(yàn)結(jié)果 繪制降維后各算法模型的ROC曲線,其中虛線代表某個(gè)隨機(jī)分類器的ROC曲線,模型分類性能越好,離此虛線就越遠(yuǎn)。本實(shí)驗(yàn)中關(guān)于乳腺癌的分類預(yù)測問題,依據(jù)評價(jià)指標(biāo)結(jié)果可以看出XGBoost模型性能要優(yōu)于其他3種模型,其中XGBoost模型的分類準(zhǔn)確率均值達(dá)到0.987,AUC指標(biāo)均值達(dá)到0.984,均方根誤差為0.115,分別比Adaboost、隨機(jī)森林和樸素貝葉斯的均方根誤差低4.8%、4.8%、2.6%,見表3、圖6。
表3 模型性能結(jié)果
圖6 降維后各算法模型的ROC曲線
4.2.3 結(jié)果分析 LDA方法在大幅降低數(shù)據(jù)維度的同時(shí)提高識別精準(zhǔn)度、縮短模型訓(xùn)練時(shí)間;上述4種算法訓(xùn)練的預(yù)測模型分類效果均取得較理想分?jǐn)?shù),其中XGBoost模型分類效果最佳,具有可借鑒的醫(yī)學(xué)價(jià)值。
當(dāng)前乳腺癌防治形勢嚴(yán)峻,因此提高乳腺癌診斷率、早發(fā)現(xiàn)早治療具有重要的現(xiàn)實(shí)意義。為提高乳腺癌診斷率、加快診斷速度,本實(shí)驗(yàn)利用LDA方法將原有多維數(shù)據(jù)特征合并,降低維度和系統(tǒng)復(fù)雜性;從4種算法擇優(yōu)選擇XGBoost構(gòu)建乳腺癌預(yù)測模型,利用網(wǎng)格搜索進(jìn)行交叉驗(yàn)證提高模型準(zhǔn)確率并防止模型過擬合;將降維前的原始數(shù)據(jù)集同樣進(jìn)行訓(xùn)練和預(yù)測,實(shí)驗(yàn)結(jié)果顯示降維處理后訓(xùn)練的預(yù)測模型分類性能較降維之前更好,證明基于LDA和XGBoost算法構(gòu)建的乳腺癌預(yù)測模型具有良好的分類效果,為更好地輔助醫(yī)生增強(qiáng)醫(yī)療臨床應(yīng)用,提高我國醫(yī)療水平提供一定技術(shù)方法支撐。