pyspark - 如何在 pyspark 中可视化决策树模型/对象?

标签 pyspark apache-spark-mllib decision-tree apache-spark-ml

有没有办法可视化/绘制使用 pyspark 中的 mllib 或 ml 库创建的决策树。还有如何获取叶节点中的记录数等信息。谢谢

最佳答案

首先,您需要使用 model.toDebugString 来获取与随机森林模型类似的输出:

 "RandomForestClassificationModel (uid=rfc_6c4ceb92ba78) with 20 trees
  Tree 0 (weight 1.0):
    If (feature 0 <= 3="" 10="" 1.0)="" if="" (feature="" <="0.0)" predict:="" 0.0="" else=""> 6.0)
       Predict: 0.0
     Else (feature 10 > 0.0)
      If (feature 12 <= 12="" 63.0)="" predict:="" 0.0="" else="" (feature=""> 63.0)
       Predict: 0.0
    Else (feature 0 > 1.0)
     If (feature 13 <= 3="" 1.0)="" if="" (feature="" <="3.0)" predict:="" 0.0="" else=""> 3.0)
       Predict: 1.0
     Else (feature 13 > 1.0)
      If (feature 7 <= 7="" 1.0)="" predict:="" 0.0="" else="" (feature=""> 1.0)
       Predict: 0.0
  Tree 1 (weight 1.0):
    If (feature 2 <= 11="" 15="" 1.0)="" if="" (feature="" <="0.0)" predict:="" 0.0="" else=""> 0.0)
       Predict: 1.0
     Else (feature 15 > 0.0)
      If (feature 11 <= 11="" 0.0)="" predict:="" 0.0="" else="" (feature=""> 0.0)
       Predict: 1.0
    Else (feature 2 > 1.0)
     If (feature 12 <= 5="" 31.0)="" if="" (feature="" <="0.0)" predict:="" 0.0="" else=""> 0.0)
       Predict: 0.0
     Else (feature 12 > 31.0)
      If (feature 3 <= 3="" 4.0)="" predict:="" 0.0="" else="" (feature=""> 4.0)
       Predict: 0.0
  Tree 2 (weight 1.0):
    If (feature 8 <= 4="" 6="" 1.0)="" if="" (feature="" <="2.0)" predict:="" 0.0="" else=""> 10875.0)
       Predict: 1.0
     Else (feature 6 > 2.0)
      If (feature 1 <= 1="" 36.0)="" predict:="" 0.0="" else="" (feature=""> 36.0)
       Predict: 1.0
    Else (feature 8 > 1.0)
     If (feature 5 <= 4="" 0.0)="" if="" (feature="" <="4113.0)" predict:="" 0.0="" else=""> 4113.0)
       Predict: 1.0
     Else (feature 5 > 0.0)
      If (feature 11 <= 11="" 2.0)="" predict:="" 0.0="" else="" (feature=""> 2.0)
       Predict: 0.0
  Tree 3 ...

将其保存在某个 .txt 文件下,然后使用: https://github.com/tristaneljed/Decision-Tree-Visualization-Spark

关于pyspark - 如何在 pyspark 中可视化决策树模型/对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45717085/

相关文章:

pyspark - 如何通过pyspark将csv文件写入一个文件

python - fit() 得到了一个意外的关键字参数 'criterion'

python - 从 sklearn RandomForestClassifier 制作 graphviz(不是从单独的 clf.estimators_)

scala - 如何将 map 转换为 Spark 的 RDD

apache-spark - 在 Java 中为 Apache Spark MLlib 构建 LabeledPoint of Features 的最佳方法

algorithm - 为随机森林训练程序构建数据集

python - PySpark join 返回一个空字典而不是 None

apache-spark - Spark如何在cassandra表之间复制数据?

azure - 无法从 Azure Spark 群集写入 Blob 存储

apache-spark - 如何在 spark mllib 中进行基于项目的推荐?