您的位置:首页 > 其它

Myrrix——基于Mahout的开源推荐系统

2013-06-25 18:27 363 查看

Myrrix简介

Myrrix是一个完整的、实时的、可扩展的集群和推荐系统,基于Mahout实现。
主要架构分为两部分:服务层:在线服务,响应请求、数据读入、提供实时推荐;计算层:用于分布式离线计算,在后台使用分布式机器学习算法为服务层更新机器学习模型。Myrrix使用这两个层构建了一个完整的推荐系统,服务层是一个HTTP服务器,能够接收更新,并在毫秒级别内计算出更新结果。
服务层可以单独使用,无需计算层,它会在本地运行机器学习算法。
计算层也可以单独使用,其本质是一系列的Hadoop jobs。

Myrrix优点

1.No Ratings
Myrrix提供了一个广义的模型,可以处理任何事件,不止是评分,还可以是点击、浏览等。
2.Cold Start
Myrrix基本上解决了用户冷启动问题,当用户第一个行为数据进入Myrrix后推荐就会生成。
3.Temporary Users
Myrrix提供了特殊的支持为游客进行推荐。
4.Non-numeric Data
Myrrix中不用再像Mahout中那样硬性规定userID或itemID必须是数字,userID也可以用字符串表示,例如“Jane”。
5.Privacy & Security
Myrrix中可以不用将真实的用户或物品数据发送给服务端,代替做法客户端可以发送不透名的散列。

Myrrix功能

1.客户端功能
可以通过MyrrixRecommender接口实现类对用户进行推荐,方法如下:
setPreference userID itemID [value]
removePreference userID itemID
ingest csvFile.csv(.gz|.zip) [csvFile2 ...]
estimatePreference userID itemID1 [itemID2 ...]
recommend userID
recommendToAnonymous itemID1 [itemID2 ...]
mostSimilarItems itemID1 [itemID2 ...]
similarityToItem toItemID itemID1 [itemID2 ...]
recommendedBecause userID itemID
refresh
isReady
getAllUserIDs
getAllItemIDs
getNumUserClusters
getNumItemClusters
getUserCluster n
getItemCluster n
2.服务层API
与客户端API相对应:
Set / Add Preference
Remove Preference
Ingest
Set User Tag
Set Item Tag
Refresh
Ready
Recommend
Recommend To Many
Recommend To Anonymous
Most Similar Items
Similarity To Item
Get # User Clusters
Get # Item Clusters
Get User Cluster
Get Item Cluster
Estimate
Estimate For Anonymous
Because
Most Popular Items
Get All User IDs
Get All Item IDs

3.计算层

Documents

Quick Start
client API
clinet JavaDoc
rest-api
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: