博主Slav Ivanov 的文章《Identifying churn drivers with Random Forests 》部分内容翻译。博主有一款自己的产品RetainKit,用AI和机器学习方法,帮助SaaS相关企业解决客户流失问题。如对他们对产品有兴趣,可以访问下面的链接进行更多了解:https://www.producthunt.com/upcoming/retainkit。

随机森林

随机森林是一个集成算法,通过生成很多棵树,最终以投票或算均值的方式得到结果。这篇文章可视为对随机森林中特征重要性估计的主要方法的回顾。

特征重要性

决策树类算法的特点之一就是有良好的模型解释性。我们可以分析出得到相应结果的数据原因,也可以得到哪些特征比较重要。下面来回顾一下得到这些的主要方法:

1,平均不纯度减少(MDI):表示每个特征对误差的平均减少程度。《统计学习要素》的作者非常简洁的解释了这种方法:“在每一棵树的每一个分裂中,分裂准则的改进是对分裂变量的重要度量,并分别在森林中的所有树上为每个变量累积。”让我们详细说明一下这段话的意思。如我们所知,决策树根据一些规则,将结点分裂为两个子结点。每次分裂都是针对一个可以使误差最小化的特征。误差的计算可以使均方误差,基尼纯度,信息增益,或者其他一些根据需要设置的指标。我们总结了所有树上,这个特定变量得到的所有分割使误差减少的情况。在sk-learn包中,每次分裂带来的提升效果,是由到达节点的样本数加权得到的,然后对特征的重要性进行归一化处理。值得注意的是,这种方法往往高估了具有许多类别的特性的重要性。这里描述了一种纠正MDI偏置的替代方法。

2,平均精确率减少(MDA):打乱每个特征的特征值顺序,并且度量顺序变动对模型的精确率的影响。这种巧妙的方法利用袋外数据来计算重要性。OOB数据是训练集的一部分,但不用于训练这种特殊的树。用OOB数据计算出基本误差,然后对每个特征,随机打乱顺序。实际上,这就像用相同的分布使用随机数据替换变量一样,并忽视树对该特性的已有知识。对于不重要的特征来说,打乱顺序对模型的精确率影响不会太大,但是对于重要的特征来说,打乱顺序就会降低模型的精确率。

3,Boruta:重复删除比最佳特征差的特征。主要思想就是检查比随机噪声重要的特征。首先我们要建立影子变量将所有特征混合。这就像在“减少平均精度”中描述的变量打乱一样,但这个方法是同时对所有变量进行操作。我们将影子特征加入到原有特征中,然后用随机森林进行训练。使用上述介绍的MDA或者MDI方法,我们可以看到哪个原始变量比影子变量重要。如果不相关的特征较少,则重要性度量更精确。因此,上述过程重复到预定义的次数,或者直到达到最小特征计数为止。这个算法从最不相关的特征开始删除,因此我们可以用删除顺序作为特征重要性排序。Boruta是一个“相关”的特征选择算法。这与通过确定最佳预测精度得到的最小数据集方法有细微的区别。正如该方法的作者所说的那样:“这个算法尝试找到所有对预测结果有用的特征,而不是找到一个使误差最小的特征集合。”

