R语言计算IV值及使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言计算IV值及使用相关的知识,希望对你有一定的参考价值。

更多风控建模、大数据分析等内容请关注公众号《大数据风控的一点一滴》

在对变量分箱后,需要计算变量的重要性,IV是评估变量区分度或重要性的统计量之一,R语言计算IV值的代码如下:

CalcIV <- function(df_bin, key_var, y_var){
 N_0<-table(df_bin[, y_var])[1]
 N_1<-table(df_bin[, y_var])[2]
 iv_c<-NULL
 var_c<-NULL
 for (col in colnames(df_bin)){
   if (col != key_var && col != y_var) {
     frq<-as.data.frame(table(df_bin[, col], df_bin[, y_var]))
     len<-length(unique(frq$Var1))
     iv<-0
     for (i in 1:len){
       N_i_0<-frq$Freq[frq$Var1==i & frq$Var2==0]
       N_i_1<-frq$Freq[frq$Var1==i & frq$Var2==1]
       iv<-iv+(N_i_0/N_0- N_i_1/N_1)*log((N_i_0/N_0)/(N_i_1/N_1))
     }
     iv_c<-c(iv_c, iv)
     var_c<-c(var_c, col)
   }
 }
 iv_df<-data.frame(var=var_c, iv=iv_c, stringsAsFactors = FALSE)
 return(iv_df)

}

其中,df_bin是分箱后的数据集,key_var是主键,y_var是y变量(0是好,1是坏)。代码运行结果如下:
技术分享图片

以上是关于R语言计算IV值及使用的主要内容,如果未能解决你的问题,请参考以下文章

R中的第一阶段IV回归输出

R语言基于信息价值IV(Information Value)和证据权重WOE(Weights of Evidence)进行特征筛选(feature selection)

rstudio中没有iv.mult函数怎么办

R语言统计代码运行耗时实战:计算代码运行时间使用proc.time函数计算代码运行时间

r 计算管道的步骤(基本片段)

使用Intent传值及回传值