范瀟文 楊琳琳 洪佳明 魏航 陳沁群
中圖分類號:TP18文獻(xiàn)標(biāo)識碼:A文章編號:1003-9082(2019)08-000-01
引言
近年來,在全球信息化浪潮的推動下,機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘等計算機(jī)界的熱門研究領(lǐng)域越來越多地應(yīng)用于醫(yī)療,但在實際的醫(yī)療診斷中,存在大量的不平衡數(shù)據(jù),即分類數(shù)據(jù)中某一類(多數(shù)類)的數(shù)量遠(yuǎn)大于另一類(少數(shù)類)的數(shù)量[1]。不平衡數(shù)據(jù)分類問題已成為數(shù)據(jù)挖掘領(lǐng)域內(nèi)一個重要的研究課題。
對不平衡數(shù)據(jù)的分類問題的探討具有很大的學(xué)術(shù)研究價值和廣泛的現(xiàn)實應(yīng)用意義,針對該類特點(diǎn)的數(shù)據(jù)集的數(shù)據(jù)挖掘方法尤其是隨機(jī)森林分類算法的深入研究,有助于理清不平衡分類問題的重點(diǎn)和難點(diǎn),抓住隨機(jī)森林算法影響分類效果的關(guān)鍵和實質(zhì)。本文提出改進(jìn)的基于CURE-SMOTE算法的隨機(jī)森林對不平衡數(shù)據(jù)進(jìn)行分類,并在此基礎(chǔ)上進(jìn)行不平衡數(shù)據(jù)分類研究,實現(xiàn)更為精準(zhǔn)有效的不平衡數(shù)據(jù)分類,以期促進(jìn)醫(yī)學(xué)事業(yè)的發(fā)展。
本文選取UCI中的Pima、Haberman、Post-operative、New-thyroid四個醫(yī)學(xué)數(shù)據(jù)集,并對數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理。同時提出改進(jìn)的基于CURE-SMOTE算法的隨機(jī)森林模型,結(jié)合訓(xùn)練數(shù)據(jù)集的不平衡程度,即數(shù)據(jù)預(yù)處理的平衡化采樣所給算法帶來的影響,以實現(xiàn)對醫(yī)學(xué)不平衡數(shù)據(jù)更為精準(zhǔn)有效的分類。
一、基于CURE-SMOTE算法的隨機(jī)森林
1.CURE算法原理
CURE[2]層次聚類算法是針對大數(shù)據(jù)集的高效算法,適合任意形狀的數(shù)據(jù)集,對孤立點(diǎn)不敏感,優(yōu)于BIRCH、CLARANS和DBSCAN算法等,具有識別異常點(diǎn)的性質(zhì)[3]。CURE算法的基本思想是通過劃分?jǐn)?shù)據(jù)集,視所有樣本點(diǎn)各為一個簇,然后局部聚類后再合并,直到結(jié)束,適合分布式擴(kuò)展[4]。具體步驟如下:
Step1 初始化參數(shù):形成的簇數(shù),代表點(diǎn)(代表該簇的大致分布)的數(shù)目,收縮因子。
Step2 聚類:對每個劃分進(jìn)行局部聚類,獲得代表點(diǎn)后,利用收縮因子收縮或向族中心移動;
Step3 合并:對局部簇在進(jìn)行聚類,直到整個數(shù)據(jù)集聚類完畢。
CURE算法提出者建議,算法中的收縮因子取值在[0.2 ,0.7],代表點(diǎn)的數(shù)量在大于10時,能取得較好的聚類效果。
2.CURE-SMOTE算法設(shè)計與分析
CURE-SMOTE算法設(shè)計思想為:將小類樣本點(diǎn)經(jīng)過CURE聚類,保留聚類后的點(diǎn)、若干個代表點(diǎn)和中心點(diǎn),然后應(yīng)用修正的SMOTE公式產(chǎn)生新樣本。
Step1 數(shù)據(jù)集歸一一化處理,提取小類樣本X,計算小類樣本之間的距離dist,初次每個點(diǎn)為一個簇類。對于一個簇類U,Ur和Uc代表類U的代表點(diǎn)集合和中心點(diǎn)。設(shè)p,q為數(shù)據(jù)項,則兩個簇類U和V之間的距離為:
Step2 設(shè)置聚類個數(shù)c,進(jìn)行聚類,合并距高最小的兩個簇類,更新中心點(diǎn)和代表點(diǎn)。
其中|U|表示該簇類所含數(shù)據(jù)項的個數(shù),α為收縮因子(一般取0.5)。對于增長速度非常慢的簇類,判定為異常點(diǎn),刪除。若代表點(diǎn)的數(shù)量超過要求,則選取距離聚類中心最遠(yuǎn)的數(shù)據(jù)點(diǎn)作為第一個代表點(diǎn),而后的代表點(diǎn)為距離前一個代表點(diǎn)最遠(yuǎn)的數(shù)據(jù)點(diǎn)。達(dá)到聚類中心個數(shù),則算法停止,判斷每個簇類的樣本個數(shù),樣本個數(shù)過少的簇需要刪除。
Step3 根據(jù)修正的SMOTE插值公式,產(chǎn)生新的樣本,表示經(jīng)過CURE算法聚類后的樣本點(diǎn),向代表點(diǎn)隨機(jī)移動。
Step4 計算數(shù)據(jù)集的不平衡度IR,當(dāng)數(shù)據(jù)集沒有達(dá)到IR。時,返回Step3.
Step5 利用隨機(jī)森林算法對處理后的新數(shù)據(jù)集和大類樣本進(jìn)行分類操作。
其中為人工生成的新樣本,直到IR大于或等于閾值IR時,需要生成的樣本量為n。距離衡量采用歐幾里德距離,樣本1 X1=(X11,X12,...X1M)和樣本2 X2=(X21,X22,...,X2M)之間的距離為
在上述CURE-SMOTE算法聚類過程中,通過設(shè)定算法結(jié)束準(zhǔn)則:達(dá)到聚類個數(shù)、達(dá)到代表點(diǎn)的數(shù)量、達(dá)到距離閾值等其中種, 避免設(shè)定原始SMOTE算法的k值,減小算法的不穩(wěn)定性,對算法可控。利用CURE-SMOTE算法k可進(jìn)行不平衡數(shù)據(jù)處理。
二、基于CURE-SMOTE算法的隨機(jī)森林模型研究
探究隨機(jī)森林在解決類別不平衡的醫(yī)學(xué)數(shù)據(jù)問題的性能,選取UCI中的Pima、Haberman、Post-operative、New-thyroid四個醫(yī)學(xué)數(shù)據(jù)集,并對數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,然后使用隨機(jī)森林訓(xùn)練、測試,使用綜合評價指標(biāo)F1進(jìn)行評估。
1.構(gòu)建實驗數(shù)據(jù)集
(1) Pima
數(shù)據(jù)集的目標(biāo)是基于數(shù)據(jù)集中包含的某些診斷測量來診斷性的預(yù)測患者是否患有糖尿病。數(shù)據(jù)集由多個醫(yī)學(xué)預(yù)測變量和一個目標(biāo)變量組成Outcome。
(2)Haberman
數(shù)據(jù)集包含了關(guān)于乳腺癌手術(shù)患者生存的研究案例,該數(shù)據(jù)集包含了一項研究的病例,該研究是在1958年至1970年期間在芝加哥大學(xué)比林斯醫(yī)院(University of Chicago s Billings Hospital)進(jìn)行的,研究對象是接受過乳腺癌手術(shù)的患者的存活率。
(3)Post-operative
該數(shù)據(jù)集的分類任務(wù)是確定患者在術(shù)后恢復(fù)區(qū)應(yīng)該被送往下一步。因為手術(shù)后降低體溫是一個重要的問題,所以這些屬性與體溫測量值基本一致。
(4)New-thyroid
這個數(shù)據(jù)集是UCI存儲庫中關(guān)于甲狀腺的幾個數(shù)據(jù)庫之一?;颊哳悇e有正常、甲狀腺功能亢進(jìn)、甲狀腺功能減退。
2.數(shù)據(jù)預(yù)處理
2.1數(shù)據(jù)清理與輸出數(shù)據(jù)編碼
主要進(jìn)行的數(shù)據(jù)清理包括數(shù)據(jù)集成、類型轉(zhuǎn)換和混亂格式處理。數(shù)據(jù)集成的主要工作是從數(shù)據(jù)集中把本課題研究所利用的數(shù)據(jù)特征和對應(yīng)的診斷結(jié)果擇取出來;類型轉(zhuǎn)換的主要工作是對輸出數(shù)據(jù)(診斷結(jié)果)進(jìn)行重新的編碼,正常類別的標(biāo)識為“0”;異常類別的標(biāo)識為“1”;混亂格式處理的主要工作是把數(shù)據(jù)變成標(biāo)準(zhǔn)的矩陣樣式,每一行代表一個記錄實例,每一列是一個特征值。
因目標(biāo)屬性書多分類屬性,需要將其轉(zhuǎn)化為二值日序列。本文采用one-hot編碼(獨(dú)熱編碼)將其轉(zhuǎn)化為多分類模式。
2.2輸入數(shù)據(jù)歸一化
關(guān)于數(shù)據(jù)轉(zhuǎn)換,對數(shù)據(jù)集中的輸入數(shù)據(jù)進(jìn)行歸一化處理。 因為各維的數(shù)據(jù)存在數(shù)量級差異,輸入輸出變量的數(shù)量級如果差別比較大,可能會導(dǎo)致網(wǎng)絡(luò)預(yù)測的效果不佳,為了避免上述情況,需進(jìn)行歸一化處理。數(shù)據(jù)進(jìn)行歸一化處理后,數(shù)據(jù)可以轉(zhuǎn)化為(0-1)之間的數(shù)值數(shù)據(jù)歸一化的方式往往有下面:
(a)最大最小法。函數(shù)的形式如下:
式中,為數(shù)據(jù)各列中的最小值; 為數(shù)據(jù)各列中的最大值。
三、實驗結(jié)果與分析
本文利用UCI機(jī)器學(xué)習(xí)數(shù)據(jù)庫中的四個標(biāo)準(zhǔn)數(shù)據(jù)集,對基于CURE-SMOTE算法的隨機(jī)森林模型的構(gòu)建。
根據(jù)精確率 P(Precision=TP/(TP+FP))、召回率R(Recall=TP/(TP+FN)和綜合評價指標(biāo)F1(F-score=2*P*R/P+R)進(jìn)一步分析不同數(shù)據(jù)集在模型中的性能。其中四個數(shù)據(jù)集的Precision分別為,97.51%、97.54%、79.37%和95.24%,Recall分別為96.01%、95.32%、86.21%和95.24%?;贑URE-SMOTE算法的隨機(jī)森林模型的 F1 得分分別為96.75%、96.43%、82.65%和 95.24%?;贑URE-SMOTE算法的隨機(jī)森林模型有著較好的結(jié)果。這也說明了,基于CURE-SMOTE算法的隨機(jī)森林模型在解決醫(yī)學(xué)數(shù)據(jù)不平衡問題中起到了較好的效果。
四、結(jié)論
在面對在實際的醫(yī)療診斷中存在大量的不平衡數(shù)據(jù),本文針對該類特點(diǎn)的數(shù)據(jù)集進(jìn)行數(shù)據(jù)挖掘,本文提出的改進(jìn)基于CURE-SMOTE算法的隨機(jī)森林對不平衡數(shù)據(jù)進(jìn)行分類,并在此基礎(chǔ)上進(jìn)行不平衡數(shù)據(jù)分類研究,抓住了隨機(jī)森林算法影響分類效果的核心和實質(zhì)。選取UCI中的Pima、Haberman、Post-operative、New-thyroid四個醫(yī)學(xué)數(shù)據(jù)集在基于CURE-SMOTE算法的隨機(jī)森林模型中取得了較好的效果,結(jié)合訓(xùn)練數(shù)據(jù)集的不平衡程度,即數(shù)據(jù)預(yù)處理的平衡化采樣所給算法帶來的影響,以實現(xiàn)對醫(yī)學(xué)不平衡數(shù)據(jù)更為精準(zhǔn)有效的分類,以期能夠更好地輔助臨床決策。
參考文獻(xiàn)
[1]Longadge MR, Donger MSS, Malik L. Class Imbalance Problem in Data Mining: Review. International Journal of Computer Science and Network, 2013, (2): 83-87.
[2]Guha S, Rastogi R, Shim K. CURE: an efficient clustering algorithm for large databases[C]//ACM SIGMOD Record.ACM,1998, 27(2):73-84
[3]周亞建,徐晨,李維國,基于改進(jìn)CURE聚類算法的無監(jiān)督異常檢測方法[J].通信學(xué)報,2010,31(7):18-23.
[4]邱榮財,基于Spark平臺的CURE算法并行化設(shè)計與應(yīng)用[D].華南理工大學(xué)碩士論文,2014.