首页 > 代码库 > 笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)

笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)

笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)

本内容来源于CDA-DSC课程内容,原内容为《第16讲 汽车金融信用违约预测模型案例》。 

建立违约预测模型的过程中,变量的筛选尤为重要。需要经历多次的筛选,在课程案例中通过了随机森林进行变量的粗筛,通过WOE转化+决策树模型进行变量细筛。

一、变量粗筛——随机森林模型 

与randomForest包不同之处在于,party可以处理缺失值,而这个包可以。

[html] view plain copy
 
 print?技术分享技术分享
  1. library(party)  
  2.    #与randomForest包不同之处在于,party可以处理缺失值,而这个包可以  
  3. set.seed(42)  
  4. crf<-cforest(y~.,control = cforest_unbiased(mtry = 2, ntree = 50), data=http://www.mamicode.com/step2_1)  
  5. varimpt<-data.frame(varimp(crf))  

 

 

party包中的随机森林建模函数为cforest函数,

mtry代表在每一棵树的每个节点处随机抽取mtry 个特征,通过计算每个特征蕴含的信息量,特征中选择一个最具有分类能力的特征进行节点分裂。

varimp代表重要性函数。( R语言︱决策树族——随机森林算法)

 



二、R语言实现WOE转化+变量细筛

R语言中有一个woe包,可以实现WOE转化的同时,通过WOE值进行y~x的决策树建立,应用决策树的重要性来进行变量细筛。

woe包需要从github中下载得到:

 

[html] view plain copy
 
 print?技术分享技术分享
  1. #library(devtools)  
  2. #install_github("riv","tomasgreif")  

[html] view plain copy
 
 print?技术分享技术分享
  1. library(woe)            
  2. IV<-iv.mult(step2_2,"y",TRUE)   #原理是以Y作为被解释变量,其他作为解释变量,建立决策树模型  
  3. iv.plot.summary(IV)  


summary(step2_3)

不能只看统计量,还要仔细的察看每个变量的取值情况。一般WOE建模数据是经过抽样的,因此可能需要多建模几次,看看不同的变量特征变化,再来进行变量细筛。

笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)