季晨雨
(北京衛(wèi)星信息工程研究所,北京 100000)
不平衡數(shù)據(jù)分類是分類問題中比較特殊的問題,主要特點(diǎn)是樣本類分布不平衡。在不平衡的二分類問題中,表現(xiàn)為其中一類的學(xué)習(xí)樣本遠(yuǎn)多于另一類的樣本[1]。不平衡數(shù)據(jù)集分類會(huì)存在偏向多數(shù)類,對(duì)少數(shù)類誤分比率很高的問題。這是因?yàn)槎鄶?shù)類的樣本數(shù)目明顯多于少數(shù)類,但有時(shí)候少數(shù)類恰恰是我們關(guān)注的重點(diǎn)。
本文利用了銀行營銷人員以電話方式對(duì)其定期存款業(yè)務(wù)進(jìn)行推銷的案例。隨著市場競爭的加劇,銀行需要識(shí)別目標(biāo)用戶并進(jìn)行精準(zhǔn)營銷以擴(kuò)大收益,提高工作效率。在本例中,需要根據(jù)以往營銷積累下的數(shù)據(jù)集構(gòu)建客戶是否會(huì)購買定期存款的預(yù)測模型,幫助銀行識(shí)別目標(biāo)客戶群體,進(jìn)行精準(zhǔn)營銷,提高營銷的成功率,避免非目標(biāo)客戶因電話營銷對(duì)銀行產(chǎn)生負(fù)面印象。在該案例中,以客戶是否購買定期存款為目標(biāo)屬性,該屬性中“是”和“否”的數(shù)據(jù)集樣本數(shù)目比為4640∶36548,屬于典型的不平衡分類問題。如果在構(gòu)建分類模型時(shí)不考慮數(shù)據(jù)集的平衡性,模型會(huì)出現(xiàn)對(duì)少數(shù)類誤分率很高的問題,但少數(shù)類恰恰是我們關(guān)心的目標(biāo)客戶群體。因此,在構(gòu)建分類模型時(shí)需要解決不平衡數(shù)據(jù)分類的問題。
解決不平衡數(shù)據(jù)分類問題,可以從數(shù)據(jù)、算法、評(píng)價(jià)指標(biāo)三個(gè)層面著手[2]。
1) 從數(shù)據(jù)的角度:通過改變?cè)紨?shù)據(jù)集的分布,采用過采樣或欠采樣,即增加少數(shù)類樣本或減少多數(shù)類樣本,使不平衡數(shù)據(jù)集的正負(fù)類樣本數(shù)達(dá)到平衡[3]。
2) 在算法上:修改已有的分類器,使之適應(yīng)不平衡數(shù)據(jù)的特征。主要包括代價(jià)敏感分類器,集成學(xué)習(xí)等方法。其中,代價(jià)敏感分類器對(duì)少數(shù)類樣本和多數(shù)類樣本分類錯(cuò)誤的代價(jià)區(qū)別開來,將少數(shù)類錯(cuò)誤地分到多數(shù)類將付出更大的代價(jià)。集成學(xué)習(xí)是在訓(xùn)練集上訓(xùn)練多個(gè)分類模型,預(yù)測時(shí)根據(jù)每個(gè)分類器的分類結(jié)果進(jìn)行投票,得到最終的預(yù)測結(jié)果。常用的組合分類方法,包括Bagging,Boosting以及隨機(jī)森林Random Forest等[4]。
3) 從評(píng)價(jià)指標(biāo)上:對(duì)于一般的分類模型通常使用模型的準(zhǔn)確率進(jìn)行評(píng)估。分類模型的準(zhǔn)確率反映了分類模型對(duì)數(shù)據(jù)集整體的分類性能。但只使用準(zhǔn)確率來衡量對(duì)不平衡數(shù)據(jù)集的分類效果,并不能反映對(duì)少數(shù)類的分類性能。利用少數(shù)類的召回率(查全率)可以反映正確判別的少數(shù)類占所有少數(shù)類的比例。 F1分?jǐn)?shù)同時(shí)考慮了分類模型的準(zhǔn)確率和召回率,是處理不平衡數(shù)據(jù)分類問題時(shí)的有效評(píng)價(jià)指標(biāo)[5]。
F1分?jǐn)?shù)可以看作是模型準(zhǔn)確率和召回率的一種加權(quán)平均,F(xiàn)1分?jǐn)?shù)的分布在0-1之間。
還可以采用ROC曲線下的面積AUC作為評(píng)價(jià)指標(biāo)。因?yàn)镽OC曲線有一個(gè)很好的性能,當(dāng)測試集中的正負(fù)樣本的分布變化時(shí),ROC曲線能夠保持不變,因此適合作為不平衡數(shù)據(jù)集分類時(shí)的評(píng)價(jià)指標(biāo)[6]。
本文所研究的數(shù)據(jù)集來源為UCI所提供的Bank Marketing Data Set數(shù)據(jù)集,該數(shù)據(jù)與葡萄牙銀行機(jī)構(gòu)實(shí)施電話直銷向客戶推銷其定期存款業(yè)務(wù)有關(guān)。數(shù)據(jù)集收集的時(shí)間自2008年5月至2010年10月,共包括41188個(gè)樣本和21個(gè)屬性,其中目標(biāo)屬性為是否購買定期存款,分別用“yes”和“no”代表是和否。輸入變量在結(jié)構(gòu)上有數(shù)值型和類別型,還可以按屬性的含義分為客戶信息屬性、銀行營銷行為屬性、社會(huì)經(jīng)濟(jì)背景屬性和其他屬性。
表1 數(shù)據(jù)集屬性列表
由于數(shù)據(jù)集中存在類別型屬性,需要對(duì)類別型屬性進(jìn)行數(shù)值化操作,即編碼處理。對(duì)housing、loan等二分類屬性,進(jìn)行0-1編碼,對(duì)education等有序分類屬性,按影響由小到大的順序編碼,對(duì)job,marital等無序分類屬性進(jìn)行啞變量編碼。
表2 marital屬性啞變量編碼
對(duì)于數(shù)值型特征,需要進(jìn)行連續(xù)型特征離散化處理,以便減小極端值和異常值對(duì)模型的影響。例如,duration屬性最大值為4918,平均數(shù)為258,中位數(shù)為259,75%分位數(shù)為319,均遠(yuǎn)遠(yuǎn)小于最大值,所以需要對(duì)duration變量進(jìn)行離散化。為了應(yīng)對(duì)不同屬性度量單位不同的情況,減小對(duì)基于距離度量的分類模型的影響,進(jìn)行數(shù)據(jù)規(guī)范化,將數(shù)據(jù)壓縮到一個(gè)范圍內(nèi)。
由于數(shù)據(jù)集的某些類別型屬性存在取值為unknown的樣本,需要進(jìn)行缺失值處理。在job和marital屬性上的缺失值較少,可以直接把含有缺失值的樣本刪除。對(duì)于education、loan等缺失值較多的屬性,利用各屬性值完整的樣本作為訓(xùn)練集,以缺失值所在的屬性作為目標(biāo)屬性進(jìn)行分類,以此預(yù)測缺失值。
原數(shù)據(jù)集樣本個(gè)數(shù)41188,其中包括4640個(gè)正類樣本,即購買定期存款的客戶樣本和36548個(gè)負(fù)類樣本,即沒有購買定期存款的客戶樣本。
為了解決樣本的不平衡問題,我們需要對(duì)訓(xùn)練集進(jìn)行SMOTE過采樣。對(duì)于SVM模型,需要設(shè)置class_weight參數(shù)為‘balanced’來進(jìn)行樣本均衡。
對(duì)訓(xùn)練集采取5-fold交叉驗(yàn)證,并以準(zhǔn)確率最高的模型使用的超參數(shù)作為最終模型的超參數(shù)。將訓(xùn)練并驗(yàn)證好的模型應(yīng)用在測試集上,以得到的分類結(jié)果作為分類模型性能的比較依據(jù)。
考慮到數(shù)據(jù)集的不平衡性,單獨(dú)使用準(zhǔn)確率已經(jīng)不能正確評(píng)價(jià)分類模型的好壞,因此選擇召回率(查全率)、F1分?jǐn)?shù)和ROC_AUC作為客戶購買預(yù)測模型的評(píng)價(jià)指標(biāo),三個(gè)評(píng)價(jià)指標(biāo)均是值越大,分類模型的性能越好。
分別利用邏輯回歸模型、決策樹模型、SVM模型、隨機(jī)森林模型、GBDT模型得到的分類結(jié)果如表3所示。
表3 各模型分類結(jié)果
根據(jù)各模型的分類結(jié)果可知,經(jīng)過SMOTE重采樣后的決策樹模型、邏輯回歸模型、隨機(jī)森林模型和GBDT模型在召回率(查全率)、F1分?jǐn)?shù)和ROC_AUC評(píng)價(jià)指標(biāo)上均有提升,說明SMOTE重采樣可以在一定程度上減少樣本的不平衡帶來的影響。設(shè)置‘balanced’后的SVM模型比不設(shè)置的SVM模型召回率(查全率)、F1分?jǐn)?shù)和ROC_AUC評(píng)價(jià)指標(biāo)上有所改進(jìn),但付出了準(zhǔn)確率降低的代價(jià)。
總的來說設(shè)置‘balanced’后的SVM模型在召回率(查全率)上表現(xiàn)最佳,基本可以識(shí)別大部分的目標(biāo)客戶,即選擇購買定期存款的客戶。而采用SMOTE重采樣后的GBDT模型在召回率(查全率)、F1分?jǐn)?shù)和ROC_AUC評(píng)價(jià)指標(biāo)上的綜合表現(xiàn)最好。
本文對(duì)不平衡數(shù)據(jù)分類問題進(jìn)行了研究,從數(shù)據(jù)、算法、評(píng)價(jià)指標(biāo)三個(gè)層面介紹了不平衡數(shù)據(jù)分類的解決辦法,并將其應(yīng)用于銀行營銷中客戶購買定期存款的預(yù)測任務(wù)。對(duì)原始數(shù)據(jù)集進(jìn)行了數(shù)據(jù)預(yù)處理,構(gòu)建了邏輯回歸、決策樹、SVM、隨機(jī)森林和GBDT預(yù)測模型,并對(duì)模型進(jìn)行參數(shù)優(yōu)化和評(píng)估。其中,設(shè)置‘balanced’后的SVM模型在召回率(查全率)上表現(xiàn)最佳,基本可以識(shí)別大部分的目標(biāo)客戶,即選擇購買定期存款的客戶。而采用SMOTE重采樣后的GBDT模型在召回率(查全率)、F1分?jǐn)?shù)和ROC_AUC評(píng)價(jià)指標(biāo)上的綜合表現(xiàn)最好。將訓(xùn)練好的預(yù)測模型應(yīng)用于銀行營銷中,可以幫助銀行識(shí)別目標(biāo)客戶群體,進(jìn)行精準(zhǔn)營銷,提高營銷的成功率,提高工作效率,擴(kuò)大收益。