R语言计算IV值
2023-06-13 09:17:27 时间
在对变量分箱后,需要计算变量的重要性,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是坏)。代码运行结果如下:
相关文章
- 虚拟化与云计算硬核技术内幕 (6) —— 妇女能顶半边天
- 如何计算LSTM层中的参数数量
- R语言使用bootstrap和增量法计算广义线性模型(GLM)预测置信区间|附代码数据
- 【计算理论】下推自动机 PDA ( 上下文无关语言 CFL 的 泵引理 | 泵引理反证示例 | 自动机扩展 )
- 【计算理论】计算复杂性 ( 阶段总结 | 计算理论内容概览 | 计算问题的有效性 | 语言与算法模型 | 可计算性与可判定性 | 可判定性与有效性 | 语言分类 ) ★
- 【C 语言】字符串操作 ( strlen 与 sizeof 函数 | 计算 字符串长度 与 内存块大小 )
- 【C 语言】二级指针作为输入 ( 二维数组 | 二维数组内存大小计算 | 指针跳转步长问题 )
- Go语言big包:对整数的高精度计算
- 给你两个经纬度,计算他们之间的距离详解编程语言
- MySQL自动计算功能的优势与应用(mysql自动计算)
- C语言与MySQL,让计算世界更精彩(c语言mysql)
- 揭秘Oracle余额计算的高效公式(oracle余额计算公式)
- c语言计算三角形面积代码