apache-spark - 决策树的 Spark 数据分区

标签 apache-spark apache-spark-mllib

我正在阅读 Spark mllib 文档,在决策树文档中它说 -

 Each partition is chosen greedily by selecting the best split from a set 
of possible splits, in order to maximize the information gain at a tree node.

Here is the link .

我无法理解-

  1. 我们所说的分区,是spark数据分区吗 或功能分区
  2. 或者可以将其拆分到每个数据分区上吗?

最佳答案

这里提到的“分区”与 Spark 数据分区无关。这是基于所选特征对树节点上的数据进行分区,属于算法中的“数据分区”。 如果您检查实际的实现,它将对所有需要拆分的节点进行排队,并根据可用内存(配置)选择其中的一堆。这个想法是,如果一堆节点及其统计信息,则可以减少数据传递功能可以通过 1 pass 完成。然后,对于每个节点,它采用特征子集(配置)并计算每个特征的统计信息;这给出了一组可能的分割。然后是驱动程序节点(此处的节点是 Spark 驱动程序机器;术语可能会令人困惑:))仅发送最佳可能的分割并增强树。rdd 中的每个数据或行都表示为 BaggedTreePoint 并存储有关其当前属于哪个节点的信息。 浏览源代码需要一点时间;但也许是值得的。

关于apache-spark - 决策树的 Spark 数据分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37104131/

相关文章:

amazon-web-services - 编写 spark 数据框或编写胶水动态框架,在 AWS Glue 中哪个选项更好?

apache-spark - Pyspark ML - 如何保存管道和 RandomForestClassificationModel

hadoop - Kryos/Java 序列化程序的 Spark-shell --conf 选项

python - 比较两个数组并获得 PySpark 中的差异

apache-spark - Spark 机器学习 AST 比较

python - pyspark 导入用户定义的模块或 .py 文件

java - Spark SQL 中的 rank() 函数用法

apache-spark - 无法使用 rdd.toDF() 但spark.createDataFrame(rdd) 有效

apache-spark - 理解 Spark SQL 中向量列的表示

amazon-web-services - Spark 在内存可用时使用磁盘资源