0

我正在寻找 Hadoop Mapreduce 上决策树算法的实现。有没有准备好实施?我看到 Mahout 只有决策林,是否可以将决策树与决策林一起使用?有什么相似之处/不同之处?

4

2 回答 2

0

分布式决策树最常见的方式可能是森林。因为通过计算独立的树来分布是微不足道的,而以分布式的方式有效地构建一棵树并不简单?

于 2012-08-09T03:21:00.923 回答
0

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

但是,Hadoop 已经决定了每个节点上的数据(以及数据量)。根据源数据,在分发到节点之前预先随机化可能不切实际。此外,每个节点上的观察次数不再是 RF 算法的参数,它由 Hadoop 配置控制数据的分布方式和节点上的数据冗余程度。如果没有特别注意,样本偏差很容易蔓延到每个树(专家)模型中。

尽管如此,跨多个hadoop节点并行化单个树(CART)应该是可能的,因为CART中二进制递归分区所需的核心计算,例如计算平均值(总和除以计数),误差函数(方差,基尼等)应该可以写在map reduce中。这不是微不足道的,因为节点需要非常健谈才能工作——发送索引来划分原始数据样本的子节点,然后在子节点上递归。我认为这可能适用于非常庞大的数据集,但对于已经“适合”单个工作程序内存的数据集,它会慢得多。

革命分析最近确实发布了他们的版本或 R 在 Hadoop 集群上实现了决策树。我还没有尝试过,但是看看它在各种大型数据集上的表现会很有趣。

这是链接:Revolution Analytics 为预测分析带来大数据决策树和新的 Hadoop 支持

于 2013-01-26T00:34:34.160 回答