Apache Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。经典算法包括聚类、分类、协同过 滤、进化编程等等,并且,在 Mahout 的最近版本中还加入了对 Apache Hadoop 的支持,使这些算法可以更高效的运行在云计算环境中。
开放源代码项目mahout,实现了很多机器学习的算法和一些实用的系统,对于从事机器学习和web挖掘的人员来说是个很值得学习的资源。mahout是 基于hadoop的,可以分布式运行,至此Lucence、Nutch、Mahout为构建开源的分布式的搜索引擎和Web挖掘提供了完整的支持,三剑合 璧,威力无穷。Mahout的代码风格延续了Nutch的优良风格,代码可读性很强,包含了推荐系统、聚类中的kmeans,fuzzykmeans,
canopy, dirichlet,分类中的bayes、cbayes等算法的实现,以及交叉验证,计算正确率,各种距离,模型的构建等。还缺少像神经网络这个强大工具 的实现,但未来很可能会加上。
mahout的详细简介在这里。
基于 Apache Mahout 构建社会化推荐引擎
Web 2.0 的一个核心思想就是“群体智慧”,即基于大众行为,为每个用户提供个性化的推荐。这使得如何让用户能更快速更准确的获得所需要的信息,成为了 Web 应用成败的关键。Apache Mahout 是 ASF(Apache Software Foundation)的一个较新的开源项目,提供机器学习领域的一些经典算法的高效实现。本文主要讲述如何基于 Apache Mahout 来构建社会化推荐引擎,帮助 Web 应用开发者更高效的实现个性化推荐功能,从而提高最终用户满意度。
推荐引擎利用特殊的信息过滤(IF,Information Filtering)技术,将不同的内容(例如电影、音乐、书籍、新闻、图片、网页等)推荐给可能感兴趣的用户。通常情况下,推荐引擎的实现是通过将用户 的个人喜好与特定的参考特征进行比较,并试图预测用户对一些未评分项目的喜好程度。参考特征的选取可能是从项目本身的信息中提取的,或是基于用户所在的社 会或社团环境。