如何在Databricks上绘制Python XGB决策树

时间:2019-04-23 07:55:16

标签: python plot pyspark databricks

我在将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一侧。

2 个答案:

答案 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 graphvizconda install graphviz之类的解决方案将不起作用。我通过上述方法解决了我的问题。