摘要:乳腺癌是女性最常見(jiàn)的惡性腫瘤之一,早期診斷和治療對(duì)于提高治愈率和生存率至關(guān)重要。本研究旨在開(kāi)發(fā)一個(gè)基于機(jī)器學(xué)習(xí)的乳腺癌問(wèn)診系統(tǒng)。用戶可以在該系統(tǒng)中輸入相關(guān)醫(yī)學(xué)檢測(cè)指標(biāo)數(shù)據(jù),通過(guò)機(jī)器學(xué)習(xí)算法對(duì)乳腺癌風(fēng)險(xiǎn)進(jìn)行評(píng)估,并返回相應(yīng)的診斷結(jié)果和建議。首先介紹了基于決策樹(shù)和隨機(jī)森林方法的乳腺癌診斷方法,然后闡述了系統(tǒng)的總體框架和數(shù)據(jù)處理方法,包括數(shù)據(jù)收集和處理、數(shù)據(jù)清洗和預(yù)處理、特征工程、模型建立、模型優(yōu)化和迭代。最后,探討了該項(xiàng)目的應(yīng)用前景和創(chuàng)新價(jià)值,為乳腺癌的早期診斷和治療提供了一種可行的思路和方法。
關(guān)鍵詞:機(jī)器學(xué)習(xí);隨機(jī)森林;數(shù)據(jù)處理;模型優(yōu)化
中圖分類(lèi)號(hào):TP182 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2024)17-0049-04 開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID) :
0 引言
乳腺癌是一種嚴(yán)重威脅女性健康的惡性腫瘤,其發(fā)病率在女性中居于第一位[1]。目前,乳腺癌的早期診斷和治療是提高治愈率和生存率的關(guān)鍵。然而,由于病因復(fù)雜且癥狀不易察覺(jué),現(xiàn)有的乳腺癌篩查方法存在一定的局限性。因此,開(kāi)發(fā)一個(gè)基于機(jī)器學(xué)習(xí)的乳腺癌診斷網(wǎng)站,可以更加準(zhǔn)確、快速地進(jìn)行風(fēng)險(xiǎn)評(píng)估,有助于提高早期診斷的準(zhǔn)確性和及時(shí)性,從而降低乳腺癌帶來(lái)的健康風(fēng)險(xiǎn)和經(jīng)濟(jì)負(fù)擔(dān)。
機(jī)器學(xué)習(xí)是一種能夠從數(shù)據(jù)中學(xué)習(xí)和自適應(yīng)的人工智能方法,近年來(lái)在醫(yī)療領(lǐng)域得到了廣泛應(yīng)用。本研究旨在利用機(jī)器學(xué)習(xí)算法對(duì)乳腺癌進(jìn)行風(fēng)險(xiǎn)評(píng)估,構(gòu)建一個(gè)基于機(jī)器學(xué)習(xí)的乳腺癌診斷網(wǎng)站,為用戶提供準(zhǔn)確、快速、方便的服務(wù)。
1 材料和方法
1.1 數(shù)據(jù)集
本系統(tǒng)使用了一個(gè)由 699 個(gè)樣本組成的乳腺癌數(shù)據(jù)集,該數(shù)據(jù)集包含了 10 個(gè)不同的特征。將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,其中 80% 的數(shù)據(jù)用于訓(xùn)練模型,20% 的數(shù)據(jù)用于測(cè)試模型。數(shù)據(jù)集來(lái)源于 UCI 機(jī)器學(xué)習(xí)庫(kù)中的乳腺癌威斯康星州(原始)數(shù)據(jù)集。
1.2 腫瘤數(shù)據(jù)特征
在這項(xiàng)研究中,使用了一個(gè)包含 11 個(gè)不同屬性的數(shù)據(jù)集,以訓(xùn)練機(jī)器學(xué)習(xí)模型來(lái)診斷腫瘤的惡性程度。數(shù)據(jù)集的基本信息如表 1 所示。
數(shù)據(jù)集中的最后一個(gè)屬性是腫瘤的類(lèi)別,它是輸出變量,用于表示腫瘤的類(lèi)別,數(shù)值為 0 表示良性,數(shù)值為 1 表示惡性。在機(jī)器學(xué)習(xí)模型中,這個(gè)屬性用于訓(xùn)練和評(píng)估診斷模型的準(zhǔn)確性和可靠性。
UlZDh2NWYzaQXd8cPKS3zuCGUX89tz7maFiJWzSzjtg=1.3 機(jī)器學(xué)習(xí)算法
在本研究中,采用了決策樹(shù)(DT) [2]和隨機(jī)森林(RF) [3]兩種機(jī)器學(xué)習(xí)方法,用于將腫瘤分類(lèi)為良性或惡性。這兩種方法基于 scikit-learn 開(kāi)源機(jī)器學(xué)習(xí)庫(kù)實(shí)現(xiàn),并使用 Python 編程語(yǔ)言進(jìn)行開(kāi)發(fā)和訓(xùn)練。
1) 決策樹(shù)(Decision Tree, DT) 。 決策樹(shù)算法是一種典型的分類(lèi)方法,其結(jié)構(gòu)類(lèi)似于一個(gè)流程圖,基于IF-THEN 規(guī)則來(lái)進(jìn)行分類(lèi)。決策樹(shù)通過(guò)遞歸地將數(shù)據(jù)集分割成子集來(lái)構(gòu)建樹(shù)形結(jié)構(gòu),每個(gè)節(jié)點(diǎn)代表一個(gè)特征,決策節(jié)點(diǎn)表示特征的測(cè)試條件,葉子節(jié)點(diǎn)則代表分類(lèi)結(jié)果。
2) 隨機(jī)森林(Random Forest, RF) 。 隨機(jī)森林是一種集成學(xué)習(xí)方法,由多個(gè)決策樹(shù)組成。每個(gè)決策樹(shù)對(duì)數(shù)據(jù)進(jìn)行獨(dú)立分類(lèi),并將它們的分類(lèi)結(jié)果進(jìn)行綜合,得到最終的分類(lèi)結(jié)果。隨機(jī)森林通過(guò)引入隨機(jī)性來(lái)提高模型的性能和穩(wěn)定性,對(duì)過(guò)擬合具有良好的抗性。
在本文中,應(yīng)用這兩種算法進(jìn)行分類(lèi)時(shí),會(huì)根據(jù)數(shù)據(jù)的不同特點(diǎn)和算法的不同特點(diǎn)來(lái)選擇合適的參數(shù),以提高模型的診斷準(zhǔn)確性和泛化能力。通過(guò)在良性和惡性腫瘤數(shù)據(jù)集上進(jìn)行訓(xùn)練和測(cè)試,評(píng)估這兩種模型的性能,并比較它們的優(yōu)缺點(diǎn),從而確定最適合實(shí)際應(yīng)用的方法。
1.4 數(shù)據(jù)預(yù)處理
處理上述數(shù)據(jù)集時(shí),需要進(jìn)行數(shù)據(jù)清洗、轉(zhuǎn)換和降維等預(yù)處理步驟,以提高模型的診斷能力和效果。具體步驟如下:
1) 異常值、缺失值和重復(fù)值處理。 首先,使用統(tǒng)計(jì)學(xué)方法和可視化手段來(lái)檢測(cè)數(shù)據(jù)集中的異常值,并采用剔除或替換的方法進(jìn)行處理。同時(shí),處理缺失值以保證數(shù)據(jù)的完整性和準(zhǔn)確性。重復(fù)值也需要被檢測(cè)并去除,以防止冗余數(shù)據(jù)對(duì)模型的影響。
2) 數(shù)據(jù)歸一化。 數(shù)據(jù)歸一化是為了在建立診斷模型時(shí)對(duì)所有特征的貢獻(xiàn)進(jìn)行平等的考慮。在這個(gè)數(shù)據(jù)集中,采用標(biāo)準(zhǔn)歸一化方法將所有特征縮放到同一個(gè)范圍內(nèi)(通常是 0~1) ,從而消除特征之間的量級(jí)差異。
3) 特征選擇。特征選擇旨在從原始的 11 個(gè)特征中選出對(duì)腫瘤診斷最具貢獻(xiàn)的特征。采用統(tǒng)計(jì)學(xué)方法和機(jī)器學(xué)習(xí)技術(shù)來(lái)完成這一過(guò)程,以減少模型的復(fù)雜度并提高模型的診斷準(zhǔn)確性。
4) 降維。使用主成分分析(PCA) 方法[4]對(duì)數(shù)據(jù)集進(jìn)行降維。PCA 通過(guò)線性變換將原始數(shù)據(jù)投影到一個(gè)新的低維空間,保留樣本的 95% 以上的信息。降維可以減少特征數(shù)量,使模型更容易訓(xùn)練和解釋?zhuān)瑫r(shí)增強(qiáng)模型的泛化能力。
這些預(yù)處理步驟的目的是清洗和轉(zhuǎn)換原始數(shù)據(jù),減少數(shù)據(jù)集中的噪聲和冗余信息,從而提高模型的性能與泛化能力。
2 乳腺癌診斷系統(tǒng)架構(gòu)設(shè)計(jì)
2.1 乳腺癌診斷系統(tǒng)總體架構(gòu)
該系統(tǒng)采用 Django Web 框架作為后端接口開(kāi)發(fā)工具,并以三層架構(gòu)構(gòu)建其整體框架:表現(xiàn)層、應(yīng)用層和后端模型層,如圖1所示。這三層協(xié)同工作,為系統(tǒng)提供穩(wěn)健、高效的功能與性能。
2.2 系統(tǒng)主要模塊
2.2.1 系統(tǒng)主界面
患者可以通過(guò)注冊(cè)登錄后進(jìn)入到該系統(tǒng)的主界面,進(jìn)入系統(tǒng)主頁(yè)面后患者可以看到有關(guān)于乳腺癌的簡(jiǎn)要科普和診斷,歷史診斷記錄等功能。在主界面中,用戶可以根據(jù)自己的自身情況選擇是否要上傳數(shù)據(jù)進(jìn)行診斷。如果用戶并沒(méi)有診斷的需求,只是想了解乳腺癌的成因和危害,則可以選擇到科普模塊進(jìn)行閱讀學(xué)習(xí)。如果用戶需要上傳數(shù)據(jù)進(jìn)行診斷,可以選擇是上傳文件自動(dòng)解析診斷或者手動(dòng)輸入相關(guān)參數(shù)進(jìn)行診斷。在診斷完畢后,用戶可以在診斷頁(yè)面看到本次的診斷結(jié)果,并且該結(jié)果也會(huì)保存到數(shù)據(jù)庫(kù)中,用戶可以在歷史記錄模塊中查詢(xún)到本次的診斷結(jié)果。
2.2.2 診斷模塊
根據(jù)用戶選擇的上傳數(shù)據(jù)的模式,后臺(tái)會(huì)進(jìn)行相應(yīng)的解析,然后將參數(shù)傳入訓(xùn)練好的機(jī)器學(xué)習(xí)模型中。通過(guò)機(jī)器學(xué)習(xí)的分類(lèi)診斷能力,系統(tǒng)返回對(duì)應(yīng)的診斷結(jié)果。這個(gè)機(jī)器學(xué)習(xí)模型具備強(qiáng)大的分類(lèi)診斷能力,能夠準(zhǔn)確地分析輸入數(shù)據(jù),并根據(jù)其中的特征進(jìn)行綜合評(píng)估。隨后,系統(tǒng)將迅速返回對(duì)應(yīng)的診斷結(jié)果,從而為用戶或醫(yī)生提供及時(shí)有效的診療幫助。該系統(tǒng)的核心機(jī)器學(xué)習(xí)模型基于大量高質(zhì)量數(shù)據(jù)的訓(xùn)練,以確保其診斷能力的穩(wěn)定性和準(zhǔn)確性。在訓(xùn)練過(guò)程中,精心選擇并提取了與特定領(lǐng)域相關(guān)的特征,從而使模型能夠捕捉到潛在的復(fù)雜關(guān)聯(lián)和規(guī)律,確保模型在處理新數(shù)據(jù)時(shí)能夠表現(xiàn)出色。
2.2.3 科普模塊
科普模塊可以通過(guò)給用戶科普宣傳乳腺癌的相關(guān)知識(shí),其主要目標(biāo)是向用戶傳遞與乳腺癌相關(guān)的科學(xué)知識(shí)和相關(guān)宣傳信息,旨在提高用戶對(duì)乳腺癌的認(rèn)知水平,并促使其對(duì)乳腺癌的預(yù)防、早期檢測(cè)和治療等方面形成全面的了解??破漳K的有效實(shí)施將有助于提高早期診斷率,改善患者治療效果,從而達(dá)到促進(jìn)公共健康的目標(biāo)。
2.2.4 歷史記錄模塊
歷史記錄模塊是本系統(tǒng)的一個(gè)重要模塊,其功能在于存儲(chǔ)用戶通過(guò)上傳數(shù)據(jù)進(jìn)行診斷查詢(xún)所得到的結(jié)果,并為用戶提供對(duì)比不同時(shí)間段多次查詢(xún)的功能。通過(guò)保存和展示多次診斷結(jié)果,用戶可以深入了解自身情況的變化趨勢(shì),從而形成更為全面和準(zhǔn)確的認(rèn)知。一經(jīng)用戶上傳數(shù)據(jù)進(jìn)行診斷查詢(xún),系統(tǒng)將細(xì)致地保存該次查詢(xún)的全部相關(guān)信息,包括時(shí)間戳、查詢(xún)參數(shù)、診斷結(jié)果等。這些數(shù)據(jù)將被安全地存儲(chǔ)在系統(tǒng)的數(shù)據(jù)庫(kù)中,以確保數(shù)據(jù)的完整性和隱私保護(hù)。用戶可以通過(guò)歷史記錄模塊自由訪問(wèn)并查看之前的診斷記錄,以及對(duì)其進(jìn)行綜合分析和比較。
2.3 系統(tǒng)開(kāi)發(fā)實(shí)現(xiàn)技術(shù)
本系統(tǒng)的開(kāi)發(fā)前端采用的是React框架[5]實(shí)現(xiàn),后端選擇Django框架[6],機(jī)器學(xué)習(xí)的相關(guān)算法實(shí)現(xiàn)同樣選擇的Python語(yǔ)言開(kāi)發(fā)。
2.3.1 前端開(kāi)發(fā)實(shí)現(xiàn)
前端開(kāi)發(fā)是系統(tǒng)用戶與界面交互的入口,我們選擇React作為前端框架來(lái)實(shí)現(xiàn)系統(tǒng)的用戶界面。Re?act是一種流行的JavaScript庫(kù),其核心思想是組件化開(kāi)發(fā),使得用戶界面的構(gòu)建和維護(hù)更加高效和靈活。
在前端開(kāi)發(fā)中,首先進(jìn)行需求分析和界面設(shè)計(jì),明確系統(tǒng)的用戶交互功能和頁(yè)面展示效果。隨后,根據(jù)設(shè)計(jì)方案,使用React框架搭建前端應(yīng)用,并編寫(xiě)相應(yīng)的組件,實(shí)現(xiàn)系統(tǒng)界面的渲染和數(shù)據(jù)綁定。同時(shí),采用現(xiàn)代化的前端技術(shù),如Redux 用于狀態(tài)管理、Axios用于與后端的數(shù)據(jù)交互等,以提升系統(tǒng)的性能和用戶體驗(yàn)。
2.3.2 后端開(kāi)發(fā)實(shí)現(xiàn)
后端開(kāi)發(fā)負(fù)責(zé)處理前端發(fā)起的請(qǐng)求,并根據(jù)業(yè)務(wù)邏輯處理數(shù)據(jù),并將處理結(jié)果返回給前端。為了實(shí)現(xiàn)高效的后端功能,選擇Django作為后端框架。Django 是一個(gè)高度集成、易于使用的Python Web框架,它提供了豐富的功能組件,如路由配置、ORM(對(duì)象關(guān)系映射)、表單處理等,大大簡(jiǎn)化了后端開(kāi)發(fā)過(guò)程。
在后端開(kāi)發(fā)中,首先進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì),確定API 接口和數(shù)據(jù)庫(kù)模型的設(shè)計(jì)方案。然后,使用Django框架搭建后端應(yīng)用,編寫(xiě)相應(yīng)的API視圖函數(shù),用于處理前端請(qǐng)求,并與數(shù)據(jù)庫(kù)進(jìn)行交互。通過(guò)Django的ORM,我們能夠更便捷地對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,保障數(shù)據(jù)的安全性和可靠性。
2.3.3 機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)
為了對(duì)乳腺癌進(jìn)行分類(lèi),本系統(tǒng)采用了DT(決策樹(shù))和RF(隨機(jī)森林)兩種常見(jiàn)的機(jī)器學(xué)習(xí)方法。這兩種方法都是基于scikit-learn開(kāi)源機(jī)器學(xué)習(xí)庫(kù)實(shí)現(xiàn)的,并使用Python編程語(yǔ)言進(jìn)行開(kāi)發(fā)和訓(xùn)練。模型訓(xùn)練完成后,將訓(xùn)練好的模型嵌入到系統(tǒng)后端,以供前端上傳數(shù)據(jù)進(jìn)行診斷查詢(xún)時(shí)使用。后端將收到的數(shù)據(jù)傳入模型中,進(jìn)行特征提取和分類(lèi)診斷,并將診斷結(jié)果返回給前端展示。
3 結(jié)果
本研究旨在探索基于機(jī)器學(xué)習(xí)的乳腺癌診斷方法,并構(gòu)建一個(gè)具有高度準(zhǔn)確性和可靠性的診斷網(wǎng)站。使用公開(kāi)可用的乳腺癌臨床和影像數(shù)據(jù)集來(lái)進(jìn)行研究。數(shù)據(jù)集包含了從已診斷出乳腺癌的患者中收集的臨床數(shù)據(jù)和影像數(shù)據(jù)。這些數(shù)據(jù)集經(jīng)過(guò)處理和清理,以確保它們的完整性和一致性。
研究使用DT(決策樹(shù))算法和RF(隨機(jī)森林)算法來(lái)建立乳腺癌診斷模型,并對(duì)模型的性能進(jìn)行評(píng)估。使用ROC曲線[7]和交叉驗(yàn)證[8]來(lái)評(píng)估模型的準(zhǔn)確性和可靠性。DT(決策樹(shù))算法和RF(隨機(jī)森林)算法來(lái)建立乳腺癌診斷模型的ROC曲線如圖2所示。本研究對(duì)兩個(gè)模型分別進(jìn)行了50次的5折交叉驗(yàn)證,分別記錄了兩個(gè)模型的準(zhǔn)確率、召回率以及F1分?jǐn)?shù)。
經(jīng)過(guò)交叉驗(yàn)證的精準(zhǔn)率如圖3所示。
經(jīng)過(guò)交叉驗(yàn)證的召回率如圖4所示。
經(jīng)過(guò)交叉驗(yàn)證的F1分?jǐn)?shù)如圖5所示。
從實(shí)驗(yàn)數(shù)據(jù)來(lái)看,RF算法模型的ROC曲線明顯優(yōu)于DT算法模型的ROC曲線,并且在50次交叉驗(yàn)證實(shí)驗(yàn)中,RF算法訓(xùn)練的模型的精準(zhǔn)率、召回率和F1分?jǐn)?shù)均優(yōu)于DT算法訓(xùn)練的模型。因此,可以說(shuō)明在本研究的數(shù)據(jù)集上,使用RF算法優(yōu)于使用DT算法。
總的來(lái)說(shuō),該研究探索了基于機(jī)器學(xué)習(xí)的乳腺癌診斷方法,并構(gòu)建了一個(gè)具有較高準(zhǔn)確性和可靠性的診斷網(wǎng)站。
4 展望
本研究使用機(jī)器學(xué)習(xí)算法構(gòu)建了一個(gè)基于公開(kāi)臨床數(shù)據(jù)的乳腺癌診斷網(wǎng)站。通過(guò)分析患者的數(shù)據(jù),網(wǎng)站可以為患者提供快速、準(zhǔn)確的診斷結(jié)果,并提供相應(yīng)的治療建議。結(jié)果表明,RF算法具有較高的準(zhǔn)確率,可為臨床醫(yī)生提供輔助決策。
未來(lái),將進(jìn)一步完善網(wǎng)站的功能,加入更多的臨床數(shù)據(jù)和影像數(shù)據(jù),以提高診斷的準(zhǔn)確性和穩(wěn)定性。同時(shí),將探索更多的機(jī)器學(xué)習(xí)算法,例如深度學(xué)習(xí)算法,以提升乳腺癌診斷的精度。此外,還將探索更多的應(yīng)用場(chǎng)景,如基于機(jī)器學(xué)習(xí)的腫瘤診斷、糖尿病診斷等,為醫(yī)療健康領(lǐng)域的發(fā)展作出貢獻(xiàn)。
參考文獻(xiàn):
[1] 楊淑芬.基于機(jī)器學(xué)習(xí)算法的乳腺癌及亞型的分類(lèi)研究[D].武漢:中南財(cái)經(jīng)政法大學(xué),2022.
[2] 邵旻暉. 決策樹(shù)典型算法研究綜述[J]. 電腦知識(shí)與技術(shù),2018,14(8):175-177.
[3] 姚登舉,楊靜,詹曉娟.基于隨機(jī)森林的特征選擇算法[J].吉林大學(xué)學(xué)報(bào)(工學(xué)版),2014,44(1):137-141.
[4] 趙薔.主成分分析方法綜述[J].軟件工程,2016,19(6):1-3.
[5] 敖曼.基于react實(shí)現(xiàn)前端組件化開(kāi)發(fā)的研究與實(shí)現(xiàn)[J].長(zhǎng)江信息通信,2021,34(7):77-80.
[6] 韋平安.基于Django的網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)的開(kāi)發(fā)與應(yīng)用[J].山西電子技術(shù),2023(2):71-73.
[7] 柴婕,劉香麗,劉瑞東,等.logistic回歸結(jié)合ROC曲線在乳腺癌中的診斷價(jià)值[J].河南醫(yī)學(xué)高等專(zhuān)科學(xué)校學(xué)報(bào),2023,35(5):485-489.
[8] 范永東.模型選擇中的交叉驗(yàn)證方法綜述[D].太原:山西大學(xué),2013.
【通聯(lián)編輯:唐一東】
基金項(xiàng)目:成都師范學(xué)院大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目:基于人工智能的在線乳腺癌評(píng)測(cè)系統(tǒng)(項(xiàng)目編號(hào):S20221439143) ;成都師范學(xué)院教改項(xiàng)目(項(xiàng)目編號(hào):2021JG64)