【机器学习】feature_importances_ 参数源码解析
在用sklearn的时候经常用到feature_importances_ 来做特征筛选,那这个属性到底是啥呢。
![](/assets/blank.gif)
分析源码发现来源于每个base_estimator的决策树的
feature_importances_
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
由此发现计算逻辑来源于cython文件,这个文件可以在其github上查看源代码
![](/assets/blank.gif)
而在DecisionTreeRegressor和DecisionTreeClassifier的对feature_importances_定义中
到此决策树的feature_importances_就很清楚了:impurity就是gini值,weighted_n_node_samples 就是各个节点的加权样本数,最后除以根节点nodes[0].weighted_n_node_samples的总样本数。
下面以一个简单的例子来验证下:
![](/assets/blank.gif)
![](/assets/blank.gif)
上面是决策树跑出来的结果,来看petal width (cm)就是根节点,
featureimportance=(112∗0.6647−75∗0.4956−37∗0)/112=0.5564007189feature_importance=(112*0.6647-75*0.4956-37*0)/112=0.5564007189featureimportance=(112∗0.6647−75∗0.4956−37∗0)/112=0.5564007189,
petal length (cm)的
featureimportance=(75∗0.4956−39∗0.05−36∗0.1528)/112=0.4435992811feature_importance=(75*0.4956-39*0.05-36*0.1528)/112=0.4435992811featureimportance=(75∗0.4956−39∗0.05−36∗0.1528)/112=0.4435992811
忽略图上gini计算的小数位数,计算结果相同。
#待更新
【机器学习】feature_importances_ 参数源码解析相关推荐
- [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构
[源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 文章目录 [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 0x00 摘要 0x01使用 1.1 ...
- [源码解析] 机器学习参数服务器ps-lite (1) ----- PostOffice
[源码解析] 机器学习参数服务器ps-lite (1) ----- PostOffice 文章目录 [源码解析] 机器学习参数服务器ps-lite (1) ----- PostOffice 0x00 ...
- [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (5) 嵌入式hash表
[源码解析] NVIDIA HugeCTR,GPU版本参数服务器- (5) 嵌入式hash表 文章目录 [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (5) 嵌入式hash表 ...
- 【机器学习】word2vec学习笔记(一):word2vec源码解析
0. word2vec地址 官网地址:https://code.google.com/archive/p/word2vec/ GitHub地址:https://github.com/tmikolov/ ...
- [源码解析] 快手八卦 --- 机器学习分布式训练新思路(1)
[源码解析] 快手八卦 - 机器学习分布式训练新思路(1) 文章目录 [源码解析] 快手八卦 --- 机器学习分布式训练新思路(1) 0x00 摘要 0x01 设计思路 1.1 如何通信 1.2 通信 ...
- Spring源码解析 -- SpringWeb请求参数获取解析
Spring源码解析 – SpringWeb请求参数获取解析 简介 在文章:Spring Web 请求初探中,我们看到最后方法反射调用的相关代码,本篇文章就探索其中的参数是如何从请求中获取的 概览 方 ...
- MySQL核心参数含义的源码解析
引言 你访问的网站,大部分使用Apache服务器;你访问的网站,大部分使用Linux或BSD操作系统:你访问的网站,大部分使用MySQL数据库;你提交DNS域名查询请求大多由BIND服务器分析处理;你 ...
- 8145v5 参数_SpringBoot外化配置源码解析:外化配置简介、参数处理|value|spring|调用|参数值
SpringBoot外化配置源码解析 在前面章节我们讲解了 Spring Boot 的运作核心原理及启动过程中进行的一系列核心操作. 从本章开始,我们将针对在实践过程中应用的不同知识点的源代码进行解读 ...
- PyCrypto密码学库源码解析(二)RSA参数生成
Python Crypto库源码解析(二) RSA参数生成 * 版权声明 * 引用请注明出处,转载请联系: h0.1c@foxmail.com 本文主要讲解pycrypto库中RSA参数生成的实现方法 ...
最新文章
- R语言相关关系可视化函数梳理(附代码)
- 【机器学习基础】机器学习和深度学习的练习数据
- linux修改文件夹名称_1.3.2 对 Hello Word! 程序代码进行编辑修改
- android readonly file system,安卓ROOT权限下“Read-only file sytem”解决办法
- python下的mysql模块包装
- matplotlib -plt.rcparams.update
- AngularJS 模板
- 图像分割评估指标——表面距离计算库
- python 计算器功能实现
- Hadoop环境搭建
- CAD二次开发——cad查看对象C#:MdgDbg.dll
- echart 圆饼图 显示单位_ajax请求echarts圆饼图动态显示数据方法
- 发现并充分发挥你的长处—盖洛普优势测试
- IOS移动应用跳转微信小程序
- XP系统启动时滚动条总是时间很长
- 中国定制家具行业深度调研及投资前景预测报告
- java判断时间段是否交叉重叠
- 【操作系统】CPU(处理器)调度
- mel编程相较于c语言怎么样,MEL语言
- bootstrap和css样式兼容(ie、360、qq)不同浏览器的解决办法
热门文章
- 集市中迷失的一代:FreeBSD核心开发者反思开源软件质量
- 3D电视,你知道多少?
- 注解 @ModelAttribute 运用详细介绍
- VUE : 双重 for 循环写法、table 解析任意 list 、万能表格组件、解析一维数组、动态生成 table 所有数据
- 解决: This application has no explicit mapping for /error, so you are seeing this as a fallback.
- 谷歌浏览器如何如何禁用弹出窗口阻止程序
- C语言第三次博客作业---单层循环结构
- jmeter上传文件搞了一天,才搞定,没高人帮忙效率就是低,赶紧记下来,以备后用...
- Sql Server字符串函数
- android面试题精选