基于簡(jiǎn)化的評(píng)分卡、Smote采樣和隨機(jī)森林的信貸違約預(yù)測(cè)
查看全文:http://tecdat.cn/?p=27949?
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
作者:Youming Zhang?
隨著互聯(lián)網(wǎng)經(jīng)濟(jì)的迅猛發(fā)展,個(gè)人信貸規(guī)模在近年來(lái)呈現(xiàn)了爆炸式增長(zhǎng)。信用風(fēng)險(xiǎn) 管控一直是金融機(jī)構(gòu)研究的熱點(diǎn)問(wèn)題。信貸違約預(yù)測(cè)目標(biāo)包括兩個(gè)方面。其一是為了使 債務(wù)人通過(guò)模型來(lái)進(jìn)行財(cái)務(wù)方面良性的決策。其二是債權(quán)人可以通過(guò)模型預(yù)測(cè)貸款人是 否會(huì)貸款后陷入財(cái)務(wù)方面的困境。我們以 LendingClub 信貸平臺(tái)上的數(shù)據(jù)作為信貸數(shù) 據(jù)樣本,構(gòu)造一個(gè)經(jīng)典的傳統(tǒng)信貸申請(qǐng)?jiān)u分卡模型和隨機(jī)森林預(yù)測(cè)模型幫助我們決策是否放貸。其中數(shù)據(jù)集24萬(wàn)條數(shù)據(jù),59個(gè)特征。
解決方案
任務(wù)/目標(biāo)
根據(jù)申請(qǐng)貸款人的各項(xiàng)指標(biāo)數(shù)據(jù),我們通過(guò)機(jī)器學(xué)習(xí)算法解決放貸與不放貸的二分類問(wèn)題。
數(shù)據(jù)源準(zhǔn)備
在著手處理數(shù)據(jù)之前,我們先了解一下基本的數(shù)據(jù)情況,為接下來(lái)的數(shù)據(jù)預(yù)處理,?特征工程和建模做準(zhǔn)備。首先我們明確目標(biāo)特征為 loan_status,原數(shù)據(jù)集中 fully paid 表示貸款完全結(jié)清,charged off 表示壞賬注銷。為了后期運(yùn)用邏輯回歸算法的方便,我們直接將其轉(zhuǎn)換成數(shù)值變量,用 1 來(lái)表示違約,0 表示正常償還。
數(shù)據(jù)探索
因?yàn)槲覀兪褂玫乃惴榛谶壿嫽貧w的評(píng)分卡和隨機(jī)森林模型,特征之間的線性相關(guān)性會(huì)對(duì)模型建立的環(huán)節(jié)有所影響,所以利用熱力圖展示一下特征之間的相關(guān)性。

圖中顏色越淺的部分,對(duì)應(yīng)兩兩元素的相關(guān)性越強(qiáng)。我們?cè)陬A(yù)處理和特征工程步驟對(duì)其需要著重處理。
數(shù)據(jù)預(yù)處理
對(duì)于缺失值,我們選擇刪除缺失值超過(guò)80%的特征,沒(méi)有超過(guò)閾值的用眾數(shù)補(bǔ)充。對(duì)于同值性變量,我們選擇將大于95%的變量刪除。因?yàn)楫惓V挡欢?,所以那一行?shù)據(jù)選擇直接刪除。由下圖可以看出這是一個(gè)不平衡樣本。

我們使用Smote上采樣算法,使其平衡。

最后我們將數(shù)值型特征emp_length,home_ownership,verification_status,term,addr_state,purpose進(jìn)行LabelEncoder編碼。
特征工程
我們知道特征之間存在共線性,利用VIF和COR兩個(gè)系數(shù)篩選,我們得到新的熱力圖如下??梢姽簿€性情況有很好的改善。

接著對(duì)特征進(jìn)行最大IV值分箱,同時(shí)刪除IV值較小的特征。最后得到部分連續(xù)特征的分箱結(jié)果如下。

