文章目录(Table of)
介绍
本文是对决策树的介绍。 我们使用决策树来解决分类问题。 同时,我们将决策树的结果可视化,以查看其分类过程。
参考
主要参考内容来自官方教程:1.10。 树木
这也是一个可视化的博客,最终保存和展示的方式会有所不同。 和树木
模型训练和可视化导入数据集
首先我们导入我们需要的库。
。
接下来我们可以导入数据集
iris=.()df=pd.(data=iris.data,=iris.)y=iris.
我们简单看一下所使用的数据集。
训练决策树模型
接下来,我们训练决策树模型,为了最终的显示效果,我们控制决策树的深度。
.#训练决策树模型(控制决策树的深度,这里控制的最大深度为2)dtree=er(=2)dtree.fit(df,y)"""er(=None,='gini ',=2 ,=无,=无,e=0.0,=无,=1,=2,叶=0.0,=假,=无,='最佳')"""
国内有关决策树的参考文档:.tree.er
模型评估
关于模型的评估,可以参考以下链接:模型评估指标讲解与实践——混淆矩阵讲解
*
我们来评估一下上面的决策树(我直接在训练集上看准确率,这里做个演示,实际使用中需要划分测试集)。
#模型评估 y_pre=dtree.(df)(=y,=y_pre,=[0,1,2])
最终模型的准确率如下所示。 可以看到,即使深度不是很深,精度也是可以接受的。
结果可视化
接下来我们将可视化决策树的结果。 我们会用。
。
需要将其添加到路径中。 具体内容请参见下面部分问题中的内容。
.["路径"]+=os.+'C:/(x86)/.38/bin'
对于生成的图像,我们可以设置每种类型标签的名称以及其他设置。
=(dtree,=None,=iris.,=iris.,=True,=True,=True)#可以设置图像显示图=.()
最后,您只需保存图像即可。
图.(="iris",='./',='pdf')
图片保存的参数说明可以参考文档:
这是文档:稳定版本文档
最终可视化效果如下图所示:
简单解释一下上图,每个叶子节点都有class,表示按照上面的规则它会被分类到哪个类别。 同时,每个节点都有class,表示该节点中每个类别的样本数量。 多少? 比如上面的例子,一共有3类样本,所以 中就有3个数字,分别是这3类样本的数量。
一些问题请确保它们在您的 ' PATH 中
详细错误信息:
: 到 ['dot', '-Tpdf', '-O', 'test'],确保它们位于您的 ' 路径上
可视化的时候就会出现上面的错误。 我们可以用下面的方法来解决。
.["路径"]+=os.+'C:/(x86)/.38/bin'
只需再次运行即可。
参考链接:《2.38之后:确保它们在你的路径上》