我查看了几个示例,并按照它们进行操作,但无法打印树形图。
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”。
我遵循此解决方案,但仍然遇到相同的错误。
我的系统的屏幕截图。
任何帮助或建议表示赞赏
答案 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的解决方案。