張忠林,趙喆梅,馬海云
(1.蘭州交通大學(xué)電子與信息工程學(xué)院,蘭州 730079;2.天水師范學(xué)院電子信息與電氣工程學(xué)院,甘肅 天水 741001)
隨著大數(shù)據(jù)時(shí)代的到來和數(shù)據(jù)采集系統(tǒng)的不斷完善,不平衡數(shù)據(jù)處理已成為學(xué)術(shù)界和應(yīng)用領(lǐng)域的研究熱點(diǎn)。傳統(tǒng)的分類算法對(duì)不平衡數(shù)據(jù)進(jìn)行分類使得類分布向多數(shù)類嚴(yán)重傾斜,容易產(chǎn)生錯(cuò)誤的分類結(jié)果,這會(huì)誤導(dǎo)人們做出錯(cuò)誤的判斷從而造成不可挽回的損失。因此,最大限度提高少數(shù)類樣本分類精度是很多學(xué)者的研究目標(biāo)。在分類任務(wù)中處理數(shù)據(jù)不平衡問題的方法可分為以下兩個(gè)層面:算法層面和數(shù)據(jù)層面。算法層面的方法主要是從根本上改進(jìn)現(xiàn)有的分類算法,包括集成學(xué)習(xí)[1]、代價(jià)敏感等[2,3]。集成分類器的性能往往優(yōu)于單個(gè)分類器的性能,常見的集成方法有提升(Boosting)[4]和袋裝(Bagging)[5],隨機(jī)森林(Random Forests)[6]是袋裝的一個(gè)變種。代價(jià)敏感實(shí)質(zhì)上是為錯(cuò)分到多數(shù)類的少數(shù)類賦予更大的錯(cuò)分代價(jià)[7],降低少數(shù)類的誤分率。數(shù)據(jù)層面的方法指通過改變樣本數(shù)量來處理數(shù)據(jù)不平衡問題,有兩種方法:合成新的少數(shù)類樣本的過采樣[8]和刪除部分多數(shù)類樣本的欠采樣[9]。相比過采樣,欠采樣在刪除樣本的過程中可能會(huì)丟失一部分關(guān)鍵信息,降低了分類器的泛化性能。
近年來研究者更多地關(guān)注過采樣方法。過采樣方法中最經(jīng)典的方法是Chawla 等(2002)[10]提出的SMOTE 算法(Synthetic Minority Oversampling Technique),該算法通過在兩個(gè)已有少數(shù)類樣本之間插值來生成新的少數(shù)類樣本。SMOTE算法雖然提高了少數(shù)類的預(yù)測(cè)精度,但在合成新樣本時(shí)沒有區(qū)別地選擇每個(gè)樣本,當(dāng)少數(shù)類樣本個(gè)數(shù)較少并含有較多噪聲信息時(shí),SMOTE算法會(huì)受近鄰隨機(jī)性干擾,易合成冗余樣本和噪聲樣本。針對(duì)SMOTE 算法的局限性,文獻(xiàn)[11]提出了Borderline-SMOTE 算法,此算法應(yīng)用k近鄰算法判斷少數(shù)類樣本位置,認(rèn)為少數(shù)類邊界處的樣本含有更重要的信息,只在少數(shù)類邊界處應(yīng)用SMOTE 合成新的樣本。He 等(2008)[12]提出一種基于少數(shù)類樣本分布的自適應(yīng)過采樣算法(Adaptive Synthetic Sampling Method,ADASYN),該算法根據(jù)少數(shù)類樣本的學(xué)習(xí)復(fù)雜程度來確定每個(gè)少數(shù)類樣本需合成新樣本的個(gè)數(shù),能有效提升分類器的分類性能,但該方法易受離群點(diǎn)影響而生成代表性不足的少數(shù)類樣本。Douzas 等(2018)[13]提出基于K-means 聚類的過采樣方法K-means SMOTE,該算法可以有效改善類不平衡問題,但其采樣結(jié)果受K-means 聚類效果的影響,易放大少數(shù)類樣本的誤差,降低分類器分類性能。
上述過采樣方法基于不同的側(cè)重點(diǎn)來處理不平衡數(shù)據(jù),但這些方法在選擇種子樣本時(shí)仍存在一定的不足?;诖?,本文提出了一種根據(jù)權(quán)重選擇種子樣本,優(yōu)化生成樣本分布的方法,使合成的新樣本更有類別代表性,有利于分類器識(shí)別少數(shù)類樣本邊界。
2002 年Chawla 等提出了SMOTE 算法[10],該算法是處理不平衡數(shù)據(jù)問題最經(jīng)典的過采樣方法之一,避免了隨機(jī)過采樣存在的過擬合風(fēng)險(xiǎn)。這項(xiàng)技術(shù)產(chǎn)生了人工樣本,而不再僅僅是復(fù)制已有的樣本。如下頁圖1所示,這是通過線性插值一個(gè)隨機(jī)選擇的少數(shù)類樣本和它鄰近的少數(shù)類樣本來實(shí)現(xiàn)的。SMOTE算法執(zhí)行三個(gè)步驟來生成新的樣本。首先,選擇一個(gè)隨機(jī)的少數(shù)類樣本a;然后,在其k個(gè)鄰近的少數(shù)類中,隨機(jī)選擇樣本b;最后,通過對(duì)兩個(gè)樣本進(jìn)行插值,生成一個(gè)新的樣本x=a+w(b-a),其中,w為在區(qū)間[0,1]中隨機(jī)取的權(quán)重。
圖1 SMOTE線性插值一個(gè)隨機(jī)選擇的少數(shù)類樣本及其k=6 的最近鄰
聚類是將一組對(duì)象劃分為多個(gè)類的過程,使同一聚類中的對(duì)象比不同聚類中的對(duì)象更相似。K-means 算法[14]由于其原理比較簡單、收斂速度快、容易實(shí)現(xiàn)等優(yōu)點(diǎn)被廣泛應(yīng)用。但K-means算法由于對(duì)所有的特征都一視同仁,因此在聚類過程中無法區(qū)別不同特征的重要性。因此Huang 等(2005)[15]提出了一種改進(jìn)的K-means 算法,即WKMeans 算法,它可以根據(jù)特征屬性在聚類中的重要性對(duì)特征自動(dòng)加權(quán),該方法基于迭代K-means算法過程中的當(dāng)前劃分,根據(jù)聚類內(nèi)聚類的方差計(jì)算每個(gè)變量的新權(quán)值,新權(quán)值用于確定下一次迭代中對(duì)象的聚類成員關(guān)系。在算法收斂時(shí)找到最優(yōu)權(quán)值,權(quán)值越大表示該特征對(duì)聚類結(jié)果越重要。WKMeans算法的目標(biāo)函數(shù)為:
其中,U是簇分配矩陣;Z是簇中心矩陣;W是權(quán)重矩陣;ui,l表示將樣本i分配到簇l中;為權(quán)重參數(shù),β控制權(quán)重W的分布;xi,j表示各目標(biāo)點(diǎn);zl,j表示各聚類中心;k為簇?cái)?shù);n為各聚類簇;d是數(shù)據(jù)集維數(shù);d(xi,j,zl,j)為目標(biāo)點(diǎn)到聚類中心的距離。
其中,Dj表示所有樣本點(diǎn)在第j個(gè)特征屬性上的距離和,d(xi,j,zl,j)=(xi,j-zl,j)2。
各個(gè)參數(shù)服從的約束條件為:
隨機(jī)森林算法是一種基于決策樹的集成算法,通過添加基本模型的預(yù)測(cè)來做出決定。訓(xùn)練樣本通過自助抽樣獲得,且每個(gè)基本模型都是一個(gè)簡單的決策樹。算法步驟為:首先,對(duì)樣本集自助抽樣生成訓(xùn)練集;然后,在生成的訓(xùn)練集上隨機(jī)選擇部分特征構(gòu)建決策樹;最后,采用投票的方式得到模型的輸出:
其中,x為數(shù)據(jù)集;C為類別數(shù);T為決策樹數(shù)量;ht(x)是決策樹t的模型;I(·)為指示函數(shù),參數(shù)為真時(shí)取值為1,否則為0。
隨機(jī)森林模型整合了每棵樹的預(yù)測(cè),從而降低了模型的誤差。此外,因?yàn)樵撃P途哂蟹夯芰^強(qiáng)、能夠容忍少量的異常值和缺失值、訓(xùn)練速度快等優(yōu)點(diǎn),因此在機(jī)器學(xué)習(xí)中被廣泛使用。圖2為隨機(jī)森林模型示意圖。
圖2 隨機(jī)森林模型
針對(duì)原有過采樣方法在合成新樣本時(shí)沒有區(qū)別地選擇每個(gè)樣本的問題,本文提出了根據(jù)權(quán)重選擇種子樣本,優(yōu)化合成樣本分布的加權(quán)過采樣方法。應(yīng)用特征加權(quán)的聚類算法WKMeans對(duì)原數(shù)據(jù)集進(jìn)行預(yù)處理。對(duì)少數(shù)類樣本的劃分,以少數(shù)類樣本的近鄰含有多數(shù)類樣本的個(gè)數(shù)Δ為閾值標(biāo)準(zhǔn),將少數(shù)類樣本劃分為兩類:安全樣本和邊界樣本。對(duì)邊界樣本賦予較大的權(quán)重,安全樣本權(quán)重相對(duì)較小,根據(jù)樣本權(quán)重計(jì)算邊界樣本和安全樣本分別需要合成的樣本個(gè)數(shù)。根據(jù)安全樣本和邊界樣本到P個(gè)多數(shù)類樣本間的歐氏距離賦予少數(shù)類樣本中每個(gè)樣本權(quán)重,距離越小,則樣本越靠近決策邊界,權(quán)重越大,合成越多新樣本,從而得到每個(gè)少數(shù)類樣本需要合成新樣本的個(gè)數(shù)。應(yīng)用SMOTE算法依照每個(gè)少數(shù)類樣本需要合成新樣本個(gè)數(shù)對(duì)少數(shù)類樣本進(jìn)行過采樣。最后將采樣過的均衡數(shù)據(jù)集在隨機(jī)森林分類器中進(jìn)行訓(xùn)練。
設(shè)不平衡數(shù)據(jù)集為D,訓(xùn)練集為T,測(cè)試集為S,T中少數(shù)類樣本個(gè)數(shù)為Tmin,多數(shù)類樣本個(gè)數(shù)為Tmaj。
WKSMOTE方法的步驟如下:
步驟1:將不平衡數(shù)據(jù)集D劃分為訓(xùn)練集T和測(cè)試集S。
步驟2:應(yīng)用WKMeans算法對(duì)T中樣本進(jìn)行預(yù)處理。
步驟3:計(jì)算訓(xùn)練集T需要合成的樣本數(shù)n_to_sample=Tmaj-Tmin。
步驟4:以少數(shù)類樣本的k 近鄰含有多數(shù)類樣本的個(gè)數(shù)Δ為閾值標(biāo)準(zhǔn),將少數(shù)類樣本劃分為安全樣本T_safe和邊界樣本T_border。
對(duì)于訓(xùn)練集Tsample={(xi,yi)|i=1,2,…,p,yi?{0,1}},xi是特征為i的樣本,yi是類標(biāo)簽。集合Tmin={(xmin,i,yi)|i=1,2,…,p,yi=0}是Tsample中的少數(shù)類樣本,集合Tmaj={(xmaj,i,yi)|i=1,2,…,p,yi=1}是Tsample中的多數(shù)類樣本,對(duì)于任意一點(diǎn)P?Tmin,若滿足sum(y=1)≤sum(y=0),則稱P點(diǎn)為邊界樣本點(diǎn);若滿足sum(y=1)>sum(y=0),則稱P點(diǎn)為安全樣本點(diǎn)。
步驟5:統(tǒng)計(jì)安全樣本和邊界樣本個(gè)數(shù)nT_safe、nT_border,分別取其倒數(shù)為bsafe、bborder,則式(5)為安全樣本區(qū)域權(quán)重,式(6)為邊界樣本區(qū)域權(quán)重。
步驟6:計(jì)算T_border和T_safe分別需要合成的樣本個(gè)數(shù)n_T_safe(式(7))和n_T_border(式(8))。
步驟7:計(jì)算T_border和T_safe中每個(gè)樣本到P個(gè)最近的多數(shù)類樣本的歐氏距離,式(9)為樣本i和樣本j間的歐氏距離,其中,C為特征數(shù)。
步驟8:計(jì)算步驟7 中P個(gè)距離之和Di,設(shè)權(quán)重為1Di。
步驟9:分別計(jì)算T_border和T_safe中所有樣本權(quán)重之和BNDi和SNDi。
步驟10:根據(jù)式(10)和式(11)計(jì)算T_border和T_safe中每個(gè)樣本需要合成的樣本個(gè)數(shù)NBe和NSe。
步驟11:對(duì)于Tmin中的每個(gè)樣本xi, 應(yīng)用SMOTE 算法按照每個(gè)樣本需要合成新的樣本個(gè)數(shù)合成新樣本Tnew。
步驟12:將合成的新樣本Tnew加入訓(xùn)練集T中生成新的數(shù)據(jù)集Dnew。
本文利用WKSMOTE方法合成新樣本,并將其加入原訓(xùn)練集中來改善數(shù)據(jù)集不平衡問題,使用隨機(jī)森林分類器進(jìn)行學(xué)習(xí),建立WKSMOTE-隨機(jī)森林模型。整體流程如圖3所示。
圖3 整體算法流程圖
具體過程如下:(1)輸入數(shù)據(jù)集,應(yīng)用WKSMOTE方法合成新的少數(shù)類樣本,并將其加入數(shù)據(jù)集中,構(gòu)成新的數(shù)據(jù)集。(2)利用隨機(jī)森林分類器對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,并用網(wǎng)格搜索方法進(jìn)行參數(shù)尋優(yōu),得到分類模型。(3)用測(cè)試集進(jìn)行測(cè)試,驗(yàn)證模型分類性能。
在用SMOTE 方法合成新樣本時(shí),每個(gè)少數(shù)類樣本生成的新樣本個(gè)數(shù)相同,導(dǎo)致合成了一些類別區(qū)分不大的樣本,進(jìn)而影響分類模型訓(xùn)練結(jié)果。由于每個(gè)樣本區(qū)分類別的價(jià)值不一樣,決策邊界處的樣本更有利于正確區(qū)分類別,因此,本文通過建立WKSMOTE-隨機(jī)森林模型,改進(jìn)SMOTE方法,在少數(shù)類的類邊界處合成更多新樣本,強(qiáng)化決策邊界,提高少數(shù)類樣本的分類性能。隨機(jī)森林作為經(jīng)典集成分類算法,將多個(gè)弱分類器分類結(jié)果投票選擇組成一個(gè)強(qiáng)分類器,優(yōu)于單分類做出的預(yù)測(cè)。在隨機(jī)森林分類過程中采用網(wǎng)格搜索方法選擇最優(yōu)參數(shù),提高預(yù)測(cè)準(zhǔn)確性。
WKSMOTE 方法時(shí)間復(fù)雜度主要由步驟2、步驟4、步驟7、步驟11決定。在步驟2中,WKMeans算法和KMeans時(shí)間復(fù)雜度相似,約減后都為O(n)。步驟4中將樣本劃分為邊界樣本和安全樣本是基于KNN 算法進(jìn)行的,時(shí)間復(fù)雜度為O(dn2),d是樣本特征數(shù)。步驟7計(jì)算每個(gè)正類樣本與每個(gè)負(fù)類樣本間的歐氏距離并求出p個(gè)距離最小值時(shí)間復(fù)雜度為O(pTminTmaj) ,其中,p是常數(shù)且Tmin 為了評(píng)價(jià)本文方法的有效性,選取UCI機(jī)器學(xué)習(xí)庫中的7 個(gè)不平衡數(shù)據(jù)集wave、abalone、car、haberman、yeast、ecoli、spect 和5 個(gè)KEEI 機(jī)器學(xué)習(xí)庫中的不平衡數(shù)據(jù)集balance、pima、phoneme、page-blocks、winequality 進(jìn)行實(shí)驗(yàn)驗(yàn)證。對(duì)于包含兩個(gè)以上類的數(shù)據(jù)集,將其中樣本數(shù)目較少的幾類標(biāo)記為少數(shù)類,并將其他所有樣本合并到多數(shù)類中。數(shù)據(jù)集具體信息如表1 所示。最后一列的IR 值表示數(shù)據(jù)集不平衡比率,本文選取數(shù)據(jù)集的不平衡比率在1.17至12.49之間。 表1 數(shù)據(jù)集信息 在對(duì)不平衡數(shù)據(jù)進(jìn)行分類時(shí),通常稱數(shù)目多的樣本為負(fù)樣本,數(shù)目少的樣本為正樣本。在非平衡數(shù)據(jù)學(xué)習(xí)中,主要目標(biāo)是提高正樣本的分類性能,同時(shí)對(duì)負(fù)樣本保持合理的性能。分類評(píng)估指標(biāo)將每個(gè)觀測(cè)值的真實(shí)隸屬度與分類器的預(yù)測(cè)值進(jìn)行比較,對(duì)于分類問題,混淆矩陣通常用來記錄樣本正確或錯(cuò)誤分類的結(jié)果。混淆矩陣如表2所示,其中,TP為正確分類的少數(shù)類樣本數(shù);TN為正確分類的多數(shù)類樣本數(shù);FP 為誤分為少數(shù)類的多數(shù)類樣本個(gè)數(shù);FN為誤分為多數(shù)類的少數(shù)類樣本個(gè)數(shù)。 表2 混淆矩陣 對(duì)于均衡數(shù)據(jù)集,常用準(zhǔn)確率(式(12))來評(píng)價(jià)分類性能,但用它來評(píng)價(jià)非均衡數(shù)據(jù)集的分類是不合理的。為此,有學(xué)者提出了一些新的不平衡數(shù)據(jù)分類評(píng)價(jià)指標(biāo),其中最常用的評(píng)價(jià)指標(biāo)是F-measure,F(xiàn)-measure同時(shí)考慮了準(zhǔn)確率(Precision)和召回率(Recall),是一個(gè)較全面的評(píng)價(jià)指標(biāo)。Kubat 等(1997)[16]提出的G-mean 值主要關(guān)注少數(shù)類樣本和多數(shù)類樣本的召回率情況,只有多數(shù)類樣本分類精度和少數(shù)類樣本分類精度都比較大時(shí),G-mean 才能比較大。Roc 曲線是以False Positive Rate(FPR)為橫坐標(biāo)軸、True Positive Rate(TPR)為縱坐標(biāo)軸的曲線,其下方的面積用數(shù)值表示就是AUC(Area Under the Roc Curve)。馬修斯相關(guān)系數(shù)(Matthews Correlation Coefficient,MCC)考慮了TP、TN、FN、FP,是一個(gè)比較綜合的指標(biāo),描述了預(yù)測(cè)分類與實(shí)際分類之間的相關(guān)系數(shù)。 本文采用F-measure、G-mean 和MCC 值來評(píng)價(jià)不均衡數(shù)據(jù)集的整體分類性能,采用AUC 值評(píng)價(jià)分類模型的穩(wěn)定性。各分類評(píng)價(jià)指標(biāo)計(jì)算如下: β為調(diào)節(jié)Precision 和Recall 相對(duì)重要性的系數(shù),當(dāng)β=1時(shí),即F1-Score。其中:Precision=,Recall=。 其中,specificity=TN/(TN+FP)。 為了驗(yàn)證WKSMOTE 方法的有效性,本文將其與SMOTE[10]及現(xiàn)有的改進(jìn)SMOTE 算法Borderline SMOTE[11]、ADASYN[12]、SVMSMOTE 和Kmeans SMOTE[13]在balance、pima、wave、abalone、car、haberman、yeast、ecoli、spect、phoneme、page-blocks、winequality 12 個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)驗(yàn)證,上述方法都使用隨機(jī)森林分類器。本文為保留類別比例,用分層劃分將數(shù)據(jù)集按7:3的比例劃分為訓(xùn)練集和測(cè)試集,并使用五折交叉驗(yàn)證方法得到最終的分類結(jié)果。 本文實(shí)驗(yàn)環(huán)境為:Inter i7-7500u,4核CPU,主頻2.70GHz,內(nèi)存4G,操作系統(tǒng)為Windows 10 64 位,仿真環(huán)境為Python 3.7。實(shí)驗(yàn)中,k的取值為5;WKMeans 算法中方聚類簇?cái)?shù)設(shè)為5;最近歐氏距離P取值為5。下頁表3至表5分別列出了6 種方法在8 個(gè)不均衡數(shù)據(jù)集上的F-measure、G-mean 和AUC 值,最后一行為每種方法在8 個(gè)數(shù)據(jù)集上的平均提高率,倒數(shù)第二行為每種方法在8個(gè)數(shù)據(jù)集上的平均結(jié)果。 表3 6種方法在8個(gè)數(shù)據(jù)集上的F-measure對(duì)比 表4 6種方法在8個(gè)數(shù)據(jù)集上的G-mean對(duì)比 表5 6種方法在8個(gè)數(shù)據(jù)集上的AUC對(duì)比 由表3 至表5 可知,本文提出的WKSMOTE 方法與其他5種方法相比,在處理不均衡數(shù)據(jù)分類問題上有了一定的提升。與SMOTE方法相比,F(xiàn)-measure值平均提高率為2.04%,G-mean 值平均提高率為2.62%,AUC 值平均提高率為1.01%。WKSMOTE方法相比SMOTE方法,在決策邊界合成更多新樣本,進(jìn)而在一定程度上更具優(yōu)勢(shì)。與Borderline SMOTE 方法相比,WKSMOTE 方法在yeast 數(shù)據(jù)集上的F-measure 值和在winequality 數(shù)據(jù)集上的AUC 值略低,在haberman數(shù)據(jù)集上的F-measure值和AUC值提升最明顯,分別提高了16.03%和8.93%;在balance 數(shù)據(jù)集上G-mean 值提高了5.02%。WKSMOTE 方法相比Borderline SMOTE方法在少數(shù)類樣本非邊界區(qū)域也合成了部分新樣本,使生成樣本分布更合理,實(shí)驗(yàn)效果相對(duì)更好。與ADASYN 方法相比,在balance 數(shù)據(jù)集上,F(xiàn)-measure 值沒有取得最佳結(jié)果,在其他兩個(gè)指標(biāo)上效果最佳,尤其在haberman數(shù)據(jù)集上,AUC值提升了10.36%。WKSMOTE方法相比ADASYN方法,在權(quán)重分配上更優(yōu)化,使合成的樣本更有代表性,提高了分類準(zhǔn)確率。與SVMSMOTE 方法相比,WKSMOTE 方法在8 個(gè)數(shù)據(jù)集上的F-measure 值和AUC值相差不大,但均有所提高,在haberman數(shù)據(jù)集上提高率達(dá)到最大,F(xiàn)-measure 值提高了7.2%;AUC 值提高了3.13%。和Borderline SMOTE 方法相似,SVMSMOTE 方法也只是對(duì)邊界樣本進(jìn)行采樣,存在一定的局限性。WKSMOTE方法和Kmeans SMOTE方法在各個(gè)數(shù)據(jù)集上的分類性能比較接近。WKSMOTE方法相比Kmeans SMOTE方法,F(xiàn)-measure 值平均提高率為1.17%,G-mean 值平均提高率為1.08%,AUC 值平均提高率為0.60%。Kmeans SMOTE 方法相比其他4 種方法的平均提高率較低。總體來說,WKSMOTE 方法在大部分?jǐn)?shù)據(jù)集上的分類性能優(yōu)于其他5種方法。印證了本文所提采樣方法在F-measure、G-mean、AUC 這3 個(gè)評(píng)價(jià)指標(biāo)上分類效果有一定的提升。 由6種方法在8個(gè)數(shù)據(jù)集上MCC值的柱形圖(圖略)可以看出,WKSMOTE方法相比其他5種方法在MCC評(píng)價(jià)指標(biāo)上有了一定的提升,尤其在haberman 數(shù)據(jù)集上提升幅度較大,相比5種方法中效果最好的Kmeans SMOTE 算法,WKSMOTE 方法提高了8.57%。再次印證了本文所提采樣方法的分類效果有一定的提升。 為了進(jìn)一步衡量本文過采樣方法的性能,與文獻(xiàn)[17]中的NodeStrength-SMOTE 方法進(jìn)行實(shí)驗(yàn)對(duì)比,表6 為兩種采樣方法在C4.5 決策樹上的訓(xùn)練結(jié)果,參數(shù)設(shè)置同文獻(xiàn)[17]。表6結(jié)果顯示:在分類器C4.5決策樹上,WKSMOTE方法在wave 數(shù)據(jù)集上的G-mean 值和spect 數(shù)據(jù)集上的F-measure 值低于NodeStrength-SMOTE 方法,其他分類結(jié)果均優(yōu)于對(duì)比方法。綜上所述,WKSMOTE方法可以有效提升分類效果,原因在于該方法生成的樣本更具代表性,有利于少數(shù)類樣本的正確分類。 表6 兩種方法在4個(gè)數(shù)據(jù)集上的性能對(duì)比 下頁表7 為3 種模型在8 個(gè)數(shù)據(jù)集上的F-measure、G-mean、AUC 和MCC 值對(duì)比,其中的最大值加下劃線表示。由F-measure、G-mean和MCC值可得,WKSMOTE-RF模型在多個(gè)數(shù)據(jù)集上取得了最優(yōu)值,說明對(duì)于經(jīng)WKSMOTE方法采樣后的數(shù)據(jù),采用隨機(jī)森林作為分類器更利于樣本分類。從AUC 值看,在特征維度較高的page-blocks 和winequality 數(shù)據(jù)集上,WKSMOTE-RF 模型沒有WKSMOTE-SVM 模型穩(wěn)定,在其他6 個(gè)數(shù)據(jù)集上都是最穩(wěn)定的,由此可知WKSMOTE-RF模型更適用于低維數(shù)據(jù)集。 表7 3種模型在8個(gè)數(shù)據(jù)集上的性能對(duì)比 下頁表8 為6 種模型在8 個(gè)數(shù)據(jù)集上的運(yùn)行時(shí)間,其中的最小值加下劃線表示。6 種模型都以隨機(jī)森林為分類器,因此其運(yùn)行時(shí)間差異主要在采樣方法上。聚類算法WKMeans 對(duì)整體運(yùn)行時(shí)間影響很小,所以影響過采樣方法運(yùn)行時(shí)間是在樣本的分配及合成新樣本環(huán)節(jié)。本文方法WKSMOTE在對(duì)樣本進(jìn)行劃分之前應(yīng)用WKMeans算法進(jìn)行聚類,使得相似的樣本更相近,減少了樣本分配和合成新樣本的時(shí)間,進(jìn)而減少了整體模型運(yùn)行時(shí)間。從表8可知,隨著數(shù)據(jù)集規(guī)模增大,運(yùn)行時(shí)間大幅度增加,在balance、phoneme、ecoli、yeast、page-blocks 和winequality 數(shù)據(jù)集上,WKSMOTE-RF 模型相比于其他5 種模型運(yùn)行時(shí)間都有所減少,在規(guī)模較小的數(shù)據(jù)集上運(yùn)行時(shí)間和其他5種模型相近,隨著數(shù)據(jù)規(guī)模增加,運(yùn)行時(shí)間減少幅度較大。在abalone和haberman數(shù)據(jù)集上,WKSMOTE-RF模型運(yùn)行時(shí)間大于Borderline SMOTE-RF,是由于WKSMOTE 方法在安全樣本區(qū)域需要合成的樣本遠(yuǎn)多于在邊界樣本區(qū)域需合成樣本,而Borderline SMOTE 只在邊界合成新樣本,學(xué)習(xí)規(guī)模小于WKSMOTE方法。winequality數(shù)據(jù)集總的數(shù)據(jù)量小于phoneme數(shù)據(jù)集,但除WKSMOTE-RF模型外,其他5 種模型運(yùn)行時(shí)間卻大于phoneme 數(shù)據(jù)集,是因?yàn)閣inequality 數(shù)據(jù)集的不平衡度更高,需要合成的新樣本更多,所以花費(fèi)時(shí)間更長。 表8 6種模型在8個(gè)數(shù)據(jù)集上的運(yùn)行時(shí)間對(duì)比 針對(duì)傳統(tǒng)過采樣方法在生成樣本分布上存在的不足,本文提出了一種優(yōu)化合成樣本分布的加權(quán)過采樣方法,根據(jù)權(quán)重分配在少數(shù)類邊界區(qū)域合成較多新樣本,在安全區(qū)域也合成一定的新樣本,強(qiáng)化了決策邊界。實(shí)驗(yàn)結(jié)果表明,本文提出的WKSMOTE 方法與原有的過采樣方法相比,在同樣采用隨機(jī)森林作為分類器對(duì)過采樣得到的數(shù)據(jù)集進(jìn)行學(xué)習(xí)的情況下,本文方法對(duì)不均衡數(shù)據(jù)集整體分類效果有一定的提升,有效地解決了數(shù)據(jù)失衡問題,改善了分類結(jié)果偏向多數(shù)類樣本的問題。3 實(shí)例分析
3.1 實(shí)驗(yàn)數(shù)據(jù)集
3.2 評(píng)價(jià)指標(biāo)
3.3 結(jié)果分析
3.4 各采樣方法運(yùn)算復(fù)雜度對(duì)比
4 結(jié)束語