大冲商务中心_(大冲商务中心c座地铁出口)
1 WOE和IV怎么计算?
2 如何对变量做分箱?
本文介绍woe分箱包-woeBinning,利用该包实现自动分箱和计算变量大冲商务中心的IV值。
woeBinning包介绍
woeBinning包使数字变量和因子相对于二元目标变量大冲商务中心的分箱过程自动化。 此外,它可视化已实现的分箱解决方案,可以表格化和部署应用到新的数据集。所有函数都可以与单个变量或整个数据框一起使用。
woeBinning函数
woe.binning对数值变量或者因子变量生成一个受监督的细分和粗分类。
woe.tree.binning对数值变量和因子变量生成监督树状分割。
woe.binning.plot对woe.binning或者woe.tree.binning的分箱解决方案进行数据可视化。
woe.binning.table对woe.binning或woe.tree.binning的分箱解决方案的结果进行表格化保存。
woe.binning.deploy将把woe.binning或woe.tree.binning生成并保存的分箱解决方案部署和应用到(新)数据中。
woe和IV计算逻辑
woe 计算IV计算woe-iv计算例子
思考:上述表里面的值是如何计算的?
woeBining包应用举例
# 加载woeBinning包,若是没有安装,请先安装
library(woeBinning)
# 加载dplyr包
library(dplyr)
# 使用包自带的数据集germancredit
data( "germancredit")
# 数据集检视
print(dim(germancredit))
print(head(germancredit))
# 数据集部分变量数据获取
# 定性变量和定量变量
df <- germancredit[, c( 'creditability', 'credit.amount', 'duration.in.month', 'savings.account.and.bonds', 'purpose')]
print(head(df))
# 自动分箱操作
binning <- woe.binning(df, 'creditability', df)
# 自动分箱后结果可视化
woe.binning.plot(binning)
变量集的woe值分布情况可视化
变量集的IV值分布情况可视化
结论:
变量duration.in.month的IV值最高,为0.254
基于iv值应用的经验法则,总结如下:
1) < 0.02 非常弱 不纳入到模型变量候选集
2)[0.02, 0.1) 很弱 针对实际情况决定是否纳入模型变量候选集
3)[0.1, 0.3) 一般 纳入模型变量候选集
4)[0.3, 0.5) 强 纳入模型变量候选集
5)>= 0.5 很强,具有可疑性,要进一步调查
# 分箱解决方案表格化存储
tabulate.binning <- woe.binning.table(binning)
tabulate.binning
# 分箱解决方案部署和应用到新的数据集
df. with.binned.vars.added <- woe.binning.deploy(
df,
binning,
add.woe. or.dum.var = 'woe'
)
View(df. with.binned.vars.added)
woe.df <- df. with.binned.vars.added %>% dplyr::select(contains( "woe."))
View(head(woe.df))
完整代码#加载R包
library(woeBinning)
library(dplyr)
#加载数据集
data( "germancredit")
print(dim(germancredit))
print(head(germancredit))
# 部分变量数据获取
# 定性变量和定量变量
df <- germancredit[, c( 'creditability', 'credit.amount', 'duration.in.month',
'savings.account.and.bonds', 'purpose')]
print(head(df))
# 自动分箱操作
binning <- woe.binning(df, 'creditability', df)
# 自动分箱后结果可视化
woe.binning.plot(binning)
tabulate.binning <- woe.binning.table(binning)
View(tabulate.binning)
df. with.binned.vars.added <- woe.binning.deploy(
df,
binning,
add.woe. or.dum.var = 'woe'
)
View(df. with.binned.vars.added)
woe.df <- df. with.binned.vars.added %>% dplyr::select(contains( "woe."))
View(head(woe.df))
版权声明:作者保留权利,严禁修改,转载请注明原文链接。
大冲商务中心我们努力坚持做原创,聚合和分享优质的省时的数据知识大冲商务中心!
数据工作
大冲商务中心我们公司大数据风控中心部门诚招:
1 风险分析和建模工程师(信用评分模型,反欺诈模型,额度模型|熟练常用ML算法|熟练使用R或者Python)
2 数据开发工程师(大数据平台开发,数据采集,数据预处理)
3 爬虫工程师(掌握爬虫技术,掌握反爬策略)
4 数据分析或者建模实习生(研究生学历|统计学,数学,计算机专业|熟悉R或者Python|有金融数据项目可以加分)
工作地点:深圳大冲商务中心
薪资待遇:面议
感兴趣者,请加小编微信。