






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