无法打印随机森林回归树

时间:2018-06-22 16:15:59

标签: graphviz random-forest pydot

我查看了几个示例,并按照它们进行操作,但无法打印树形图。

R_forest = RandomForestRegressor(bootstrap=False,
  max_depth=30,
  max_features ='sqrt',
  min_samples_leaf= 4,
  min_samples_split=2,
  n_estimators = 600)
model=R_forest.fit(X_train,y_train)

from sklearn.datasets import *
from sklearn import tree
from sklearn.tree import export_graphviz
import graphviz
import pydot


tree = R_forest.estimators_[5]
# Export the image to a dot file
export_graphviz(tree, out_file = 'tree.dot', feature_names = X_train.columns, 
rounded = True, precision = 1)
# Use dot file to create a graph
(graph, ) = pydot.graph_from_dot_file('tree.dot')
# Write graph to a png file
graph.write_png('tree.png')

我收到此错误:

  

FileNotFoundError:[WinError 2]在路径中找不到“ dot.exe”。

我遵循此解决方案,但仍然遇到相同的错误。

"RuntimeError: Make sure the Graphviz executables are on your system's path" after installing Graphviz 2.38

我的系统的屏幕截图。

Environment Variables

任何帮助或建议表示赞赏

1 个答案:

答案 0 :(得分:1)

如果能够生成“ tree.dot”文件,则可以从命令行(在“ tree.dot”目录中)运行以下命令,以将其转换为png:

dot -Tpng tree.dot -o tree.png

如果这不起作用,您也可以尝试使用dot.exe的完整路径:

path\to\dot.exe -Tpng tree.dot -o tree.png

使用以下命令从Python运行 graph.write_png('tree.png')在Windows计算机上不起作用,但命令行操作起作用。

来自another StackOverflow answer的解决方案。