随机森林可视化

news2024/11/26 23:48:34

今天看到别人的文章,说到了随机森林可视化,于是尝试了下。

window安装

windows版本安装:
1.在下面去下载window的exe安装包,安装graphviz。

http://www.graphviz.org/download/
在路径选项,点击add path to computer,然后后面全部点确定就行。安装好以后,打开powershell,输入dot -version,就可以看到安装成功了。
2.安装pygraphviz和pybaobabdt

# 安装pygraphviz
conda install --channel conda-forge pygraphviz
# 安装pybaobabdt
pip install pybaobabdt
pybaobabdt.drawTree(decisionTreeClassifier, features=[], model=[], colormap='viridis', size=15, dpi=300, ratio=1, classes=[], maxdepth=-1, ax=-1)

linux安装

sudo apt-get install graphviz graphviz-dev
vim ~/.bashrc

conda install --channel conda-forge pygraphviz
pip install pybaobabdt

主要是使用Pybaobabdt来绘制决策树。

展示

下面这个是官网作者的图
在这里插入图片描述
这是我的数据的图:
在这里插入图片描述
不得不说,,,这个图也太丑了点,虽然用的是默认的决策树超参数。。。

DecisionTree( criterion=‘gini’, splitter=‘best’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=None, random_state=None, max_leaf_nodes=None, min_impurity_decrease=0.0, class_weight=None, ccp_alpha=0.0)

max_depth = 10max_depth = 3
在这里插入图片描述
在这里插入图片描述

我这个数据由于特征值太小,所以默认的决策树生长到5层就不生长了。所以max_depth参数只在1-5之间才有用。这加深了我对树类模型的调参认识。

from matplotlib.colors import ListedColormap
colors = ["gray", "purple"]
colormap = ListedColormap(colors)
pybaobabdt.drawTree(clf, size=10, dpi=72, features=features, colormap=colormap)

在这里插入图片描述

Usage

pybaobabdt.drawTree(decisionTreeClassifier, features=[], model=[], colormap='viridis', size=15, dpi=300, ratio=1, classes=[], maxdepth=-1, ax=-1)

这个ratio用来控制字符显示大小,maxdepth用来控制树的显示,可以选择只显示顶端5行。

随机森林用法

随机森林可以选择只显示其中一棵树

clf = RandomForestClassifier(n_estimators=20).fit(data, label)
pybaobabdt.drawTree(clf.estimators_[0], size=10, dpi=300, features=features)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/4147.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA类和方法注释模板配置

1、类的注释模板配置 File-->Settings-->Editor-->File and Code Templates-->File --->Class: 模板代码下所示: /*** ClassName: ${NAME}* Author : ${USER}* Date :${DATE} ${TIME}* Description: TODO* Version :1.0*/ 上述${NAME}为类名&…

QT Android环境搭建 及 解决“Platfrom tools installed”等系列配置问题( 附QT、JDK、SDK、NDK网盘链接 )

文章目录一、安装Android相关插件二、添加JDK、SDK、NDK路径三、搭建环境过程常见问题1. “Platfrom tools installed”失败2. 以上操作全部完成且无报错现象,Android编译就是报错3. “SDK manger is not available with the current version of SDK tools. Use nat…

计算机网络概述

既然我们无法逃避接触互联网,那么为何不去了解它并且使用它。 ——因特网“之父” 温顿.瑟夫 因特网概述 1、网络、互联网与因特网的区别与关系 多节点之间通过有线链路连接起来的有线链路简单网络 节点间也可以通过无线链路连接实现无线链路简单网络 网络与网络之…

基于51单片机有害气体浓度检测超限报警Proteus仿真

资料编号:157 下面是相关功能视频演示: 157-基于51单片机有害气体浓度检测超限报警Proteus仿真(源码仿真全套资料)功能介绍: 采用51单片机作为CPU,ADC0832作为AD转换模块,LCD1602显示当前采集的有害气体数值&#xf…

【爬虫系列】Python 爬虫入门(1)

爬虫说明 我们知道,互联网时代,大量的数据信息会以网页作为载体而存在,有些公开而免费的数据比较适合采集,并经过有效处理之后,可用于数据分析、机器学习、科学决策等方面,而从网页中采集数据的利器&#…

<学习笔记>从零开始自学Python-之-web应用框架Django( 八)Django表单

HTML 表单是交互式网站的基本组成部分,用户提交信息、搜索内容、与后台数据交互都要用到表单。 1、从请求对象中获取数据 view视图函数的第一个参数都是 request,这个request就是请求获得的HttpRequest对象。里面包含中有一些关于当前所请求 URL 的信息&#xff0c…

MySQL中SQL命令语句条件查询

一、聚合函数 聚合函数:又叫组函数,用来对表中的数据进行统计和计算,结合group by分组使用,用于统计和计算分组数据 常用聚合函数 count(col):求指定列的总行数max(col):求指定列的最大值min(col)&#…

SnowNLP使用自定义语料进行模型训练(情感分析)

SnowNLP SnowNLP是一个功能强大的中文文本处理库,它囊括了中文分词、词性标注、情感分析、文本分类、关键字/摘要提取、TF/IDF、文本相似度等诸多功能,像隐马尔科夫模型、朴素贝叶斯、TextRank等算法均在这个库中有对应的应用。如果大家仔细观察过博主的…

