我正在寻找决策树算法在Hadoop Mapreduce上的实现。有没有准备好的实现?我看到Mahout只有决策森林,可以将决策树与决策森林一起使用吗?相同点/不同点是什么?
发布于 2012-08-09 11:21:01
可能最常见的分布式决策树方法是森林。因为通过计算独立的树来分发是微不足道的,而以分布式的方式有效地构建一棵树却不是微不足道的?
发布于 2013-01-26 08:34:34
随机森林当然可以很好地并行化,因为每棵树都是建立在(希望)训练数据的随机独立子集上的。
但是,Hadoop已经决定了每个节点上有哪些数据(以及其中有多少数据)。根据源数据的不同,在分发到节点之前预先随机化可能是不现实的。此外,每个节点上的观测值数量不再是RF算法的参数,它由Hadoop配置控制,以确定数据的分布方式和节点上的数据冗余程度。在没有特别注意的情况下,样本偏差很容易进入每个树(专家)模型。
不过,应该可以跨多个hadoop节点并行化单个树( CART ),因为CART中的二进制递归分区所需的核心计算,例如计算手段(总和除以计数),误差函数(方差,基尼等)应该可以写入map reduce。这不是微不足道的,因为节点需要非常健谈才能工作-发送对原始数据样本的子节点进行分区的索引,然后在子节点上递归。我认为这可以适用于非常庞大的数据集,但对于那些已经“适合”到单个工作的内存中的数据集,它将会慢得多。
革命分析最近确实发布了他们的版本或R在Hadoop集群上实现了决策树。我还没有尝试过,但看看它在各种大型数据集上的表现会很有趣。
这是链接:Revolution Analytics Brings Big Data Decision Trees and New Hadoop Support to Predictive Analytics
https://stackoverflow.com/questions/11841531
复制相似问题