R语言计算IV值及使用-创新互联

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

大悟网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。

在对变量分箱后,需要计算变量的重要性,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值及使用

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:R语言计算IV值及使用-创新互联
分享链接:http://hbruida.cn/article/dechhs.html