如何用机器学习算法计算特征重要性
1.决策树
使用基尼系数(GI)和信息增益(IG)为决策树计算特征重要性。
(1)信息增益(information gain)
假定当前样本集合D中第k类样本所占我的比例为,则D的信息熵为
(1)
的值越小,则D的纯度越高。
假定离散属性a有V个可能的取值,若使用a来对样本集D进行划分,则会产生V个分支节点,其中第v个分支节点包含了D中所有在属性a上取值为的样本,记为。我们可以根据式(1)计算出的信息熵,再考虑到不同的分支节点所包含的样本数不同,给分支节点赋予权重||/|D|,即样本数越多的分支节点的影响越大,于是计算出用属性a对样本集D进行划分所获得的“信息增益”
(2)
一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的“纯度提升”越大。
(2)基尼指数(Gini index)
采用与式(1)相同的符号,数据集D的纯度可用基尼值来度量:
(3)
直观来说,反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率。因此越小,则数据集D的纯度越高。
采用与式(2)相同的符号表示,属性a的基尼指数定义为
(4)
一般而言,基尼指数越小,则意味着使用属性a来进行划分所获得的“纯度提升”越大。
2.随机森林
下面将介绍两种计算特征重要性的方法:
(1)通过基尼指数计算节点的纯度来衡量特征重要性,具体实现方案见1。
(2)通过袋外数据的误差OOB(out-of-bag)衡量特征重要性。
1)对每一颗决策树,选择相应的袋外数据(out of bag,OOB)计算袋外数据误差,记为errOOB1.
所谓袋外数据是指,每次建立决策树时,通过重复抽样得到一个数据用于训练决策树,这时还有大约1/3的数据没有被利用,没有参与决策树的建立。这部分数据可以用于对决策树的性能进行评估,计算模型的预测错误率,称为袋外数据误差。
这已经经过证明是无偏估计的,所以在随机森林算法中不需要再进行交叉验证或者单独的测试集来获取测试集误差的无偏估计。
2)随机对袋外数据OOB所有样本的特征X加入噪声干扰(可以随机改变样本在特征X处的值),再次计算袋外数据误差,记为errOOB2。
3)假设森林中有N棵树,则特征X的重要性=∑(errOOB2-errOOB1)/N。这个数值之所以能够说明特征的重要性是因为,如果加入随机噪声后,袋外数据准确率大幅度下降(即errOOB2上升),说明这个特征对于样本的预测结果有很大影响,进而说明重要程度比较高。
3.AdaBoost
AdaBoost 是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器,即弱分类器,然后把这些弱分类器集合起来,构造一个更强的最终分类器。
算法本身是改变数据分布实现的,它根据每次训练集之中的每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改权值的新数据送给下层分类器进行训练,然后将每次训练得到的分类器融合起来,作为最后的决策分类器。
AdaBoost ,理论上我们简单地平均底层分类器-CART决策树提供的特征重要性,且在所有迭代中,其最大深度为1。
4.Logistic回归和SVM
逻辑回归和支持向量机中特征的重要性,通常被认为是特征系数的绝对值,即自变量x对应的权重w。
如何用机器学习算法计算特征重要性相关推荐
- 如何用Python计算特征重要性?
特征重要性评分是一种为输入特征评分的手段,其依据是输入特征在预测目标变量过程中的有用程度. 特征重要性有许多类型和来源,尽管有许多比较常见,比如说统计相关性得分,线性模型的部分系数,基于决策树的特征重 ...
- 随机森林计算特征重要性_随机森林中计算特征重要性的3种方法
随机森林计算特征重要性 The feature importance describes which features are relevant. It can help with a better ...
- R语言基于机器学习算法进行特征筛选(Feature Selection)
R语言基于机器学习算法进行特征筛选(Feature Selection) 对一个学习任务来说,给定属性集,有些属性很有用,另一些则可能没什么用.这里的属性即称为"特征"(featu ...
- 随机森林计算特征重要性推导
调用了Sklearn函数包中RandomForestRegressor.feature_importances_函数计算特征重要性.随机森林(RandomForest)是由一棵棵决策树(Decisio ...
- 机器学习笔记 十五:随机森林(Random Forest)评估机器学习模型的特征重要性
随机森林 1. 随机森林介绍 1.1 租赁数据案例 2. 特征相关性分析(热图) 2.1 热图绘制 2.2 构建随机森林模型 2.3 不同特征合并的重要性 2.3.1 经纬度合并(分3类) 2.3.2 ...
- 如何用机器学习算法来进行电影分类?(含Python代码)
电影分析--K近邻算法 周末,小迪与女朋友小西走出电影院,回味着刚刚看过的电影. 小迪:刚刚的电影很精彩,打斗场景非常真实,又是一部优秀的动作片! 小西:是吗?我怎么感觉这是一部爱情片呢?真心被男主女 ...
- 机器学习中的特征重要性 Feature Importance
Feature Importance 闲话 几周没用CSDN,发现编辑器的字体变了.最近看了几篇讲特征重要性的文章.在这里[简要]记录一下我的总结,对不熟悉相关知识的读者做个导航. 优点 知道数据中的 ...
- Python每日一记42机器学习中特征重要性feature_importances_
在进行机器学习算法中,我们常用的算法就像下面的代码形式类型 经历导入数据-预处理-建模-得分-预测 但是总觉得少了点什么,虽然我们建模的目的是进行预测,但是我们想要知道的另一个信息是变量的重要性,在线 ...
- XGBoost feature importance特征重要性-实战印第安人糖尿病数据集
使用梯度提升之类的决策树方法集成的一个好处是,它们可以从训练有素的预测模型中自动提供特征重要性的估计. 在这篇文章中,您将了解如何使用 Python 中的 XGBoost 库估计特征对预测建模问题的重 ...
最新文章
- Android ListView 滚动翻页效果
- 删除Mac 系统中多出得MobileBackups 文件夹
- spring注入出错
- Java 分割字符串的方法String.split()底层原理
- php对手时间戳判断,PHP 中判断一个数字是否是Unix 时间戳
- js encodeURIComponent 之php解码
- STL常用的查找算法
- JS对象的属性名规则
- c ++查找字符串_C ++数组| 查找输出程序| 套装5
- Caffe CuDNN版本与环境不同导致make错误
- 处理ajax表单验证结果,使用 jQuery Form 插件完成带数据验证的 Ajax 表单
- springboot项目PageHelper分页插件的使用
- Silverlight初级教程-概述
- 《硅谷钢铁侠》---- 读书笔记
- 从铁路订票系统问题看应用监控的作用
- bochs运行xp_bochs xp镜像完整免费版
- 离线安装vscode
- did you register the component correctly
- 2022-2028年中国电源滤波器行业市场发展规模及未来趋势预测报告
- 程序化模型失效是策略模型的必然结局吗?
热门文章
- Linux系统安装Anaconda3保姆级教程
- 使用记账软件记录生活收支明细,如何防止收支不被他人修改
- 为老年人熟悉智能手机的APP
- Istio-智能DNS
- APMSERV 配置失败 或80端口被占用最全解决办法 100%解决
- php5.7 iis7.5,使用PHPManger给IIS7.5部署PHP7
- 7个等级 容灾等级_详细分析容灾备份的区别以及容灾的级别分类
- asp.net销售管理系统的设计和实现
- scrapy 抓取豆瓣Top250书籍信息
- (转)C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解