笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)
每每以为攀得众山小,可、每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~
———————————————————————————
本内容来源于CDA-DSC课程内容,原内容为《第16讲 汽车金融信用违约预测模型案例》。
建立违约预测模型的过程中,变量的筛选尤为重要。需要经历多次的筛选,在课程案例中通过了随机森林进行变量的粗筛,通过WOE转化+决策树模型进行变量细筛。
一、变量粗筛——随机森林模型
与randomForest包不同之处在于,party可以处理缺失值,而这个包可以。
- library(party)
- #与randomForest包不同之处在于,party可以处理缺失值,而这个包可以
- set.seed(42)
- crf<-cforest(y~.,control = cforest_unbiased(mtry = 2, ntree = 50), data=step2_1)
- varimpt<-data.frame(varimp(crf))
party包中的随机森林建模函数为cforest函数,
mtry代表在每一棵树的每个节点处随机抽取mtry 个特征,通过计算每个特征蕴含的信息量,特征中选择一个最具有分类能力的特征进行节点分裂。
varimp代表重要性函数。( R语言︱决策树族——随机森林算法)
二、R语言实现WOE转化+变量细筛
R语言中有一个woe包,可以实现WOE转化的同时,通过WOE值进行y~x的决策树建立,应用决策树的重要性来进行变量细筛。
woe包需要从github中下载得到:
#library(devtools)
#install_github("riv","tomasgreif")
library(woe) IV<-iv.mult(step2_2,"y",TRUE) #原理是以Y作为被解释变量,其他作为解释变量,建立决策树模型 iv.plot.summary(IV)
summary(step2_3)
不能只看统计量,还要仔细的察看每个变量的取值情况。一般WOE建模数据是经过抽样的,因此可能需要多建模几次,看看不同的变量特征变化,再来进行变量细筛。
笔记+R︱风控模型中变量粗筛(随机森林party包)+细筛(woe包)的更多相关文章
- R语言︱机器学习模型评估方案(以随机森林算法为例)
笔者寄语:本文中大多内容来自<数据挖掘之道>,本文为读书笔记.在刚刚接触机器学习的时候,觉得在监督学习之后,做一个混淆矩阵就已经足够,但是完整的机器学习解决方案并不会如此草率.需要完整的评 ...
- 如何在Python中从零开始实现随机森林
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 决策树可能会受到高度变异的影响,使得结果对所使用的特定测试数据而言变得脆弱. 根据您的测试数据样本构建多个模型(称为套袋)可以减少这种差异,但是 ...
- Machine Learning笔记整理 ------ (五)决策树、随机森林
1. 决策树 一般的,一棵决策树包含一个根结点.若干内部结点和若干叶子结点,叶子节点对应决策结果,其他每个结点对应一个属性测试,每个结点包含的样本集合根据属性测试结果被划分到子结点中,而根结点包含样本 ...
- # 机器学习算法总结-第八天(SKlearn中的kmeans/随机森林)
随机森林 这篇好好看看怎么调参的 我调的最佳参数如下,准确率为0.8428671546929973,细节看上篇文章: alg = RandomForestClassifier(n_estimators ...
- 笔记+R︱信用风险建模中神经网络激活函数与感知器简述
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 本笔记源于CDA-DSC课程,由常国珍老师主讲 ...
- R语言︱决策树族——随机森林算法
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:有一篇<有监督学习选择深度学习 ...
- 随机森林入门攻略(内含R、Python代码)
随机森林入门攻略(内含R.Python代码) 简介 近年来,随机森林模型在界内的关注度与受欢迎程度有着显著的提升,这多半归功于它可以快速地被应用到几乎任何的数据科学问题中去,从而使人们能够高效快捷地获 ...
- paper 56 :机器学习中的算法:决策树模型组合之随机森林(Random Forest)
周五的组会如约而至,讨论了一个比较感兴趣的话题,就是使用SVM和随机森林来训练图像,这样的目的就是 在图像特征之间建立内在的联系,这个model的训练,着实需要好好的研究一下,下面是我们需要准备的入门 ...
- 机器学习之Bagging与随机森林笔记
集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能.这对“弱学习器”尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也被直接称为弱学习器.虽然从理论上来 ...
随机推荐
- Eclipse 配置运行Spark
本文主要记录Spark 在 Eclipse中报 找不到主类的问题.在新建Spark工程,然后add external jars 选择 spark-assembly-1.4.0-hadoop2.6.0. ...
- mybatis不可忽略的细节
自我总结,欢迎拍砖! 目的:在需要返回int,long等基础类型数据的情况下,尽量在mybatis的Mapper中用基础类型的包装类. 原因:当查询的字段为空值时,mybatis会返回null,用基础 ...
- exit、_exit、abort、return的区别
转自:http://www.cnblogs.com/fixer/archive/2013/05/14/3078660.html _exit(): 跟exit功能大致相同,区别在于_exit不会清空所有 ...
- cordova+vue 项目打包成Android(apk)应用
现在使用vue开发的项目越来越多,使用vue开发的移动端打包就成了最大的问题.现在前端打包方案有好多种,但是综合来说,我比较喜欢用cordova来进行Android和ios的打包,配置完成之后,每次只 ...
- python中的列表排序
对列表进行排序是常见的操作,最简单的方式是使用sort()函数. 1.一般用法 不管列表元素是数.字符串还是元组,函数sort()总是就地操作列表,按升序进行排列元素,并返回None. #数 > ...
- oracle表中字段的添加、删除
在oracle数据库中为一张表添加一个字段: alter table tableName add ClIENT_OS varchar2(20) default '0' not null ; 在orac ...
- 洛谷 [P1341]无序字母对
这道题第一眼以为是一道字符串的题,但细想一下是一道求欧拉路的图论题. 把每一对对应关系看成一条边,本题即求这张图上是否存在一个欧拉回路或欧拉路,并要求字典序最小的方案,那么我们在dfs的时候就要从该点 ...
- BZOJ 4569: [Scoi2016]萌萌哒 [并查集 倍增]
传送门 题意:长为$n \le 10^5$的数字,给出$m \le 10^5$个限制$[l1,r1]\ [l2,r2]$两个子串完全相等,求方案数 把所有要求相等的位置连起来,不就是$9*10^{连通 ...
- 【视频编解码·学习笔记】6. H.264码流分析工程创建
一.准备工作: 新建一个VS工程SimpleH264Analyzer, 修改工程属性参数-> 输出目录:$(SolutionDir)bin\$(Configuration)\,工作目录:$(So ...
- 10位时间戳转为C#格式时间
/// <summary> /// 10位时间戳转为C#格式时间 /// </summary> /// <param name=”timeStamp”></p ...
