R语言计算IV值

R语言计算IV值,第1张

R语言计算IV值

更多大数据分析、建模等内容请关注公众号《bigdatamodeling

在对变量分箱后,需要计算变量的重要性,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是坏)。


代码运行结果如下:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/585882.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存