賴碟





摘要:由于電子的醫療數據爆發式地增長和現今的機器學習、數據挖掘技術的演進,深度學習方法在醫療行業的分量也越來越重。人們利用數據對患者的病情進行預測、檢測不良藥物、檢測不良反應等等,通過挖掘的數據源、方法和案例研究,來進行知識發現,并將挖掘出的知識呈現給醫學專家,從而進行更加快速準確的判斷。醫學數據挖掘是提高醫療信息管理水平,為疾病的診斷和治療提供科學,準確的決策,促進醫療事業的發展。本文使用了一些數據集,基于WEKA數據挖掘平臺,簡單分析了乳腺癌數據的分類并比較了不同挖掘算法的分類準確性。目的是基于WEKA數據挖掘平臺尋找最適合乳腺癌診斷和醫學數據早期預測的算法,為后期醫療行業的大數據分析和挖掘提供新思路。
關鍵詞:數據挖掘;WEKA平臺;乳腺癌;預測;分類器比較
研究背景
隨著電子信息技術的發展,以及“互聯網+”的廣泛應用,電子病歷和醫療記錄、醫療設備和儀器也實現了數字化,大多醫院在自己的數據庫系統中積累了大量的有關患者病例,診斷,檢查和治療的臨床信息。通過大量文獻調查,發現數據挖掘技術可以應用于預測與心臟,癌癥和腎臟相關的一些主要身體疾病。數據挖掘技術是指利用一種或多種計算機學習技術,從數據中自動分析并提供信息的過程。目的是尋找和發現數據中潛在的有價值的信息、知識、規律、聯系和模式。數據挖掘與計算機科學有關,通常使用機器學習、統計學、聯機分析處理、專家系統和模式識別等多種方式來實現。醫學數據挖掘是提高醫學信息管理水平,為疾病的診斷和治療提供科學準確的決策,促進醫療發展的需要。
近年乳腺癌的發病率在不斷升高,中國更是乳腺癌發病率增長最快的國家之一,但總體死亡率有不斷下降的趨勢,這離不開乳腺癌的早期診斷、預防工作以及乳腺癌綜合治療的進步。在乳腺癌危險因素研究的基礎上,很多國家和醫學組織都在構建風險評估模型,旨在確定高危人群范圍,以便采取更為積極的篩查或預防措施。乳腺癌的風險評估模型是建立在不同國家和學術組織的研究基礎上的,所以適用的人群不同,側重基因檢測及流行病學資料也各有不同。
因此,掌握醫學數據挖掘的能力越成為開展基礎醫學和臨床醫學等醫學課題的先決條件。本文在WEKA數據挖掘平臺的基礎上,對乳腺癌數據進行挖掘分析,并比較不同挖掘算法的分類準確性。旨在基于WEKA數據挖掘平臺尋找最適合醫學數據乳腺癌診斷和早期預測的算法,為后期醫療行業的大數據分析及挖掘提供新思路。
1 確定KDD目標
使用以下流程,通過構建幾種不同乳腺癌分類模型,對病人的病情分別進行評估預測,判斷是否患有乳腺癌,并分析模型的好壞。
2 數據準備
2.1獲取數據
通過http://archive.ics.uci.edu/獲取數據集
2.2數據信息
本實驗是針對威斯康辛州(原始)的乳腺癌數據集進行分類,該數據集共有699個數據實例,其中類分布:良性458個,惡性241個。
該數據集的數據屬性如下:
attribute? domain
Sample code number(樣本代碼)?????? id number
Clump Thickness(叢厚度) 1-10
Uniformity of Cell Size(均勻的細胞大小) 1-10
Uniformity of Cell Shape(均勻的細胞形狀)????? 1-10
Single Epithelial Cell Size(單個上皮細胞大小) 1-10
Bare Nuclei(裸核)????? 1-10
Normal Nucleoli(正常核仁)??? ?? 1-10
Mitoses(有絲分裂)?? 1-10
Class(類型)???????? 良性2個,惡性4個
2.3數據預處理
數據集中有16條缺失數據,這里我們直接將16條數據刪除,由于總共有699個實例,占比十分小,所以刪除的實例對結果不會有太大的影響。
對于有指導學習,刪除缺失后的數據總共683條數據,我們這里將前400個實例作為訓練數據集,后283個實例作為測試數據集。
3 確定KDD模型及評估指標
3.1分類器
使用WEKA數據挖掘工具實現了各種算法,用于實驗分析,選取的算法介紹如下。
J48:用于對數據進行分類的簡單決策樹算法。J48是以分類為目的的監督學習方法。它是基于分而治之的方法。它將整個數據分成一個子范圍,是基于樣本訓練數據集中已經可用的值的當前屬性值
基本思想是選擇具有最大增益率的屬性作為分支節點來分類實例數據。信息增益表示當x取屬性x_i值時,其對降低x的熵的貢獻大小。信息增益越大,越適宜對x進行分類。計算屬性A的增益率公式如下:
根據信息熵的公式,可以很容易得出 。 為當前數據集所有實例所表達的信息量, 為根據屬性A的k個可能取值分類I中實例之后所表達的信息量。計算 和 的公式如下所示:
其中,n為實例集合I被分為可能的類的個數,k為屬性A具有k個輸出結果。
最后, 是對A屬性的增益值的標準化,目的是消除屬性選擇上的偏差,即在所有實例的屬性A的取值只有一個時,該屬性總被優先選取的情況。計算 的公式如下:
隨機樹:是指隨機過程建立的樹或者樹狀圖,是一種隨機決策樹。
隨機森林(RF):RF是一種通常適用于隨機樹的集成方法。在數據集的基礎上形成許多分類樹,根據分類樹每個輸入向量,最終分類一個新對象。介紹RF之前,我們需要了解一下Bagging思想。
Bagging是bootstrap aggregating。就是從總體樣本當中隨機取一部分樣本進行訓練,通過多次這樣的結果,進行投票獲取平均值作為結果輸出,這就極大可能的避免了不好的樣本數據,從而提高準確度。因為有些是不好的樣本,相當于噪聲,模型學入噪聲后會使準確度不高。RandomForest(隨機森林)是一種基于樹模型的Bagging的優化版本,一棵樹的生成肯定還是不如多棵樹,因此就有了隨機森林,解決決策樹泛化能力弱的特點。同一批數據,用同樣的算法只能產生一棵樹,這時Bagging策略可以幫助我們產生不同的數據集,從樣本集(假設樣本集N個數據點)中重采樣選出N個樣本(有放回的采樣,樣本數據點個數仍然不變為N),在所有樣本上,對這n個樣本建立分類器,重復以上兩步m次,獲得m個分類器,最后根據這m個分類器的投票結果,決定數據屬于哪一類。
總的來說就是隨機選擇樣本數,隨機選取特征,隨機選擇分類器,建立多顆這樣的決策樹,然后通過這幾課決策樹來投票,決定數據屬于哪一類。
K-Means:隨機選擇一個K值,用來確定簇的總數,在數據集中任意選擇K個實例,將他們作為初始的簇中心,計算在K個簇中心與其他剩余實例的簡單歐式距離,用這個距離作為實例之間相似性的度量,將與某個簇相似度高實例劃分到該簇中,成為其成員之一。使用每個簇中的實例來計算該簇新的簇中心。如果計算得到新的簇中心等于上次迭代的簇中心,終止算法過程。否則用新的簇中心作為簇中心并重復步驟。
神經網絡: 本文使用weka中的BP神經網絡模型。反向傳播學習(Backpropagation Learning)是前饋神經網絡的有指導學習方法,和所有的有指導學習過程一樣,它包括訓練和檢驗兩個階段。在訓練階段中,訓練實例重復通過網絡,對于每個訓練實例,計算網絡輸出值,根據輸出值修改各個權值。這個權值的修改方向是從輸出層開始,反向移動到隱層。改變連接權值的目的是最小化訓練集錯誤率。訓練過程是個迭代過程,網絡訓練直到滿足一個特定的終止條件為止,終止條件可以是網絡收斂到最小的錯誤值,可以是一個訓練時間標準,也可以是最大迭代次數。
貝葉斯分類器:貝葉斯分類器時一種簡單,但功能強大的有指導分類技術。模型假定所有輸入屬性的重要性相等,且彼此是獨立的。盡管這些假定很可能是假的,但貝葉斯分類器實際上仍然可以工作的很好。分類器是基于貝葉斯定理的,其定義如下:
其中:H為要檢驗的假設;E為與假設相關的數據樣本
從分類的角度考察,假設H就是因變量,代表著預測類;數據樣本E是輸入實例屬性值的集合:P(H|E)是給定數據樣本E時,假設H為真的條件概率;P(H)為先驗概率,表示在任何數據樣本E出現之前假設的概率。條件概率和先驗概率可以通過訓練數據計算出來。
3.2性能指標
這里我們使用分類正確度和混淆矩陣確定模型的正確度:
分類準確度=正確預測的實例/測試總實例數
通過混淆矩陣進行正確度分析:
其中,i為矩陣行數,j為矩陣列數。
4 分類器結果的比較
綜合以上分類器,使用weka數據挖掘平臺進行分析,得出了乳腺癌數據集的分類模型正確度如下:
5 結論
為了實現基于WEKA數據挖掘平臺的醫學數據分類及乳腺癌的早期預測,使用六種分類器進行WEKA數據挖掘工具的實驗。通過對分類器進行比較,并利用模型分類正確度來確定各模型分類精度。對比實驗結果表明,較于其他分類器,Random Forest分類器對乳腺癌數據集具有較好的分類準確性。隨機森林建立了多個決策樹,并將它們合并在一起能獲得更準確和穩定的預測。隨機森林的一大優勢在于它既可用于分類,也可用于回歸問題,這兩類問題恰好構成了當前的大多數機器學習系統所需要面對的。未來,通過在分類器精度性能調整方面的優化,包括應用裝袋(Bagging)、提升(Lift)和參數優化等技術,以及特定疾病的測試數據的加入,可以開發更準確的預測模型。