美文网首页
决策树绘制

决策树绘制

作者: taon | 来源:发表于2020-04-25 18:44 被阅读0次

决策树是机器学习的十大算法之一,可用于解决分类和回归问题。决策树的结构很像二叉树,通过一层一层的节点,来对我们的样本进行分类。决策树算法的可解释性非常的好,通过绘制决策树,我们可以很清楚理地解算法的工作原理,同时也方便向别人进行展示。这一节,我们的重点是画决策树,对于决策树算法的原理以及细节,我们不做深入的探讨。

我们使用iris数据集,它有150个样本,5个特征。接下来我们就以iris数据集为例,来进行决策树的绘制。

iris数据集链接:
链接:https://pan.baidu.com/s/1YCyvnNH1R56RnUDl3KxKMg
提取码:yfoh

下面是代码部分:

#导入数据分析的常用工具包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline

#读取iris数据集,具体在写代码的过程中使用df.head()查看数据集
columns = ['petal_length','petal_width','calyx_length','calye_width','category']
df = pd.read_csv('D:\\Py_dataset\\iris.data',sep = ',',names = columns)

#对数据集中的非数值型特征进行转换
df['category'].unique()
[out]:array(['Iris-setosa', 'Iris-versicolor', 'Iris-virginica'], dtype=object)
category_map = {'Iris-setosa':0,'Iris-versicolor':1,'Iris-virginica':2}
df['category'] = df['category'].map(category_map)

#建立决策树模型
from sklearn.tree import DecisionTreeClassifier
Y = df['category']
X = df.drop('category',axis = 1)
dtc = DecisionTreeClassifier(max_depth = 2)
dtc.fit(X,Y)

#对于训练好的决策树模型进行可视乎
from sklearn import tree
#把模型以及要用到的特征输入进来,转化为dot_data类型
dot_data = \
    tree.export_graphviz(
        dtc,
        out_file = None,
        feature_names = df.columns.tolist()[:4],
        filled = True,
        impurity = False,
        rounded = True
    )

import pydotplus
graph = pydotplus.graph_from_dot_data(dot_data)
graph.get_nodes()[4].set_fillcolor("#FFF2DD")
from IPython.display import Image
Image(graph.create_png())

绘制好的决策树如图所示:


iris_dtc.png

主要节点说明:
在根节点上,我们可以看到有三个值。我们的分类标准是calyx_length <= 2.45,此时的样本数量为150,value = [50,50,50]意思是我们的[0,1,2]三类样本的数量分别有50个。

在叶子结点中,我们可以看到有两个值。samples是此时该节点的样本数量,value是此时各个类别的数量。如value = [50,0,0],它表明该节点的样本都是0这个类别,已经将0类样本与其他类完全区分开了。如value = [0,49,5],它表明该节点有49个1类样本,5个2类样本,可以看到它并没完全的区分开1类和2类样本。此处我们只演示如何绘制决策树,并不考虑模型的分类效果。

绘制决策树小结:
1.绘制决策树的过程可以作为一个模板,我们在使用的时候,只需要传入自己的参数。
2.需要提前安装好两个扩展包。
2.1 安装graphviz可视化包,该包需要下载,下载好以后需要添加到路径当中。
下载graphviz-2.38.msi,然后将Graphviz安装目录下的bin文件添加到Path环境变量中。[graphviz下载链接]('https://graphviz.gitlab.io/_pages/Download/Download_windows.html
')
2.2 pip install pydotplus; pip install pydot; pip install graphviz

相关文章

  • 决策树绘制

    决策树是机器学习的十大算法之一,可用于解决分类和回归问题。决策树的结构很像二叉树,通过一层一层的节点,来对我们的样...

  • 机器学习实战——决策树

    【主要内容】 决策树简介 数据集中度量一致性 使用递归构造决策树 使用Matplotlib绘制树 【数据集度量】 ...

  • 决策树 | 绘制决策树

    01 起 在这篇文章中,我们讲解了如何训练决策树,然后我们得到了一个字典嵌套格式的决策树结果,这个结果不太直观,不...

  • 《机器学习入门》笔记 - 决策树

    决策树 计算香农熵 建一组假数据 划分数据集 寻找最好的划分方式 寻找最多数的标签 创建决策树 使用文本注解绘制节...

  • Matplotlib绘制决策树

    Matplotlib 注解 使用文本注解绘制树节点 plotNode('a decision node',(0.5...

  • 【机器学习】决策树(Matplotlib可视化+项目实战)

    接着上一篇文章【机器学习】决策树(构造篇) 一、使用Matplotlib注释绘制树形图 1.1 Matplotli...

  • 机器学习6-决策树

    一. 决策树概述 1.1 什么是决策树 决策树输入: 测试集决策树输出: 分类规则(决策树) 1.2 决策树算法概...

  • 决策树

    1、决策树 决策树学习通常包括3个步骤: 特征选择。 决策树生成。 决策树剪枝。 决策树的学习目标是:根据给定的训...

  • 决策树

    决策树 决策树模型与学习 特征选择 决策树的生成 决策树的剪枝 CART 算法 决策树模型呈树形结构,在分类问题中...

  • 决策树算法总结

    目录 一、决策树算法思想 二、决策树学习本质 三、总结 一、决策树(decision tree)算法思想: 决策树...

网友评论

      本文标题:决策树绘制

      本文链接:https://www.haomeiwen.com/subject/cyibihtx.html