如何在Apache Spark(PySpark 1.4.1)中可视化/绘制决策树?

时间:2015-08-06 10:58:22

标签: plot apache-spark decision-tree

我正在使用Apache Spark Mllib 1.4.1(PySpark,Spark的python实现)来生成基于我所拥有的LabeledPoint数据的决策树。树生成正确,我可以使用以下方法将其打印到终端(提取规则,因为该用户称之为How to extract rules from decision tree spark MLlib):

model = DecisionTree.trainClassifier( ... )
print(model.toDebugString()

但我想要做的是对决策树进行可视化或绘制,而不是将其打印到终端。有什么方法可以在PySpark中绘制决策树,或者我可以保存决策树数据并使用R来绘制它吗?谢谢!

3 个答案:

答案 0 :(得分:4)

有一个项目Decision-Tree-Visualization-Spark用于可视化决策树模型

它有两个步骤

  • 将Spark Spark Decision Tree输出解析为JSON格式。
  • 使用JSON文件作为D3.js可视化的输入。

对于解析器检查Dt.py

函数def tree_json(tree)的输入是您的模型toDebugString()

来自question

的回答

答案 1 :(得分:1)

我们刚刚发布了dtreeviz 1.1版,并支持Spark的决策树。您可以可视化很多东西,例如整棵树,只是预测路径,叶子信息(例如样本数或准则)。

您可以在此notebook

中查看许多可视化内容

enter image description here enter image description here

答案 2 :(得分:-1)

虽然这是一篇不太老的帖子,但只是提供我的答案,以便其他人从现在开始接受这个帖子可以受益。

或者,您可以使用" graphviz" python包在PySpark中使用。它将决策树模型打印成一个整洁的树结构,而不是通常的循环结构。

可在此链接中找到更多详细信息:https://pypi.python.org/pypi/graphviz