BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Mahout与Weka的对比

| 作者 孙镜涛 关注 2 他的粉丝 发布于 2014年11月27日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

随着机器学习热度的不断提高,与其相关的软件和工具也慢慢进入大家的视野,而Weka和Mahout无疑是这些工具中较为流行的两个。作为一款知名的老牌机器学习软件,Weka支持经典的数据挖掘任务,同时还有大量的扩展包,可以支持文本挖掘、可视化和网格计算等功能。Mahout则是 Apache软件基金会旗下的一个开源项目,它提供了一些机器学习领域中的经典算法实现,支持Apache Hadoop,能够高效地运行在云计算环境中。那么它们之间的最大不同在哪,我们该如何选择呢?最近algorithmia的团队发表了一篇《机器学习对决:Apache Mahout vs Weka》的文章,对这两者做了比较。

功能层面,Weka包含大量经过良好优化的机器学习和数据分析算法,可以处理与格式化、数据转换相关的各种任务,唯一的不足就是它对内存敏感的大数据处理的不好。而Mahout则为大数据而生,作为一个新生的数据挖掘工具,它所支持的算法与Weka相比依然很少,相关文档的质量也良莠不齐,但是它的优势在于不仅支持单机环境,还支持MapReduce分布式计算,能够应对Weka无法处理的大数据。

性能方面,algorithmia通过使用两个工具都支持的算法(随机森林)对同一个数据集进行分类做了对比。结果显示,Weka的最优准确率为99.39%(250棵树),而Mahout为95.89%(100棵树),同时该实验也显示树的数量对Mahout的分类准确率影响很小。

algorithmia上的这篇文章在Hacker News上引发了广泛的讨论jackhammer说:

“现在,大部分数据科学家都在使用scikit-learn或者R。Weka真的已经过时了。Mahout和MLlib使用起来比较难。通常,我们最好只是采样,或者租用一个内存充足的EC2实例。”

discardorama则认为:

“Mahout的力量在于它对大数据的并行处理能力,Weka则是为了处理较小的问题或者是在实验中使用,但是无论如何现在已经很少用了。Mahout和Weka都不是主流,对于大规模的分类,人们现在使用VW,对于小规模的实验,使用Scikit或者R。”

akbar501回复说:

“对于机器学习而言,Spark MLlib是一个必然的选择。对于大规模、分布式的数据,我会使用SparkR。”


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

坐等结果 by 贾 珣

对Mahout不了解,坐等结果,感觉weka可以做一些实验性的项目,至于非常庞大的数据源,还是自己来的好些。

Re: 坐等结果 by Wong Peter

Mahout

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT