当前位置: 首页 > 知识库问答 >
问题:

Scikit学习决策树导出图形-决策树中错误的类名

琴宾鸿
2023-03-14

我从“scikit learn/decision tree/export graphviz”的决策树中得到了错误的类名。程序如下所示:

import matplotlib.pyplot as plt
import matplotlib.image as img
import pydot
from sklearn import tree

digital_table = [[0, 0], [0, 1], [1, 0], [1, 1]]
digital_label = ['zero', 'one', 'two', 'three']
digital_name = ['idx-1', 'idx-2']

digital_tree = tree.DecisionTreeClassifier()
digital_tree.fit(digital_table, digital_label)

with open("digital.dot", 'w') as f:
    f = tree.export_graphviz(digital_tree, 
                            feature_names=digital_name,
                            class_names=digital_label,
                            filled=True, rounded=True,
                            out_file=f)
(graph,) = pydot.graph_from_dot_file("digital.dot")
graph.write_png("digital.png")

plt.imshow(img.imread('digital.png'))
plt.show()

产出如下:

问题在于叶中显示的类名。例如,如果idx-1为1,idx-2为1,则绿色框应标记为“三”。但是,图像显示标签为“一”。有人能发表你的意见吗?

共有2个答案

钱经赋
2023-03-14

在将类标签传递到export\u graphviz

龙越彬
2023-03-14

当您使用DecisionTreeClassifier时,应该将类标签更改为数字,如0,1,2

然后使用:

classe_names = decision_tree_classifier.classes_

它将按升序为您提供类的标签。然后按相同的顺序指定class_标签。它可以是字符串。

 类似资料:
  • 决策树 概述 决策树(Decision Tree)算法是一种基本的分类与回归方法,是最经常使用的数据挖掘算法之一。我们这章节只讨论用于分类的决策树。 决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。它可以认为是 if-then 规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。 决策树学习通常包括 3 个步骤:特征选择、决策树的生成和决策树的修剪。 决策树 场景

  • 决策树是一种常见的机器学习方法,它基于二元划分策略(类似于二叉树),如下图所示 一棵决策树包括一个根节点、若干个内部节点和若干个叶节点。叶节点对应决策的结果,而其他节点对应一个属性测试。决策树学习的目的就是构建一棵泛化能力强的决策树。决策树算法的优点包括 算法比较简单; 理论易于理解; 对噪声数据有很好的健壮性。 使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选

  • 本文向大家介绍python输出决策树图形的例子,包括了python输出决策树图形的例子的使用技巧和注意事项,需要的朋友参考一下 windows10: 1,先要pip安装pydotplus和graphviz: 2,www.graphviz.org下载msi文件并安装。 3,系统环境变量path中增加两项: 4,python中使用方法: 以上这篇python输出决策树图形的例子就是小编分享给大家的全部

  • 问题内容: 我是否可以从决策树中经过训练的树中提取出基本的决策规则(或“决策路径”)作为文本列表? 就像是: 谢谢你的帮助。 问题答案: 我相信这个答案比这里的其他答案更正确: 这会打印出有效的Python函数。这是一个试图返回其输入的树的示例输出,该数字介于0和10之间。 这是我在其他答案中看到的一些绊脚石: 使用来决定一个节点是否为叶是不是一个好主意。如果它是阈值为-2的真实决策节点怎么办?相

  • 接下来就要讲决策树了,这是一类很简单但很灵活的算法。首先要考虑决策树所具有的非线性/基于区域(region-based)的本质,然后要定义和对比基于区域算则的损失函数,最后总结一下这类方法的具体优势和不足。讲完了这些基本内容之后,接下来再讲解通过决策树而实现的各种集成学习方法,这些技术很适合这些场景。 1 非线性(Non-linearity) 决策树是我们要讲到的第一种内在非线性的机器学习技术(i

  • 和支持向量机一样, 决策树是一种多功能机器学习算法, 即可以执行分类任务也可以执行回归任务, 甚至包括多输出(multioutput)任务. 它是一种功能很强大的算法,可以对很复杂的数据集进行拟合。例如,在第二章中我们对加利福尼亚住房数据集使用决策树回归模型进行训练,就很好的拟合了数据集(实际上是过拟合)。 决策树也是随机森林的基本组成部分(见第 7 章),而随机森林是当今最强大的机器学习算法之一

  • {% raw %} 六、决策树 和支持向量机一样, 决策树是一种多功能机器学习算法, 即可以执行分类任务也可以执行回归任务, 甚至包括多输出(multioutput)任务. 它是一种功能很强大的算法,可以对很复杂的数据集进行拟合。例如,在第二章中我们对加利福尼亚住房数据集使用决策树回归模型进行训练,就很好的拟合了数据集(实际上是过拟合)。 决策树也是随机森林的基本组成部分(见第 7 章),而随机森

  • 校验者: @文谊 @皮卡乒的皮卡乓 翻译者: @I Remember Decision Trees (DTs) 是一种用来 classification 和 regression 的无参监督学习方法。其目的是创建一种模型从数据特征中学习简单的决策规则来预测一个目标变量的值。 例如,在下面的图片中,决策树通过if-then-else的决策规则来学习数据从而估测数一个正弦图像。决策树越深入,决策规则就