2012-08-07 32 views

回答

0

决策树可能是分布式最常见的方式是森林。因为通过计算独立树来进行分发并不重要,而不重要的是以分布的方式高效地构建单个树?

0

随机森林当然可以很好地并行化,因为每棵树都是建立在(有希望的)随机独立子集的训练数据上的。

但是,Hadoop已经决定了每个节点上的哪些数据(以及它的数量)。根据源数据,在分发到节点之前先进行随机化可能不切实际。此外,每个节点上的观测数量不再是RF算法的一个参数,它由Hadoop配置控制数据如何分布以及节点上的数据冗余度。如果没有特别的注意,样本偏差会很容易蔓延到每棵树(专家)模型中。因为CART中的二进制递归分区所需的核心计算(例如计算方法(除以计数的总和),误差函数(方差,偏移量等))需要跨多个hadoop节点并行化单个树(CART)基尼等)应该可以写在地图上减少。这并不是微不足道的,因为节点需要非常健谈,才能发挥作用 - 发送索引来分割原始数据样本的子节点,然后递归子节点。我认为这可能适用于真正庞大的数据集,但对于那些已经可以“适合”到单个工作站内存中的数据集来说,速度会更慢。

革命分析最近发布了他们的版本或R已经在Hadoop集群上实施了decsion树。我没有尝试过,但看看它如何在各种大型数据集上执行会很有趣。

这里是链接:Revolution Analytics Brings Big Data Decision Trees and New Hadoop Support to Predictive Analytics