WEB开发网
开发学院软件开发Java Apache Mahout 简介:通过可伸缩、商业友好的机器... 阅读

Apache Mahout 简介:通过可伸缩、商业友好的机器学习来构建智能应用程序

 2009-10-15 00:00:00 来源:WEB开发网   
核心提示: Mahout 目前提供了一些工具,可用于通过 Taste 库建立一个推荐引擎 — 针对 CF 的快速且灵活的引擎,Apache Mahout 简介:通过可伸缩、商业友好的机器学习来构建智能应用程序(6),Taste 支持基于用户和基于项目的推荐,并且提供了许多推荐选项,他们随机为集合

Mahout 目前提供了一些工具,可用于通过 Taste 库建立一个推荐引擎 — 针对 CF 的快速且灵活的引擎。Taste 支持基于用户和基于项目的推荐,并且提供了许多推荐选项,以及用于自定义的界面。Taste 包含 5 个主要组件,用于操作 用户、项目 和 首选项:

DataModel:用于存储 用户、项目 和 首选项

UserSimilarity
:用于定义两个用户之间的相似度的界面

ItemSimilarity:用于定义两个项目之间的相似度的界面

Recommender:用于提供推荐的界面

UserNeighborhood:用于计算相似用户邻近度的界面,其结果随时可由 Recommender 使用

借助这些组件以及它们的实现,开发人员可以构建复杂的推荐系统,提供基于实时或者离线的推荐。基于实时的推荐经常只能处理数千用户,而离线推荐具有更好的适用性。Taste 甚至提供了一些可利用 Hadoop 离线计算推荐的工具。在许多情况中,这种合适的方法可以帮助您满足包含大量用户、项目和首选项的大型系统的需求。

为了演示如何构建一个简单的推荐系统,我需要一些用户、项目和评分。为此,我们会使用 cf.wikipedia.GenerateRatings 中的代码(包含在示例代码的源代码中)为 Wikipedia 文档(Taste 称之为 项目)随机生成大量 用户 和 首选项,然后再手动补充一些关于特定话题(Abraham Lincoln)的评分,从而创建示例中的最终 recommendations.txt 文件。此方法的内涵是展示 CF 如何将对某特定话题感兴趣的人导向相关话题的其他文档。此示例的数据来源于 990(标记为从 0 到 989)个随机用户,他们随机为集合中的所有文章随机分配了一些评分,以及 10 个用户(标记为从 990 到 999),他们对集合中包含 Abraham Lincoln 关键字的 17 篇文章中的部分文章进行了评分。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Apache Mahout 简介

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接