算法简介

通过构建随机森林,为变量进行编码:

  1. 首先训练一个随机森林的模型
  2. 按照决策树的分叉,每个叶节点都会占用一个位置,比如下图就共有4个叶节点,因此最大的编码长度是4
  3. 如果这个特征A的值a,既可以匹配到第1个叶节点的位置,也可以到第3个叶节点的位置,那么这个值的编码就是[1,0,1,0]
  4. 依次编码,得到结果

RandomTreesEmbedding:https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomTreesEmbedding.html

代码示例

import numpy as np
import pandas as pd
from sklearn.ensemble import RandomTreesEmbeddingdataframe = pd.DataFrame(np.random.random(size=(100, 5)))
# 建模
tree_embedding = RandomTreesEmbedding(n_estimators=10, max_depth=3, random_state=0).fit(dataframe.values)
# 转换
spare_embedding = tree_embedding.transform(dataframe)
encode_array = spare_embedding.toarray()  # 得到numpy的结果
print(encode_array.shape)

参考文章

3 uses for random decision trees / forests you (maybe) didn’t know about:https://blog.davidvassallo.me/2019/08/06/3-uses-for-random-decision-trees-forests-you-maybe-didnt-know-about/

python RandomTrees特征编码相关推荐

  1. 特征编码2 - 无监督一维编码(序数编码、计数编码)及python示例

    前情提要:特征编码1 - 特征编码概述与分类:https://blog.csdn.net/weixin_35757704/article/details/123050687 无监督的含义是:特征编码时 ...

  2. 《用Python进行自然语言处理》第6章 学习分类文本

    1. 我们怎样才能识别语言数据中能明显用于对其分类的特征? 2. 我们怎样才能构建语言模型,用于自动执行语言处理任务? 3. 从这些模型中我们可以学到哪些关于语言的知识? 6.1 有监督分类 性别鉴定 ...

  3. Python机器学习笔记:sklearn库的学习

    自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法.还包括了特征提取,数据 ...

  4. python常用的数据预处理方法

    2019独角兽企业重金招聘Python工程师标准>>> 转载自:http://2hwp.com/2016/02/03/data-preprocessing/ 常见的数据预处理方法,以 ...

  5. 运行iDT算法代码及后续特征编码

    DT&IDT算法应该算是行为识别领域中经典中的经典了,自从13年提出以来,在HMDB-51和UCF-101等若干个数据库上得到了非常好的效果,虽然DT&IDT算法做不过深度学习,但是由 ...

  6. 数字图像处理与Python实现笔记之图像特征提取

    数字图像处理与Python实现笔记 摘要 绪论 1 数字图像处理基础知识 2 彩色图像处理初步 3 空间滤波 4 频域滤波 5 图像特征提取 5.1 图像颜色特征提取 5.1.1 颜色直方图 1 一般 ...

  7. 风控建模 python 知乎_风控建模基本要求及面试问题小结

    (本文是写给风控入门同学的建议!) 一 准备工作 根据核心职业CD法则,找工作前,你得先清楚自己有什么,自己要什么:面试单位有什么,面试单位要什么.就笔者近一年的学习及工作经验总结而言: 科班同学,最 ...

  8. [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  9. Python自然语言处理中文版-学习笔记

    第 1 章 语言处理与 Python 频率分布是项目连同它们的频率计数的集合(例如:一个文本中的词与它们出现的频率). 自然语言处理研究的一个重要目标一直是使用浅显但强大的技术代替无边无际的知识和推理 ...

最新文章

  1. struts2添加需要的jar包
  2. html5 jquery版工作流设计器,基于jQuery的web在线流程图设计器GooFlow
  3. 录取5秒钟的KNN取景效果gif(Opencv) Python实现
  4. mysql移植海思_海思Hi3518EV200(5)图像sensor驱动开发
  5. deepin/ubuntu安装苹方字体
  6. Docker小白到实战之开篇概述
  7. ssh(Spring+Spring mvc+hibernate)——IDeptService.java和IEmpService.java
  8. python网络库_python的网络库
  9. 计算机如何断开局域网,win7如何禁止局域网用户访问电脑
  10. gc android,Android GC Log解读
  11. [Bzoj1009][HNOI2008]GT考试(动态规划)
  12. 函数模板与函数的区别
  13. matplotlib 使用简明教程(三)-一些专业图表简介
  14. strpos php 中文,php substr中文乱码最有效到解决办法 还有strpos不能比较中文
  15. dns随笔(部分转载)
  16. 如何使用petri网建模工具
  17. Unity实现边缘轮廓高亮
  18. html怎么给段落加边框,Word2010怎样为段落加上边框
  19. python课后题答案董付国_python习题01——董付国学习系列
  20. LTE PRACH (1)

热门文章

  1. Java 反射 mdc失效,log4j中MDC使用陷阱
  2. 局域网弱口令扫描工具_漏洞扫描软件AWVS的介绍和使用
  3. js字符串解析与转换成数字
  4. 【Processing-日常1】小圆碰撞
  5. kafka1.0+ 集群搭建
  6. FJ集团企业级邮件服务器——Exchange服务器安装与配置(边缘传输服务器)
  7. 关于label在ie8,9下的兼容问题???
  8. 父元素与子元素的width关系
  9. 接口(interface)和抽象(abstract)类的区别
  10. python网络编程学习笔记(4):域名系统