【发布时间】:2018-11-30 05:41:36
【问题描述】:
上图中,最高级别的样本为 6499 个,分为 3356 个 True 和 3143 个 False。但是如果你遵循真正的路径,它会说有 2644 个样本。为什么没有3356?所有样本似乎都与上述级别的结果相冲突。
我想我只是误解了 samples 和 value 的含义,但如果是代码,这里是图形部分的代码:
dot_data = tree.export_graphviz(clf,
feature_names=columns[1:],
out_file=None,
filled=True,
rounded=True)
graph = pydotplus.graph_from_dot_data(dot_data)
colors = ('green', 'red')
edges = collections.defaultdict(list)
for edge in graph.get_edge_list():
edges[edge.get_source()].append(int(edge.get_destination()))
for edge in edges:
edges[edge].sort()
for i in range(2):
dest = graph.get_node(str(edges[edge][i]))[0]
dest.set_fillcolor(colors[i])
graph.write_png('tree.png')
【问题讨论】:
-
除了接受的答案之外,您可能会发现此答案也很有帮助:What does scikit-learn DecisionTreeClassifier.tree_.value do?
标签: python scikit-learn decision-tree