將分箱結(jié)果WOE化,這樣可以得知分箱之間的實(shí)質(zhì)性間隔距離。
劃分訓(xùn)練集和測(cè)試集
我們使用 sklearn 中算法將數(shù)據(jù)集進(jìn)行劃分,訓(xùn)練集用來(lái)模型的擬合.驗(yàn)證集用來(lái)回歸調(diào)參數(shù),測(cè)試集用來(lái)測(cè)試模型的預(yù)測(cè)能力。
建模
簡(jiǎn)化評(píng)分卡模型
此處的創(chuàng)新點(diǎn)在于簡(jiǎn)化評(píng)分卡模型思想的構(gòu)建,我們簡(jiǎn)化的部分在于不去生成評(píng)分卡,而是利用評(píng)分卡模型中對(duì)特征進(jìn)行WOE變換的一個(gè)核心思想,將它和邏輯回歸模型相結(jié)合,從而得到一個(gè)簡(jiǎn)化評(píng)分卡模型。
特征處理的方式有很多,我們選擇WOE變換,這是因?yàn)閃OE變換后的變量和邏輯回歸線性表達(dá)式成單調(diào)關(guān)系,這樣更加好的衡量組與組之間的數(shù)量聯(lián)系。
隨機(jī)森林
用隨機(jī)的方式建立一個(gè)森林,森林由很多決策樹組成,隨機(jī)森林的每一棵決策樹之間是沒(méi)有關(guān)聯(lián)的。在得到森林之后,當(dāng)有一個(gè)新的輸入樣本進(jìn)入的時(shí)候,就讓森林中的每一棵決策樹分別進(jìn)行一下判斷,看看這個(gè)樣本應(yīng)該屬于哪一類(對(duì)于分類算法),然后看看哪一類被選擇最多,就預(yù)測(cè)這個(gè)樣本為那一類。
簡(jiǎn)化評(píng)分卡
我們將分箱得到的每個(gè)特征 woe 值替代數(shù)據(jù)集中特征本身的值。并用邏輯回歸模型?進(jìn)行分類,得到的模型結(jié)果準(zhǔn)確率達(dá)到了 0.7 以上,AUC = 0.78,ks=0.41 說(shuō)明模型預(yù)測(cè)?能力強(qiáng)。同時(shí)我們?cè)隍?yàn)證集上實(shí)現(xiàn)了學(xué)習(xí)曲線,發(fā)現(xiàn)并沒(méi)有顯著提升模型的準(zhǔn)確率,在?十次調(diào)用后只將準(zhǔn)確率提升了 0.02。

隨機(jī)森林
隨機(jī)森林是以決策樹為弱學(xué)習(xí)模型通過(guò) bagging 方法構(gòu)造出的強(qiáng)學(xué)習(xí)模型。它能容?納更多的信息,同時(shí)通過(guò)多模型的投票很好的避免了過(guò)擬合的影響。這一模型作為評(píng)分?卡的參考。我們用 n 表示底層決策樹的個(gè)數(shù),一般來(lái)說(shuō),樹的個(gè)數(shù)越多,模型的穩(wěn)定性?越強(qiáng),但對(duì)計(jì)算性能也有很高的要求。在這里我們構(gòu)建的樹的個(gè)數(shù)為 41 棵,得到模型?的結(jié)果準(zhǔn)確率達(dá)到了 90.9%,AUC 達(dá)到了 0.93,ks 達(dá)到了 0.82,分類結(jié)果非常好。

關(guān)于作者

在此對(duì)Youming Zhang對(duì)本文所作的貢獻(xiàn)表示誠(chéng)摯感謝,他擅長(zhǎng)機(jī)器學(xué)習(xí)、特征工程、數(shù)據(jù)預(yù)處理。

?
?
最受歡迎的見解
1.PYTHON用戶流失數(shù)據(jù)挖掘:建立邏輯回歸、XGBOOST、隨機(jī)森林、決策樹、支持向量機(jī)、樸素貝葉斯模型和KMEANS聚類用戶畫像
2.R語(yǔ)言基于樹的方法:決策樹,隨機(jī)森林
3.python中使用scikit-learn和pandas決策樹
4.機(jī)器學(xué)習(xí):在SAS中運(yùn)行隨機(jī)森林?jǐn)?shù)據(jù)分析報(bào)告
5.R語(yǔ)言用隨機(jī)森林和文本挖掘提高航空公司客戶滿意度
6.機(jī)器學(xué)習(xí)助推快時(shí)尚精準(zhǔn)銷售時(shí)間序列
7.用機(jī)器學(xué)習(xí)識(shí)別不斷變化的股市狀況——隱馬爾可夫模型的應(yīng)用
8.python機(jī)器學(xué)習(xí):推薦系統(tǒng)實(shí)現(xiàn)(以矩陣分解來(lái)協(xié)同過(guò)濾)
9.python中用pytorch機(jī)器學(xué)習(xí)分類預(yù)測(cè)銀行客戶流失