我正在使用scikit-learn 中的DecisionTreeClassifier对一些多类数据进行分类。我发现很多帖子描述了如何显示决策树路径,例如这里,这里和这里。然而,它们都描述了如何显示训练数据的树。这是有道理的,因为export_graphviz只需要一个合适的模型。
我的问题是如何可视化测试样本上的树(最好通过export_graphviz)。即,在拟合模型clf.fit(X[train], y[train]),然后预测测试数据的结果之后clf.predict(X[test]),我想可视化用于预测样本的决策路径X[test]。有没有办法做到这一点?
编辑:
我看到可以使用Decision_path打印路径。如果有一种方法可以获取DOT输出来export_graphviz显示它,那就太好了。
我正在使用scikit的回归树函数和graphviz来生成一些决策树的精彩,易于解释的视觉效果:
dot_data = tree.export_graphviz(Run.reg, out_file=None,
feature_names=Xvar,
filled=True, rounded=True,
special_characters=True)
graph = pydotplus.graph_from_dot_data(dot_data)
graph.write_png('CART.png')
graph.write_svg("CART.svg")
Run Code Online (Sandbox Code Playgroud)
这完全运行,但我想改变颜色方案,如果可能的话?该图表示CO 2通量,因此我想将负值设为绿色且为正棕色.我可以导出为svg而不是手动更改所有内容,但是当我这样做时,文本与盒子不完全对齐,因此手动更改颜色并修复所有文本为我的工作流程添加了一个非常繁琐的步骤,我真的很喜欢避免!
此外,我已经看到一些树,其中连接节点的线的长度与分裂所解释的%方差成比例.如果可能的话,我也希望能够做到这一点?