我在将Xgboost决策树绘制在数据块上时遇到问题。 XGboost是为python安装的,在这种环境下工作时会使事情有些奇怪。
import xgboost as xgb
from xgboost import plot_importance
gbm=xgb.XGBClassifier().fit(X_train, y_train)
xgb.plot_tree(gbm)
这给出了一个错误:
无法执行['dot','-Tpng'],请确保Graphviz可执行文件位于系统的PATH中。
我已经将graphviz作为软件包安装在databricks一侧。
答案 0 :(得分:2)
我遇到一个类似的问题,即在数据块上显示sklearn决策树。
我的解决方案是更新plot_tree函数的源代码,以在正常返回的注释之外还返回图形。
这是一个数据砖笔记本的摘录,显示了一个有效的示例。我认为xgboost具有类似的问题/设计。
https://github.com/Foley-CJ/Tree_Plot/blob/master/Tree_Plot.ipynb
答案 1 :(得分:0)
首先,下载Graphviz并安装它。
只需将以下内容添加到Windows上的环境变量(系统)路径
C:\Program Files (x86)\Graphviz2.38\bin
检查是否可以在该路径中找到.exe文件。
对我来说,pip install graphviz
或conda install graphviz
之类的解决方案将不起作用。我通过上述方法解决了我的问题。