在用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. 程序员自学到底有没有用?网友们吵翻了...
  2. 学习记录之Focal loss
  3. (转)那些年我们一起清除过的浮动
  4. kafka(一)-为什么使用kafka
  5. vue获取剪切板内容_vue通过clipboard插件实现复制到剪切板功能
  6. Redis的SETNX
  7. solve mass matrix in matlab
  8. linux磁盘健康监控,MegaCli监控RAID磁盘健康信息
  9. 软件工程师和程序员到底有多大的区别?
  10. CG100汽车编程器
  11. java类库编程_进阶Java编程(5)基础类库
  12. 李少白讲摄影-不放过一切光线 地坛书市新书首发圆满结束
  13. TIA博途中通过PN耦合器实现不同网段的PLC进行PROFINET通信的具体方法
  14. Skyline 质谱仪开源分析软件
  15. 安卓CTS官方文档之兼容性测试套件简介
  16. matlab如何调用优化算法,MATLAB优化算法(一)
  17. matlab分形曼德勃罗,曼德勃罗与他的分形几何学
  18. SpringCloud笔记(二)使用DiscoveryClient手动实现客户端负载均衡
  19. XP远程桌面连接空密码登陆
  20. 如果爱有来世,泪眸告别今生

热门文章

  1. STL中map和string, vector 用法详解
  2. 项目管理中的特殊———例外管理
  3. linux 复制指定目录下的全部文件到另一个目录中,linux cp 文件夹
  4. linux下的静态库与动态库
  5. Nagios_在不同平台下的安装
  6. javascript 反斜杠\
  7. 函数传参之商品价格计算—JS学习笔记2015-6-6(第50天)
  8. sql server 日期类型
  9. 【微信开发】上传下载多媒体文件
  10. java php 等,路径 上级路径,上上级路径表示方法