張恒偉,賈修一
(南京理工大學(xué) 計算機科學(xué)與工程學(xué)院,江蘇 南京 210094)
軟件缺陷是每個開發(fā)人員都會面臨且必須解決的問題,需求理解不正確、軟件開發(fā)過程不合理或開發(fā)人員的經(jīng)驗不足,均有可能產(chǎn)生缺陷[1]。軟件缺陷預(yù)測可以識別出軟件中哪些模塊或類容易出現(xiàn)缺陷,是軟件工程領(lǐng)域中非常關(guān)鍵且必不可少的工作之一[2]。通過機器學(xué)習(xí)方法建立相關(guān)模型,可以準確地識別出軟件中的缺陷。預(yù)測模型的準確性通常受數(shù)據(jù)集不平衡性質(zhì)的影響[3],然而在軟件項目中,含有缺陷的樣本遠比無缺陷的樣本少得多,這會導(dǎo)致軟件缺陷預(yù)測中的數(shù)據(jù)集嚴重不平衡[4-6]。當數(shù)據(jù)集不平衡時,預(yù)測模型沒有充分獲取少數(shù)類(缺陷)的信息,其預(yù)測結(jié)果會偏向于多數(shù)類(無缺陷)的樣本,忽略了缺陷樣本或?qū)θ毕輼颖具M行錯誤的分類[7,8]。因此,類不平衡問題是公認的軟件缺陷預(yù)測模型性能較差的主要原因之一。近年來,越來越多的研究試圖緩解這一問題。
目前解決類不平衡問題的方法較多,主流的方法是使用數(shù)據(jù)采樣技術(shù)。截至目前,大多數(shù)數(shù)據(jù)采樣方法都是基于合成的過采樣方法。在過采樣中,通過復(fù)制或者簡單計算生成少數(shù)類樣本來平衡數(shù)據(jù)集中兩類樣本的個數(shù)。為了克服隨機過采樣(Random over-sampling,ROS)中出現(xiàn)的過擬合問題,Chawla等[9]提出了一種綜合少數(shù)過采樣技術(shù)(Synthetic minority over-sampling technique,SMOTE),用于生成新的少數(shù)類樣本,使得少數(shù)類樣本與多數(shù)類樣本達到平衡。SMOTE為每個少數(shù)類樣本找到k個少數(shù)類最近鄰,然后在這些鄰居中使用線性插值來生成新的合成樣本。通過將合成樣本添加到給定的數(shù)據(jù)集,SMOTE可以幫助擴展少數(shù)類的決策范圍。Han等[10]提出了一種僅對邊界附近的少數(shù)群體樣本進行過采樣的方法(Borderline-SMOTE),試驗表明該方法可獲得更好的Recall和F-measure。He等[11]提出了一種新的自適應(yīng)合成過采樣方法(ADASYN)。ADASYN的基本思想是根據(jù)不同的少數(shù)類樣本的學(xué)習(xí)難度,對它們進行加權(quán)分配。與那些較容易學(xué)習(xí)的少數(shù)類樣本相比,較難學(xué)習(xí)的少數(shù)類樣本生成的合成數(shù)據(jù)更多。ADASYN自適應(yīng)地將分類決策邊界移向困難樣本改善了數(shù)據(jù)分布從而減少由類不平衡引起的偏差。Barua等[12]提出了一種稱為多數(shù)加權(quán)少數(shù)過采樣技術(shù)(MWMOTE)的新方法,用于有效處理不平衡學(xué)習(xí)問題。MWMOTE首先識別難以學(xué)習(xí)且信息豐富的少數(shù)類樣本,并根據(jù)它們與最近的多數(shù)類樣本之間的歐氏距離來分配權(quán)重。然后,它使用聚類方法從加權(quán)的信息豐富的少數(shù)類樣本中生成合成樣本。這樣做的結(jié)果是,所有生成的樣本都位于少數(shù)類集群中。Yun等[13]提出了一種稱為自動鄰域大小確定的過采樣方法(AND-SMOTE)。這種方法限制了SMOTE中鄰域的大小,以保持數(shù)據(jù)的原始分布,并有助于SMOTE發(fā)揮最佳性能。定義和檢查包括少數(shù)類樣本及其領(lǐng)域在內(nèi)的樣本可確保生成合成樣本的安全性。通過獨立生成具有自動預(yù)定義k值的合成少數(shù)類樣本,可實現(xiàn)更好地分類。Douzas等[14]提出了一種簡單有效的基于k均值聚類的過采樣方法(K-means-SMOTE)。這種方法避免了噪聲的產(chǎn)生并有效地克服了類之間和類內(nèi)部地不平衡。Bennin等[15]提出了一種基于遺傳染色體理論的和針對軟件缺陷數(shù)據(jù)集的新穎有效的合成過采樣方法(MAHAKIL)。利用此理論,MAHAKIL將兩個不同的子類解釋為父級,并生成一個新樣本,這樣本繼承了每個父級的不同特征并有助于數(shù)據(jù)分布內(nèi)的多樣性。Gong等[16]提出了一種基于群集的帶噪聲過濾的過采樣方法(KMFOS)。KMFOS首先將缺陷樣本劃分為k個群集,然后通過在每兩個群集的樣本之間進行插值來生成新的缺陷樣本。最后,通過最近列表噪聲識別(Closest list noise identification,CLNI)來清理噪聲樣本。Kiran[17]提出了一種新穎的類不平衡減少算法(CIR),通過考慮數(shù)據(jù)集的分布特性來創(chuàng)建不平衡數(shù)據(jù)集中缺陷樣本和非缺陷樣本之間的對稱性。
總而言之,最近有很多過采樣技術(shù)旨在緩解不平衡的數(shù)據(jù)集。SMOTE及其變體(含ADASYN和KMFOS)都需要設(shè)置公共參數(shù)k(少數(shù)類最近鄰的數(shù)量),根據(jù)k確定候選區(qū)域來生成合成樣本。但是由參數(shù)k生成的合成樣本可能位于不適當?shù)膮^(qū)域,這些區(qū)域會降低模型的預(yù)測性能。且參數(shù)k的設(shè)置也并非那么容易,需要不斷地測試來獲取相對最佳的效果。其次,在實際應(yīng)用中,少數(shù)類樣本的分布是不均勻的。因此,新生成的樣本將仍然遵循原始樣本的分布。雖然合成的樣本在數(shù)量上平衡了兩類數(shù)據(jù),但本質(zhì)上并沒有對數(shù)據(jù)的分布改善多少。這些缺點使得SMOTE及其變體的應(yīng)用變得復(fù)雜化。CIR只是簡單計算缺陷類樣本所有屬性的質(zhì)心以合成新樣本,該方法過于簡單且沒有好的理論依據(jù)。MAHAKIL同樣也有一些局限之處:首先,該方法只能識別小型的集群數(shù)據(jù),對龐大而復(fù)雜的數(shù)據(jù)集群識別效果不佳;其次,該方法需要花費較高的代價計算馬氏距離,并且對于特征數(shù)較少的數(shù)據(jù)集,無法對協(xié)方差矩陣求逆,這會嚴重影響算法后面的計算結(jié)果。
針對以上不足之處,本文提出了一種新穎的基于生成式對抗網(wǎng)絡(luò)(Generative adversarial networks,GAN)[18,19]的過采樣方法來解決軟件缺陷預(yù)測中的類不平衡問題。這方法充分考慮了樣本的空間分布信息,可以生成更加合理且多樣化的樣本。不僅可以提高缺陷樣本的識別率,且降低了對非缺陷樣本的誤分類率。為了說明方法的有效性,本文進行了充分的試驗,與6種常見的過采樣方法:ROS、SMOTE,Borderline-SMOTE、MWMOTE、ADASYN和MAHAKIL以及未使用過采樣的方法進行性能比較,使用了來自NASA、AEEEM、ReLink、SOFTLAB和PROMISE數(shù)據(jù)倉庫的26個不平衡缺陷數(shù)據(jù)集,并考慮了8種分類算法在重新采樣的數(shù)據(jù)集上進行評估。試驗結(jié)果表明,本方法在Precision、Recall、F-measure和G-mean上都得到了明顯的提升。
要構(gòu)建缺陷預(yù)測模型,第一步是從軟件倉庫中創(chuàng)建數(shù)據(jù)樣本,例如版本控制系統(tǒng)、問題跟蹤系統(tǒng)等。根據(jù)樣本是否包含缺陷,可以將樣本標記為有缺陷或無缺陷。然后,基于獲得的度量和標簽,通過使用一組訓(xùn)練樣本來構(gòu)建缺陷預(yù)測模型。最后,預(yù)測模型可以對新測試樣本是否有缺陷進行分類。方法整體框架建構(gòu)如圖1所示。
圖1 方法整體框架圖
針對上文提到的合成過采樣方法的不足之處,本文受GAN網(wǎng)絡(luò)能夠生成多樣化的圖片而啟發(fā),這方法符合生成特定數(shù)據(jù)樣本的目標。通過將有缺陷的樣本輸入到GAN網(wǎng)絡(luò)中,可以得到期待的類似缺陷類樣本的合成樣本。GAN網(wǎng)絡(luò)生成器會將隨機變量與真實的缺陷樣本進行比對,使隨機變量朝著真實缺陷樣本的分布進行過度。通過判別器和生成器之間交替優(yōu)化的方式,使得生成的合成樣本與真實的缺陷樣本分布類似。這些合成樣本雖然是根據(jù)缺陷類樣本而生成,但又有各自的獨特之處,并不是所涉及的缺陷樣本的直接副本。此外,GAN在生成合成樣本的時候,充分參考了所有缺陷樣本的信息,這樣生成的樣本會更加的多樣化??傊?利用GAN不僅能平衡缺陷預(yù)測中兩類數(shù)據(jù)的分布,而且可以使數(shù)據(jù)地分布更加多樣化。本方法主要包括兩個步驟:數(shù)據(jù)提取和生成合成樣本。下面詳細描述這兩個過程。
表1 用于解決軟件缺陷預(yù)測中類不平衡問題的GAN網(wǎng)絡(luò)過采樣算法
假設(shè)不平衡缺陷數(shù)據(jù)集DS={s1,s2,s3,…,si,…,sn}(1≤i≤n,DS已歸一化),其中si表示項目中的第i個記錄,即第i個樣本。每個si包含m個屬性,其中每個屬性是軟件代碼分析的相關(guān)度量,例如代碼行數(shù)、Halstead科學(xué)度量和McCabe循環(huán)復(fù)雜度等[2],最后外加一個類標簽屬性。類標簽的值代表該模塊中出現(xiàn)的錯誤數(shù),其中零值表示是一個非缺陷的模塊,非零值表示是一個有缺陷的模塊。由于軟件缺陷預(yù)測屬于二分類問題,需要將所有類標簽值改為0或1,因此通過預(yù)處理,將類標簽中所有大于1的值改為1。
根據(jù)類標簽的值,可以把數(shù)據(jù)集劃分為兩類:標簽值為0的是非缺陷類,標簽值為1的是缺陷類。由于軟件缺陷預(yù)測中一般缺陷類總是少于非缺陷類,因此缺陷類是少數(shù)類,非缺陷類是多數(shù)類。其次,統(tǒng)計出少數(shù)類和多數(shù)類的樣本個數(shù),分別用N-和N+表示。故待生成的缺陷類樣本個數(shù)為N=N+-N-。與此同時需要統(tǒng)計出數(shù)據(jù)集DS中屬性的維度(除類標簽值屬性),用Dim表示。將DS、N和Dim送入GAN網(wǎng)絡(luò)中進行訓(xùn)練,最終生成缺陷類合成樣本。
數(shù)據(jù)提取完成之后,利用GAN網(wǎng)絡(luò)可以生成缺陷類樣本。GAN生成合成樣本的具體過程如下:GAN包含生成器G和判別器D兩個部分,生成器和判別器都采用神經(jīng)網(wǎng)絡(luò)。對于生成器,它的輸入為一個隨機變量z,經(jīng)過幾次線性變換和激活函數(shù)之后,將其映射到跟缺陷類樣本屬性維度(即Dim)同樣大小的特征空間中,最后經(jīng)過sigmoid激活函數(shù)使生成的假樣本數(shù)據(jù)分布能夠在0~1之間。關(guān)于判別器,它的輸入可能是真實的缺陷數(shù)據(jù)x,也有可能是生成器生成的盡量服從缺陷類數(shù)據(jù)分布的樣本G(z),通過多層感知器和激活函數(shù),最后接sigmoid激活函數(shù)得到一個0~1之間的概率進行二分類。D的目標是實現(xiàn)對數(shù)據(jù)來源的二分類判別:真(來源于真實缺陷數(shù)據(jù)x的分布)或者偽(來源于生成器的偽數(shù)據(jù)G(z))。假如輸入的是真實缺陷樣本,網(wǎng)絡(luò)輸出就接近1,輸入的是假樣本,網(wǎng)絡(luò)輸出接近0。而G的目標是使自己生成的偽數(shù)據(jù)G(z)在D上的表現(xiàn)D(G(z))和真實缺陷數(shù)據(jù)x在D上的表現(xiàn)D(x)一致。GAN網(wǎng)絡(luò)判別器訓(xùn)練過程如圖2所示。
圖2 GAN網(wǎng)絡(luò)判別器訓(xùn)練過程
在訓(xùn)練判別器時,先固定生成器G;然后利用生成器隨機模擬產(chǎn)生樣本G(z)作為負樣本,并從真實缺陷數(shù)據(jù)集中采樣獲得正樣本x;將這些正負樣本輸入到判別器D中,根據(jù)判別器的輸出(即D(x)或D(G(z)))和樣本標簽來計算誤差;最后利用誤差反向傳播算法來更新判別器D的參數(shù)。在訓(xùn)練生成器時,先固定判別器D;然后利用當前生成器G隨機模擬產(chǎn)生樣本G(z),并輸入到判別器D中;根據(jù)判別器的輸出D(G(z))和樣本標簽來計算誤差,最后利用誤差反向傳播算法來更新生成器G的參數(shù)。
如上所述,本文研究的主要目標是使用新提出的過采樣方法來提高在不平衡數(shù)據(jù)集上訓(xùn)練的缺陷預(yù)測模型的性能。將本方法與沒有進行過采樣的方法(NONE)以及一些經(jīng)典的過采樣方法進行全面的比較。下面,描述用于研究的數(shù)據(jù)集,試驗的相關(guān)設(shè)置以及一些用于評估模型性能的指標。
為了驗證本研究對軟件缺陷預(yù)測中不平衡數(shù)據(jù)集的影響,對來自PROMISE、NASA、AEEEM,ReLink和SOFTLAB數(shù)據(jù)倉庫的26個項目進行了試驗[2]。表2詳細列出了試驗中使用的數(shù)據(jù)集的相關(guān)信息。其中缺陷率=缺陷樣本個數(shù)/樣本總數(shù)*100%,不平衡率=(樣本總數(shù)-缺陷樣本個數(shù))/缺陷樣本個數(shù)。
表2 從5個數(shù)據(jù)倉庫中提取的26個不平衡數(shù)據(jù)集的簡單統(tǒng)計
從表2可知:(1)試驗所用的數(shù)據(jù)集分布廣泛,來自于5個不同的數(shù)據(jù)倉庫,不同數(shù)據(jù)倉庫中數(shù)據(jù)集的屬性個數(shù)都不同,因此可以驗證本研究在不同數(shù)據(jù)集上的表現(xiàn)效果,使得試驗更具代表性。(2)每個數(shù)據(jù)集中包含的樣本個數(shù)都不相同,且數(shù)量差異較大。最少的有35個樣本,而最多的達到1 862個,這也間接說明試驗所使用的數(shù)據(jù)集的多樣性。(3)數(shù)據(jù)集中的缺陷樣本個數(shù)都很少,其中缺陷最嚴重的是camel數(shù)據(jù)集,其缺陷率達到了3.83%,缺陷最少的數(shù)據(jù)集也有39.81%。數(shù)據(jù)集中的缺陷率都低于40%,其中絕大部分都低于20%,這表明試驗所使用的數(shù)據(jù)集滿足類不平衡問題的需求。(4)數(shù)據(jù)集中的不平衡率都遠大于1,表明數(shù)據(jù)集中的非缺陷樣本個數(shù)遠多于缺陷樣本。其中大部分數(shù)據(jù)集的不平衡率都超過了5,表明數(shù)據(jù)集中的缺陷樣本個數(shù)只有不足2成,這為研究軟件缺陷預(yù)測中類不平衡問題的有效性提供了方便。
為了試驗的公平性,本文在8個分類器上進行了試驗,分別是AdaBoost(AB)、Decision Tree(DT)、Extra Tree(ET)、Gradient Boosting(GB)、Logistic Regression(LR)、Naive Bayes(NB)、Random Forest(RF)和Support Vector Machines(SVM)。試驗中隨機選擇70%的數(shù)據(jù)集作為訓(xùn)練集,剩下30%作為測試集。為了減少隨機挑選數(shù)據(jù)對試驗結(jié)果造成的偏差,本文在每個分類器上都進行了100次試驗,最后統(tǒng)計100次的均值作為試驗的結(jié)果。試驗中使用的生成器為Linear(z,256)-ReLU()-Linear(256,256)-ReLU()-Linear(256,Dim)-Sigmoid(),判別器為Linear(Dim,256)-LeakyReLU(0.2)-Linear(256,256)-LeakyReLU(0.2)-Linear(256,1)-Sigmoid(),隨機向量維度為32,batch size為32,學(xué)習(xí)率為0.000 3,迭代次數(shù)為1 000。
通過采用控制變量法,本文確定了試驗中各參數(shù)的相對最優(yōu)取值。在隨機向量維度上,分別選取了4、8、16、32、64、128、256和512進行試驗。試驗結(jié)果表明,隨機向量維度在取值32時結(jié)果最好。同樣,對于batch size分別選取了1、2、4、8、16、32、64和128,當取值32時效果最佳。本文對學(xué)習(xí)率分別從0.000 1~0.001每隔0.000 1進行測試,發(fā)現(xiàn)取值0.000 3時模型性能最優(yōu)。至于迭代次數(shù)選取1 000是為了保證模型訓(xùn)練趨于穩(wěn)定并得到一個最優(yōu)的結(jié)果。試驗中使用的GAN網(wǎng)絡(luò)框架涉及的內(nèi)部參數(shù)與默認的一致。
在充分了解和比較各種評估指標的優(yōu)劣之后,本文選擇Precision、Recall、F-measure和G-mean作為本次試驗的評估指標。Precision即精確率或查準率,它表示正確分類為缺陷的缺陷樣本數(shù)與分類為缺陷的樣本數(shù)之比;Recall即召回率或真實陽性率,它表示正確分類為缺陷的缺陷樣本數(shù)與缺陷樣本總數(shù)之比。該指標對于缺陷預(yù)測非常重要,因為預(yù)測模型旨在盡可能多地發(fā)現(xiàn)缺陷實例;F-measure是Precision和Recall的諧波平均值的綜合度量;G-mean與F-measure類似,它是Recall和1-Pf(誤分類率)的諧波平均值,在數(shù)據(jù)不平衡的時候,該指標很有參考價值。在此,真陽性(TP)、假陰性(FN)、假陽性(FP)和真陰性(TN)分別是被預(yù)測為有缺陷的缺陷樣本的數(shù)量,被預(yù)測為無缺陷的缺陷樣本的數(shù)量,被預(yù)測為有缺陷的無缺陷樣本數(shù)和被預(yù)測為無缺陷的無缺陷樣本數(shù)。具體公式如表3所示。
表3 試驗所用評價指標
在26個不平衡數(shù)據(jù)集上用8種分類器對各種方法進行試驗。在4個評估指標上進行全面地對比并得到了一些數(shù)據(jù)。最后用折線圖來展示試驗結(jié)果,圖3~6分別是4個評估指標的折線圖對比結(jié)果。圖3~6分別是在26個不平衡數(shù)據(jù)集上針對不同評估指標在8個不同分類器上得到的平均值結(jié)果,其中橫坐標表示數(shù)據(jù)集,縱坐標表示評估指標的值。從圖中可以看出,本方法在4個評估指標上得到得結(jié)果都明顯優(yōu)于未進行采樣的方法,這表明本方法在解決軟件缺陷預(yù)測中的類不平衡問題上是有效果的。
圖3 在26個不平衡數(shù)據(jù)集上對比各種方法在8個分類器上Precision均值的折線圖
圖4 在26個不平衡數(shù)據(jù)集上對比各種方法在8個分類器上Recall均值的折線圖
圖5 在26個不平衡數(shù)據(jù)集上對比各種方法在8個分類器上F-measure均值的折線圖
圖6 在26個不平衡數(shù)據(jù)集上對比各種方法在8個分類器上G-mean均值的折線圖
本方法在4個評估指標上的結(jié)果都在0.9左右,而未進行采樣的結(jié)果絕大部分都在0.5以下。在大部分數(shù)據(jù)集上未進行采樣的方法不及本方法的1/2,甚至在某些數(shù)據(jù)集上不足本方法的1/3。這表明本方法不僅能解決類不平衡問題,而且在處理類不平衡問題時表現(xiàn)良好。
在4個評估指標上的絕大部分數(shù)據(jù)集上本方法都比其他過采樣方法結(jié)果要好。其中,比表現(xiàn)結(jié)果最差的ROS在26個數(shù)據(jù)集上的平均值分別提高了9.82%、7.39%、6.90%和6.25%,比表現(xiàn)次好的MAHAKIL也分別提高了4.36%、1.83%、2.58%和2.76%。這表明本方法較經(jīng)典的過采樣方法在性能上又有所提升,能夠更好地識別出缺陷樣本且降低了對非缺陷樣本的誤分類率。本方法之所以表現(xiàn)得最好,可能的原因是:本文方法是基于GAN網(wǎng)絡(luò)來生成缺少的缺陷類樣本,GAN網(wǎng)絡(luò)能充分考慮到樣本的空間分布信息,通過生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的反復(fù)交替優(yōu)化,使得生成的樣本更加豐富且多樣化。此外,ROS只是簡單的復(fù)制缺陷類樣本;SMOTE及其變體都使用k近鄰來創(chuàng)建新樣本,這些新樣本只是分布在一些較小的區(qū)域中;MAHAKIL考慮了樣本多樣化的問題,所以在這些經(jīng)典的過采樣方法中表現(xiàn)最好,但是其在各個分類器上的性能還是略遜于本方法,主要原因是MAHAKIL只適用于小型的數(shù)據(jù)集,對龐大而復(fù)雜的數(shù)據(jù)集識別效果不佳。試驗中,使用的數(shù)據(jù)集中有部分數(shù)據(jù)集樣本數(shù)和屬性個數(shù)較多,因此,使得MAHAKIL方法的整體表現(xiàn)不如本方法。
此外,為了對本文方法進行統(tǒng)計評估并與其他6種過采樣方法進行比較,使用Win/Tie/Loss進行評估。對所有方法中的Precision、Recall、F-measure和G-mean進行了Wilcoxon符號秩檢驗(p<0.05)。如果統(tǒng)計測試后本方法的性能優(yōu)于對比的方法,則標記本方法為“Win”;反之,則標記為“Loss”。如果本方法與對比方法之間在統(tǒng)計學(xué)意義上沒有顯著性差異,則將此情況標記為“Tie”。然后,計算本方法Win、Tie和Loss的次數(shù)。通過使用Win/Tie/Loss評估,可以清晰直觀地看出本方法與對比方法之間的優(yōu)劣情況。
從表4可知,本方法與其他過采樣方法在統(tǒng)計檢驗結(jié)果上有著明顯的優(yōu)勢。其中在超過半數(shù)的對比方法上有多于20個數(shù)據(jù)集占據(jù)著優(yōu)勢。這表明本方法在提高缺陷樣本識別率以及降低非缺陷樣本的誤分類率上比其他過采樣方法做得更好。受篇幅所限,本文只展示G-mean的統(tǒng)計結(jié)果,在其他3個指標上可以得出同樣的結(jié)論。
表4 將本方法與其他6個過采樣方法在G-mean值上的統(tǒng)計檢驗結(jié)果
針對軟件缺陷預(yù)測中的類不平衡問題,該文提出了一種新的方法來合成缺陷類樣本。該方法使用GAN網(wǎng)絡(luò)來生成缺少的缺陷類樣本,GAN網(wǎng)絡(luò)能夠充分挖掘出樣本分布的空間信息,通過生成器和判別器交替優(yōu)化的方式使得生成的新樣本更加合理科學(xué)。本文使用26個不平衡缺陷數(shù)據(jù)集在8種分類模型上與其他6種過采樣方法以及未采樣方法進行全面比較。經(jīng)過上百次的試驗,在Precision、Recall、F-measure和G-mean上進行測試。試驗結(jié)果表明,本文方法是最優(yōu)的。
在接下來的工作中,考慮將本方法應(yīng)用到更多的數(shù)據(jù)集中,包括一些商業(yè)項目,來驗證本方法的適用性。此外,還考慮在更多的預(yù)測模型中評估本方法的性能,并與更多的過采樣方法進行比較。