首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scikit学习决策树导出图形-决策树中的类名错误

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

Stack Overflow用户
提问于 2016-12-18 19:33:17
回答 2查看 3.1K关注 0票数 3

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

代码语言:javascript
复制
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()

输出如下:

问题在于显示在leafs中的类名。例如,如果idx-1和idx-2分别为1和1,则绿色框应标记为“3”。但是,图像显示标签为“1”。有人能给出你的意见吗?

EN

回答 2

Stack Overflow用户

发布于 2018-04-09 09:49:41

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

然后使用:

代码语言:javascript
复制
classe_names = decision_tree_classifier.classes_

它将以升序给出类的标签。然后以相同的顺序指定class_label。它可以是字符串。

票数 4
EN

Stack Overflow用户

发布于 2017-10-25 12:51:06

在将类标签传递给export_graphviz之前,请尝试按字母顺序对其进行排序

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41207923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档