首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mahout0.9K-表示算法的mapReduce分析

Mahout0.9K-表示算法的mapReduce分析
EN

Stack Overflow用户
提问于 2014-03-15 08:19:53
回答 2查看 740关注 0票数 0

我一直在检查使用MapReduce的Mahout0.9k方法的算法,我想知道在哪里可以检查在映射函数和还原器中发生的代码?

我使用NetBeans进行调试,无法找到地图中确切实现的内容并减少函数.

我之所以这样做,是因为我想知道在Mahout0.9版本中到底实现了什么,以便查看在K-上优化的哪个部分意味着mapReduce算法。

如果有人知道马赫特K手段是以哪篇研究论文为基础的,那也会对我有很大帮助。

非常感谢!

诚挚的问候!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-16 03:03:41

下载mahout核心的源代码。搜索java文件org.apache.mahout.clustering.kmeans.KMeansDriver

在这个java文件中搜索行ClusterIterator.iterateMR(conf, input, priorClustersPath, output, maxIterations);

iterateMR函数在class org.apache.mahout.clustering.iterator.ClusterIterator中是定义映射约简所需的所有配置的类。

org.apache.mahout.clustering.iterator.CIMapperorg.apache.mahout.clustering.iterator.CIReducer是您要寻找的Map类。

希望这会有帮助!)

然而,我不知道哪一篇研究论文得到了实施。

票数 1
EN

Stack Overflow用户

发布于 2014-03-16 08:58:36

K-均值(更准确地说,是劳埃德算法)是天真的平行。我怀疑是否有一篇论文讨论Mahout所使用的实现,因为这是显而易见的方法。绝对不涉及任何技巧:劳埃德算法主要由一个和组成,和几乎是并行化的。

不幸的是(和Hadoop一样),Mahout有10层厚的抽象。这并不能提供最好的性能,但特别是使得很难将所有的代码和元代码挖掘到实际的实现中。请参阅其他的answere,以获得散落在十几个类中的源代码片段的指针。

在使用Mahout时,请确保在您的实验中还包括k-means的非Hadoop实现。你会感到惊讶的是,它们比Mahout表现更好,而B)提供了更好的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22421371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档