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是坏)。代码运行结果如下:

R语言计算IV值的更多相关文章
- R语言计算moran‘I
R语言计算moran‘I install.packages("maptools")#画地图的包 install.packages("spdep")#空间统计,m ...
- R语言计算相关矩阵然后将计算结果输出到CSV文件
R语言计算出一个N个属性的相关矩阵(),然后再将相关矩阵输出到CSV文件. 读入的数据文件格式如下图所示: R程序采用如下语句: data<-read.csv("I:\\SB\land ...
- Python计算IV值
更多大数据分析.建模等内容请关注公众号<bigdatamodeling> 在对变量分箱后,需要计算变量的重要性,IV是评估变量区分度或重要性的统计量之一,python计算IV值的代码如下: ...
- 使用R语言-计算均值,方差等
R语言对于数值计算很方便,最近用到了计算方差,标准差的功能,特记录. 数据准备 height <- c(6.00, 5.92, 5.58, 5.92) 1 计算均值 mean(height) [ ...
- R语言查看栅格值
有这么一个需求,知道栅格上的坐标,想看看这个坐标上的栅格值是多少.坐标长这个样子 那么这样的坐标下的栅格值该怎么看 cellFromXY(the.stack$t1,c( -1505000,683500 ...
- [R语言]R语言计算unix timestamp的坑
R+mongo的组合真是各种坑等着踩 由于mongo中的时间戳普遍使用的是unix timestamp的格式,因此需要对每天的数据进行计算的时候,很容易就想到对timestamp + gap对方式来实 ...
- Windows中使用OpenBLAS加速R语言计算速度
在使用R的时候会发现R对CPU的利用率并不是很高,反正当我在使用R的时候,无论R做何种运算R的CPU利用率都只有百分子几,这就导致一旦计算量大的时候计算时间非常长,会给人一种错觉(R真的在计算吗?会不 ...
- R语言填充空缺值
在R语言中, imputeMissings包的特点是,如果空值是数值型,则使用median代替,如果使用的是character类型,则使用mode值代替. imputeMissing中,需要的包是im ...
- R语言分析(一)-----基本语法
一, R语言所处理的工作层: 解释一下: 最下面的一层为数据源,往上是数据仓库层,往上是数据探索层,包括统计分析,统计查询,还有就是报告 再往上的三层,分别是数据挖掘,数据展现和数据决策. 由上图 ...
随机推荐
- Python字典 你必须知道的用法系列
本文Python版本为3.7.X,阅读本文之前需了解python字典的基本用法. 介绍 字典(dict)是Python中内置的一个数据结构,由多个键值对组成,键(key)和值(value)用冒号分隔, ...
- C# VII: 统计文本行数
本文基于StackOverflow的以下问题收集整理而成. What is the fastest waty to count newlines in a large .NET string: htt ...
- 在Debian/Ubuntu上面安装升级nginx到最新版
在Debian下面通过 apt-get 可以自动安装 nginx,不过版本一般比较老,如果想要使用nginx的最新特性就需要升级版本. 一般安装可以通过编绎源文件安装,但可能需要安装很多编绎工具, ...
- 航空概论(历年资料,引之百度文库,PS:未调格式,有点乱)
航空航天尔雅 选择题1. 已经实现了<天方夜谭>中的飞毯设想.—— A——美国2. 地球到月球大约—— C 38 万公里3. 建立了航空史上第一条定期空中路线—— B——德国4. 对于孔明 ...
- opencv 3 core组件进阶(1 访问图像中的像素)
访问图像像素的三类方法 ·方法一 指针访问:C操作符[ ]; ·方法二 迭代器iterator; ·方法三 动态地址计算. #include <opencv2/core/core.hpp> ...
- jdbc-mysql测试例子和源码详解
目录 简介 什么是JDBC 几个重要的类 使用中的注意事项 使用例子 需求 工程环境 主要步骤 创建表 创建项目 引入依赖 编写jdbc.prperties 获得Connection对象 使用Conn ...
- 从无到有实现搭建vue+ElementUI+less+ES6的开发环境并进行简单的开发的项目
项目简介:该项目是基于日常计算宿舍水电煤气费的需求写的,旨在从无到有实现搭建vue+ElementUI+less+ES6的开发环境并进行简单的开发,使用webpack进行代码的编译.压缩和打包,并疏通 ...
- 2019-9-11:渗透测试,Kill远控软件,初接触
初步使用Kill远控软件,使win7靶机被远控 该文章仅供学习,利用方法来自网络文章,仅供参考 1,打开运行Kill,选择系统设置,设置监听端口,通讯密码,点击保存设置 2,点击服务生成,上线参 ...
- 【Luogu P1164】小A点菜
题目原链接: Luogu 小A点菜 [解题思路] 常规的0-1背包,不过是求装满整个背包的方案数,只要把0-1背包的状态转移方程稍微改一下就行.因为要求方案数,那么把方程中的max换成sum就行. [ ...
- nginx一:安装和基本应用
Nginx: 目录 Nginx:... 1 NGINX简介和安装... 1 网站... 1 全称... 2 二次开发版... 2 Nginx的特性... 2 基本功能... 2 web服务相关的功能. ...