Mahout 简介



我们生活在一个信息充裕的时代。信息过载已达到如此程度,以至于有时难以管理我们小小的邮箱!想象一下,一些热门网站(如 Facebook、Twitter 和 Youtube)每天需要收集和管理的数据和记录量。即使是较不知名的网站,也经常会批量接收大量信息。

通常情况下,我们依赖数据挖掘算法来分析海量数据,以识别趋势并得出结论。但是,除非计算任务在云端分布在多台机器上运行,否则没有任何数据挖掘算法能够高效地处理超大型数据集并在短时间内提供结果。

现在我们有了新的框架,允许我们将计算任务分解成多个片段,并在不同的机器上运行每个片段。Mahout就是这样一种数据挖掘框架,它通常在其后台与 Hadoop 基础架构耦合运行,以管理海量数据。

什么是 Apache Mahout?

Mahout 指的是驾驭大象的驯象师。这个名字源于它与 Apache Hadoop 的密切联系,后者使用大象作为其 logo。

Hadoop 是 Apache 的一个开源框架,它允许使用简单的编程模型在计算机集群的分布式环境中存储和处理大数据。

Apache Mahout 是一个开源项目,主要用于创建可扩展的机器学习算法。它实现了流行的机器学习技术,例如:

  • 推荐系统
  • 分类
  • 聚类分析

Apache Mahout 于 2008 年作为 Apache Lucene 的子项目启动。2010 年,Mahout 成为 Apache 的顶级项目。

Mahout 的特性

Apache Mahout 的主要特性如下所示:

  • Mahout 的算法构建在 Hadoop 之上,因此它在分布式环境中运行良好。Mahout 使用 Apache Hadoop 库在云端有效地扩展。

  • Mahout 为编码人员提供了一个现成的框架,用于对海量数据执行数据挖掘任务。

  • Mahout 允许应用程序有效且快速地分析大型数据集。

  • 包含多个支持 MapReduce 的聚类实现,例如 k-means、模糊 k-means、Canopy、Dirichlet 和 Mean-Shift。

  • 支持分布式朴素贝叶斯和互补朴素贝叶斯分类实现。

  • 具有用于进化编程的分布式适应度函数功能。

  • 包含矩阵和向量库。

Mahout 的应用

  • Adobe、Facebook、LinkedIn、Foursquare、Twitter 和 Yahoo 等公司都在内部使用 Mahout。

  • Foursquare 帮助你查找特定区域内的场所、美食和娱乐活动。它使用 Mahout 的推荐引擎。

  • Twitter 使用 Mahout 进行用户兴趣建模。

  • 雅虎使用 Mahout 进行模式挖掘。

广告