在用sklearn的时候经常用到feature_importances_ 来做特征筛选,那这个属性到底是啥呢。

分析源码发现来源于每个base_estimator的决策树的
feature_importances_


由此发现计算逻辑来源于cython文件,这个文件可以在其github上查看源代码

而在DecisionTreeRegressor和DecisionTreeClassifier的对feature_importances_定义中

到此决策树的feature_importances_就很清楚了:impurity就是gini值,weighted_n_node_samples 就是各个节点的加权样本数,最后除以根节点nodes[0].weighted_n_node_samples的总样本数
下面以一个简单的例子来验证下:


上面是决策树跑出来的结果,来看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.5564007189featurei​mportance=(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.4435992811featurei​mportance=(75∗0.4956−39∗0.05−36∗0.1528)/112=0.4435992811
忽略图上gini计算的小数位数,计算结果相同。

#待更新

【机器学习】feature_importances_ 参数源码解析相关推荐

  1. [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构

    [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 文章目录 [源码解析] 机器学习参数服务器 Paracel (1)-----总体架构 0x00 摘要 0x01使用 1.1 ...

  2. [源码解析] 机器学习参数服务器ps-lite (1) ----- PostOffice

    [源码解析] 机器学习参数服务器ps-lite (1) ----- PostOffice 文章目录 [源码解析] 机器学习参数服务器ps-lite (1) ----- PostOffice 0x00 ...

  3. [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (5) 嵌入式hash表

    [源码解析] NVIDIA HugeCTR,GPU版本参数服务器- (5) 嵌入式hash表 文章目录 [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (5) 嵌入式hash表 ...

  4. 【机器学习】word2vec学习笔记(一):word2vec源码解析

    0. word2vec地址 官网地址:https://code.google.com/archive/p/word2vec/ GitHub地址:https://github.com/tmikolov/ ...

  5. [源码解析] 快手八卦 --- 机器学习分布式训练新思路(1)

    [源码解析] 快手八卦 - 机器学习分布式训练新思路(1) 文章目录 [源码解析] 快手八卦 --- 机器学习分布式训练新思路(1) 0x00 摘要 0x01 设计思路 1.1 如何通信 1.2 通信 ...

  6. Spring源码解析 -- SpringWeb请求参数获取解析

    Spring源码解析 – SpringWeb请求参数获取解析 简介 在文章:Spring Web 请求初探中,我们看到最后方法反射调用的相关代码,本篇文章就探索其中的参数是如何从请求中获取的 概览 方 ...

  7. MySQL核心参数含义的源码解析

    引言 你访问的网站,大部分使用Apache服务器;你访问的网站,大部分使用Linux或BSD操作系统:你访问的网站,大部分使用MySQL数据库;你提交DNS域名查询请求大多由BIND服务器分析处理;你 ...

  8. 8145v5 参数_SpringBoot外化配置源码解析:外化配置简介、参数处理|value|spring|调用|参数值

    SpringBoot外化配置源码解析 在前面章节我们讲解了 Spring Boot 的运作核心原理及启动过程中进行的一系列核心操作. 从本章开始,我们将针对在实践过程中应用的不同知识点的源代码进行解读 ...

  9. PyCrypto密码学库源码解析(二)RSA参数生成

    Python Crypto库源码解析(二) RSA参数生成 * 版权声明 * 引用请注明出处,转载请联系: h0.1c@foxmail.com 本文主要讲解pycrypto库中RSA参数生成的实现方法 ...

最新文章

  1. R语言相关关系可视化函数梳理(附代码)
  2. 【机器学习基础】机器学习和深度学习的练习数据
  3. linux修改文件夹名称_1.3.2 对 Hello Word! 程序代码进行编辑修改
  4. android readonly file system,安卓ROOT权限下“Read-only file sytem”解决办法
  5. python下的mysql模块包装
  6. matplotlib -plt.rcparams.update
  7. AngularJS 模板
  8. 图像分割评估指标——表面距离计算库
  9. python 计算器功能实现
  10. Hadoop环境搭建
  11. CAD二次开发——cad查看对象C#:MdgDbg.dll
  12. echart 圆饼图 显示单位_ajax请求echarts圆饼图动态显示数据方法
  13. 发现并充分发挥你的长处—盖洛普优势测试
  14. IOS移动应用跳转微信小程序
  15. XP系统启动时滚动条总是时间很长
  16. 中国定制家具行业深度调研及投资前景预测报告
  17. java判断时间段是否交叉重叠
  18. 【操作系统】CPU(处理器)调度
  19. mel编程相较于c语言怎么样,MEL语言
  20. bootstrap和css样式兼容(ie、360、qq)不同浏览器的解决办法

热门文章

  1. 集市中迷失的一代:FreeBSD核心开发者反思开源软件质量
  2. 3D电视,你知道多少?
  3. 注解 @ModelAttribute 运用详细介绍
  4. VUE : 双重 for 循环写法、table 解析任意 list 、万能表格组件、解析一维数组、动态生成 table 所有数据
  5. 解决: This application has no explicit mapping for /error, so you are seeing this as a fallback.
  6. 谷歌浏览器如何如何禁用弹出窗口阻止程序
  7. C语言第三次博客作业---单层循环结构
  8. jmeter上传文件搞了一天,才搞定,没高人帮忙效率就是低,赶紧记下来,以备后用...
  9. Sql Server字符串函数
  10. android面试题精选