左栏
欢迎您:游客!请先
登录
或
注册
风格
恢复默认设置
|
展区
文件集浏览
图片集浏览
Flash浏览
音乐集浏览
电影集浏览
|
搜索
课外天地 李树青
→
学习天地
→
推荐系统原理课件
→ [转帖]Mahout下个性化推荐引擎Taste介绍
新的主题
投票帖
交易帖
小字报
下一主题 >>
<< 上一主题
共有
16553
人关注过本帖
树形
打印
复制链接
主题:[转帖]Mahout下个性化推荐引擎Taste介绍
admin
小
大
1楼
博客
|
信息
|
搜索
|
邮箱
|
主页
|
UC
加好友
发短信
管理员
等级:管理员
帖子:
1955
积分:26904
威望:0
精华:34
注册:
2003/12/30 16:34:32
[转帖]Mahout下个性化推荐引擎Taste介绍
Post By:2017/8/7 18:24:32 [
只看该作者
]
Taste简介
Taste是Apache Mahout提供的一个协同过滤算法的高效实现,它是一个基于Java实现的可扩展的,高效的推荐引擎。Taste既实现了最基本的基于用户的和基于内容的推荐算法,同时也提供了扩展接口,使用户可以方便的定义和实现自己的推荐算法。同时,Taste不仅仅只适用于Java应用程序,它可以作为内部服务器的一个组件以HTTP和Web Service的形式向外界提供推荐的逻辑。Taste的设计使它能满足企业对推荐引擎在性能、灵活性和可扩展性等方面的要求。
Taste的架构
Taste Architecture
Taste由以下五个主要的组件组成:
* DataModel:DataModel是用户喜好信息的抽象接口,它的具体实现支持从任意类型的数据源抽取用户喜好信息。Taste默认提供JDBCDataModel和FileDataModel,分别支持从数据库和文件中读取用户的喜好信息。
* UserSimilarity和ItemSimilarity:UserSimilarity用于定义两个用户间的相似度,它是基于协同过滤的推荐引擎的核心部分,可以用来计算用户的“邻居”,这里我们将与当前用户口味相似的用户称为他的邻居。ItemSimilarity 类似的,计算内容之间的相似度。
* UserNeighborhood:用于基于用户相似度的推荐方法中,推荐的内容是基于找到与当前用户喜好相似的“邻居用户”的方式产生的。UserNeighborhood定义了确定邻居用户的方法,具体实现一般是基于 UserSimilarity 计算得到的。
* Recommender:Recommender是推荐引擎的抽象接口,Taste中的核心组件。程序中,为它提供一个DataModel,它可以计算出对不同用户的推荐内容。实际应用中,主要使用它的实现类 GenericUserBasedRecommender或者GenericItemBasedRecommender,分别实现基于用户相似度的推荐引擎或者基于内容的推荐引擎。
运行Demo
1. 下载mahout-0.2
svn checkout
https://svn.apache.org/repos/asf/mahout/branches/mahout-0.2/
2. 准备数据源,从Grouplen下载"1 Million MovieLens Dataset",链接:
http://www.grouplens.org/system/files/ml-1m.zip
3. 解压数据源压缩包,将movie.dat和ratings.dat拷贝到/mahout-0.2/examples/src/main/java/org/apache/mahout/cf/taste/example/grouplens
4. 回到/mahout-0.2/examples目录下,运行"mvn install"
5. 进入/mahout-0.2/taste-web目录,拷贝 ../examples/target/grouplens.jar到 taste-web/lib目录
cp ../examples/target/grouplens.jar ./lib
6. 在/mahout-0.2下运行"mvn package"
7. 将 taste-web/target 目录下生成的war包“mahout-taste-webapp-0.2.war”拷贝到Tomcat的webapp下
8. 启动Tomcat,在/bin目录运行“./startup.sh”
9. 访问“
http://localhost:8080/mahout-taste-webapp-0.2/RecommenderServlet?userID=1
”
Build Demo
下一主题 >>
<< 上一主题
RSS2.0
|
Xhtml无图版
|
Xslt无图版
Copyright ©2002 - 2016
课外天地
.Net
Powered By
Dvbbs
Version 8.3.0
页面执行时间 0.13965 秒, 6 次数据查询