python画决策树_Python绘制决策树
绘制出决策树
经过训练的决策树,我们可以使用 export_graphviz 导出器以 Graphviz 格式导出决策树. 如果你是用 conda 来管理包,那么安装 graphviz 二进制文件和 python 包可以用以下指令安装
conda install python-graphviz
或者,可以从 graphviz 项目主页下载 graphviz 的二进制文件,并从 pypi 安装 Python 包装器,并安装 ‘pip install graphviz` .以下是在整个 iris 数据集上训练的上述树的 graphviz 导出示例; 其结果被保存在 iris.pdf 中:
from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()
clf_iris = tree.DecisionTreeClassifier()
clf_iris = clf.fit(iris.data, iris.target)
* 下面的代码可以到处我们的决策树 *
:func:export_graphviz 出导出还支持各种美化,包括通过他们的类着色节点(或回归值),如果需要,使用显式变量和类名。
* 注意:默认情况下,会导出图形文件*
Jupyter notebook也可以自动找出相同的模块
import graphviz # doctest: +SKIP
dot_data = tree.export_graphviz(clf, out_file=None) # doctest: +SKIP
graph = graphviz.Source(dot_data) # doctest: +SKIP
graph.render("iris") # doctest: +SKIP
dot_data = tree.export_graphviz(clf, out_file=None, # doctest: +SKIP
feature_names=iris.feature_names, # doctest: +SKIP
class_names=iris.target_names, # doctest: +SKIP
filled=True, rounded=True, # doctest: +SKIP
special_characters=True) # doctest: +SKIP
graph = graphviz.Source(dot_data) # doctest: +SKIP
graph # doctest: +SKIP
* 之后依旧可以使用该函数进行预测数据等操作*
clf_iris.predict(iris.data[:1, :])
array([0])
画出决策树的分类区域
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
# Parameters
n_classes = 3
plot_colors = "ryb"
plot_step = 0.02 # Load data
iris = load_iris()
for pairidx, pair in enumerate([[0, 1], [0, 2], [0, 3],
[1, 2], [1, 3], [2, 3]]):
# We only take the two corresponding features
X = iris.data[:, pair]
y = iris.target
# Train
clf = DecisionTreeClassifier().fit(X, y)
# Plot the decision boundary
plt.subplot(2, 3, pairidx + 1)
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, plot_step),
np.arange(y_min, y_max, plot_step))
plt.tight_layout(h_pad=0.5, w_pad=0.5, pad=2.5)
Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)
cs = plt.contourf(xx, yy, Z, cmap=plt.cm.RdYlBu)
plt.xlabel(iris.feature_names[pair[0]])
plt.ylabel(iris.feature_names[pair[1]])
# Plot the training points for i, color in zip(range(n_classes), plot_colors):
idx = np.where(y == i)
plt.scatter(X[idx, 0], X[idx, 1], c=color, label=iris.target_names[i],
cmap=plt.cm.RdYlBu, edgecolor='black', s=15)
plt.suptitle("Decision surface of a decision tree using paired features")
plt.legend(loc='lower right', borderpad=0, handletextpad=0)
plt.axis("tight")
plt.show()
参考资料
python画决策树_Python绘制决策树相关推荐
- python画正方体_python绘制立方体的方法
本文实例为大家分享了python绘制立方体的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # This is (almost) a direct C++ to Pyt ...
- 如何在手机上用python画玫瑰_python绘制玫瑰的实现代码
今天为大家介绍一个Python绘制一朵漂亮的玫瑰花,用python的turtle库这个绘画库是非常简单的,但是还是需要你测试路径方向,慢慢调试,下面的代码具有一定的参考价值 利用python绘制一朵玫 ...
- 用python画六芒星_Python绘制六角星、多角星、小太阳、小风车
绘制如下图的,多角图形.思路. (1)每个角是一个标准的等边三角形,把绘制等边三角形作为一个标准函数. (2)观察图形,可以看出,画的三角形在不断的旋转和移动,因此第一步找到三角形画法起始点的海龟头旋 ...
- python画圆柱体_python绘制圆柱体的方法
本文实例为大家分享了python绘制圆柱体示的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python import vtk # 参考的C++版本源码及解释 感谢原作者 # ht ...
- 怎么用python画圆柱_python绘制圆柱体
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 用python画熊_Python绘制PDF,CDF
PDF,CDF 正态分布的PDF和CDF对比: PDF:概率密度函数(probability density function) CDF : 累积分布函数 (cumulative distributi ...
- 用python画树_Python+Turtle动态绘制一棵树实例分享
本文实例主要是对turtle的使用,实现Python+turtle动态绘制一棵树的实例,具体代码: # drawtree.py from turtle import Turtle, mainloop ...
- python画国际象棋_python图形工具turtle绘制国际象棋棋盘
本文实例为大家分享了python图形工具turtle绘制国际象棋棋盘的具体代码,供大家参考,具体内容如下 #编写程序绘制一个国际象棋的棋盘 import turtle turtle.speed(30) ...
- python画箭头_Python matplotlib绘制图形,包括点、曲线、注释和箭头
Python的matplotlib模块绘制图形功能很强大,今天就用pyplot绘制一个简单的图形,图形中包括曲线.曲线上的点.注释和指向点的箭头. 1. 结果预览: 2. 代码如下: from mat ...
最新文章
- 《ASP.NET Core In Action》读书笔记系列五 ASP.NET Core 解决方案结构解析1
- shell 字符串截取
- linux ubuntu 切换到超级用户失败的解决办法(su 认证失败)
- python怎么设置图的大小_python – 如何调整seaborn中的子图大小?
- oracle的三个管理,Oracle数据库的在空间管理三个技巧是什么?
- 方法练习2_求出1到100的累加和
- php框架中什么是渲染,thinkPHP5框架渲染模板的3种方式简述
- Java语言学习概述
- 产品认知:产品经理如何锻炼产品思维?
- (转)CentOs 设置静态IP 方法
- php中带?错误,参考-此错误在PHP中意味着什么?
- 用户扫描二维码进入公众号后自动发送指定消息_公众号裂变,社群裂变,个人号裂变,运营操作指南...
- Google 如何设计与构建超大规模的软件系统
- process.nextTick
- windows版本变迁
- VIN码识别-汽修行业新技术
- SOA(面向服务的架构)
- 2023年第10期(NeuroImage):DomainATM:多中心医学图像数据标准化工具箱
- 虚拟机安装Ubuntu 22.4
- 爱克发胶片_Agfa(爱克发)胶片
热门文章
- javaSE进阶练习—— Collection的三种遍历方式练习
- VS code前端编辑浏览器自动刷新
- 国外数字银行提前开户奖励2500刀?
- spss和python区别_tableau和power BI与python spss等 区别是什么?
- (转)阿里巴巴大数据平台“达芬奇密码”进化论
- 在EXCEL中把两列表格里的数字合成一列并且中间用逗号隔开
- php忘记登陆密码,ZBlogPHP忘记登录密码后怎么办?使用官方密码找回工具
- 草图大师SU模型如何快速的下载到软件中?
- 多尺度双边滤波及基于小波变换的非线性扩散
- 平板电脑系统优化垃圾清理软件CleanMyMac X