python随机森林特征重要性_基于随机森林识别特征重要性(翻译)相关推荐

  1. python随机森林筛选变量_用随机森林分类器和GBDT进行特征筛选

    一.决策树(类型.节点特征选择的算法原理.优缺点.随机森林算法产生的背景) 1.分类树和回归树 由目标变量是离散的还是连续的来决定的:目标变量是离散的,选择分类树:反之(目标变量是连续的,但自变量可以 ...

  2. python卡方检验筛选特征原理_基于Python的遥感特征筛选—递归特征消除(RFE)与极限树(Extra-Trees)...

    引言 基于前几篇文章关于筛选方法的介绍,本篇同样给大家介绍两种python封装的经典特征降维方法,递归特征消除(RFE)与极限树(Extra-Trees, ET).其中,RFE整合了两种不同的超参数, ...

  3. 随机森林原始论文_初识随机森林

    在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定. 发展出推论出随机森林的算法. 而 "Random Forests" 是他们的 ...

  4. 基于python的入侵检测系统毕设_基于时空特征融合的入侵检测系统模型

    期刊:COMPUTERS & SECURITY 期刊信息:JCR分区Q1:中科院分区2区:引用因子4.85 摘要: 入侵检测系统可以通过分析网络流量的特征来区分正常流量和攻击流量.近年来,神经 ...

  5. python中forward的作用_基于numpy的前馈神经网络(feedforward neural network)

    *** 这几天在上Andrew Ng教授开的Coursera系列课程Deep Learning,总觉得光是看视频和做作业还不够,还是得自己动手写写代码,亲自实现课程里提到的算法内容,于是便有了这篇博客 ...

  6. python交通流预测算法_基于机器学习的交通流预测技术的研究与应用

    摘要: 随着城市化进程的加快,交通系统的智能化迫在眉睫.作为智能交通系统的重要组成部分,短时交通流预测也得到了迅速的发展,而如何提升短时交通流预测的精度,保障智能交通系统的高效运行,一直是学者们研究的 ...

  7. python遥感影像地物分类_基于轻量化语义分割网络的遥感图像地物分类方法与流程...

    本发明属于图像处理 技术领域: ,特别涉及一种地物分类方法,可用于土地利用分析.环境保护以及城市规划. 背景技术: :遥感图像地物分类,旨在取代繁琐的人工作业,利用地物分类方法,得到输入遥感图像的地物 ...

  8. python opencv生成tf模型_基于TensorFlow+ Opencv 的人脸识别 和模型训练

    一.准备工作 本次实例的anaconda 环境 (有需要的自己导入anaconda) 链接:https://pan.baidu.com/s/1IVt2ap-NYdg64uHSh-viaA 提取码:g7 ...

  9. python输出一首诗_基于循环神经网络(RNN)的古诗生成器

    基于循环神经网络(RNN)的古诗生成器,具体内容如下 之前在手机百度上看到有个"为你写诗"功能,能够随机生成古诗,当时感觉很酷炫= = 在学习了深度学习后,了解了一下原理,打算自己 ...

最新文章

  1. 在Stack Overflow如果语言有问题,请写以下英文
  2. 十七UML核心视图动态视图之时序图
  3. commons-lang常用工具类StringEscapeUtils使用--转
  4. 内核中的page fault copy_from_user
  5. SpringBoot实战(十一)之与JMS简单通信
  6. rust 死后不知道家在哪_女朋友问去哪吃饭别说不知道了,郑州这几家餐厅最适合情侣约会。...
  7. 14英寸电脑长宽多少_华为MateBook 14 2020款 14英寸轻薄笔记本王者升级
  8. 我的ssis和ssas报错记录
  9. C语言实现查找一组数中的众数
  10. 【OR】YALMIP大M法和凸包
  11. 2018WPS暑期实习生web前端笔试题
  12. h264解码延迟优化_FFMPEG H264/H265 编码延迟问题
  13. 双重for循环 语法结构
  14. QGIS进行坐标转换
  15. 开发一个分销小程序需要多少钱?
  16. 2021-MAXP-DGL图机器学习大赛-Graph@ICT-复盘与总结【rank6】
  17. “世界杰出女科学家成就奖”组委会宣布2021年度五位获奖者
  18. python计算圆柱体的表面积和体积_java设计:问题是编写程序计算圆柱体的体积和表面积...
  19. H264—帧,片,参数集,NALU等概念
  20. devexpress gridview代码设置

热门文章

  1. C4D-学习笔记-4-渲染(ProRender渲染介绍)
  2. STM32做SPI主机用得多,SPI从机玩过吗?
  3. FL Studio乐理教程之和弦进行
  4. 憨猴科技“分布式运营系统“荣登世界互联网大会
  5. 计算机网络——基本认识
  6. vs2017打包所有文件到一个.exe或.msi 默认安装位置,加入桌面与菜单快捷方式
  7. Oracle 恢复dmp文件到数据库表中(超大DMP) 【数据系列 3】
  8. 安全:金融信息化的命脉
  9. 用python做一个上位机串口通信_PYTHON制作画加书法源程序
  10. 国产系统中标麒麟neokylin上的可视化大屏电子看板系统