nodejs的下载安装

1.从官网下载nodejs 官网地址如下 Download | Node.js 选择老版本的node防止出现兼容问题 根据电脑下载64位或者32位的 2.安装node 配置环境变量,nodejs安装完成后,会默认在系统path环境变量中配置node.exe的路径,打开cmd,输入n…

Java实现DFA算法进行敏感词过滤

一、敏感词过滤数据文件 https://github.com/jkiss/sensitive-words 代码图数据文件如下: 二、敏感词实现原理基于二叉树排序 首先:query 日 ---> {本}、query 本 --->{人、鬼子}、query 人 --->{null}、query 鬼 ---> {子}。形如下结构&…

见微知著,从两道有意思的 CSS 面试题,考察你的基础

今天在论坛&#xff0c;有看到这样一道非常有意思的题目&#xff0c;简单的代码如下&#xff1a; <div><p id"a">First Paragraph</p> </div> 样式如下&#xff1a; p#a {color: green; } div::first-line {color: blue; } 试问&#xff0…

手写笔记教会你集成Spring和Mybatis框架(有详细注解)

目录 1. 为什么要将框架进行集成呢&#xff1f; 2. 框架的集成有什么好处&#xff1f; 3. Spring框架与Mybatis框架的集成 3.1 步骤一&#xff1a; 3.2 步骤二 3.3 Spring的配置文件&#xff1a; 3.4 Mybatis的配置文件&#xff1a; 4. 总结 1. 为什么要将框架进行集成…

基于51单片机智能恒温箱控制系统Proteus仿真

资料编号&#xff1a;153 下面是相关功能视频演示&#xff1a; 153-基于51单片机智能恒温箱控制系统Proteus仿真(源码仿真全套资料)功能介绍&#xff1a; 采用51单片机作为控制CPU&#xff0c;ds18b20作为温度传感器采集温度&#xff0c;LCD1602显示当前温度&#xff0c;采用…

【Yarn】spark/flink 作业的executor内存参数和Yarn web ui 显示不一致问题

前言 最近在做 CDH -> CDP 的迁移&#xff0c;Yarn迁移完成后&#xff0c;发现在spark/flink 作业的executor内存参数和Yarn web ui 显示申请的内存不一致。 例如&#xff1a;一个 spark 任务申请了 10个 executor&#xff0c;每个executor 内存为 1G&#xff0c;driver内…

董秋仙-1-函数极限连续-2

目录 利用单调有界原理求数列收敛&#xff0c;主要分为两步 利用切线放缩和定积分放缩 拆成两个调和级数相减拉链定理 使用诱导公式转化为可以使用等价无穷小的情形 无穷区间零点定理的取点 证明数列收敛有四种方法 证明调和级数发散的方法 利用单调有界原理求数列收敛&…

Docker专题(五)之 端口映射与容器互联

文章目录一、端口映射实现容器访问1.1 从外部访问容器的应用1.2 映射所有接口的地址1.3 映射到指定地址的指定端口1.4 映射到指定地址的任意端口1.5 查看映射端口配置二、互联机制实现便捷访问2.1自定义容器命名2.2 容器互联Docker除了通过网络来访问外&#xff0c;还提供了两个…

网络是怎样连接的--探索协议栈和网卡

“如果一生只有一次翻身的机会&#xff0c;那就用尽全力吧。” 文章目录1.创建套接字1.1 协议栈的内部结构1.2 套接字的实体就是通信控制信息1.3 调用socket时的操作2.连接服务器2.1连接含义2.2 负责保存控制信息的头部2.3 连接操作的实际过程3.收发数据3.1将http请求消息交给协…

JavaScript | 1000个判断条件难道要写了1000个 if ? 一文教你如何实现分支优化

&#x1f9d1;‍&#x1f4bc; 个人简介&#xff1a;大三学生&#xff0c;一个不甘平庸的平凡人&#x1f36c; &#x1f5a5;️ NodeJS专栏&#xff1a;Node.js从入门到精通 &#x1f5a5;️ 博主的前端之路&#xff08;源创征文一等奖作品&#xff09;&#xff1a;前端之行&am…

K线形态识别_身怀六甲和十字胎

写在前面&#xff1a; 1. 本文中提到的“K线形态查看工具”的具体使用操作请查看该博文&#xff1b; 2. K线形体所处背景&#xff0c;诸如处在上升趋势、下降趋势、盘整等&#xff0c;背景内容在K线形态策略代码中没有体现&#xff1b; 3. 文中知识内容来自书籍《K线技术分析》…

双非本计算机从零开始三年努力能做到什么程度【学习路线回顾总结问答】

文章目录前言一、回顾大学1.1 大一上1.1.1 第一个学期1.1.2 第一个寒假1.2 大一下1.2.1 第二个学期1.2.2 第一个暑假1.3 大二上1.3.1 第三个学期1.3.2 第二个寒假1.4 大二下1.4.1 第四个学期1.4.2 第二个暑假1.5 大三上1.5.1 第五个学期1.5.2 第三个寒假1.6 大三下1.6.1 第六个…