决策树的火花数据分区

时间:2016-05-08 19:49:05

标签: 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. 我们正在谈论的分区,是火花数据分区 或功能分区
  2. 或者它可以在每个数据分区上拆分吗?

1 个答案:

答案 0 :(得分:4)

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

相关问题