偶然在google看到推荐系统。
Myrrix:基于mahout做的一个推荐系统。是有mahout的作者Sean Owen做的
于是去官网下载demo学习下。
1,下载一个单机版本的
http://myrrix-recommender.googlecode.com/files/myrrix-serving-0.9.jar
2,启动 sudo java -Xmx512m -jar myrrix-serving-x.y.jar
我是debian系统。正好用,会占用80端口,必须用sudo。没有错误信息说明启动成功。
开始一头雾水,不知道怎么用:启动界面如下:
仔细看queckstart,才知道要下载demo数据。
http://dom2bevkhhre1.cloudfront.net/audioscrobbler-data.subset.csv.gz
然后在 /ingest 这个后面有一个上传按钮。经过几分钟后数据导入。cpu狂转。
3,数据查询。
我本机是查不到用户推荐的。但其他的可以查询下:
感慨,界面做的真是非常的精简阿。。
[[599,0.001297476],[1000028,0.0012238749],[1198,0.0012229452],[1006612,0.0012176759],[189,0.0011773851],[1329,0.0011433166],[1001909,0.0011263272],[831,0.0011136419],[1616,0.0011055669],[1207970,0.0010956447]] 这个接口就返回了id和相似度两个数据呢!!
匿名推荐。貌似速度还是灰常快呢。
4.下载源代码分析.
一共分为 5 个小项目或jar包。
common online online-local web client
其中common是基础包,很小很精湛,需要依赖很少的jar包:
commons-math3-3.1.jar guava-13.0.jar jewelcli-0.8.3.jar mahout-core-0.7.jar slf4j-api-1.7.2.jar slf4j-jdk14-1.7.2.jar
web是本地运行的展示界面。启动web需要tomcat。修改module_web.xml 里面的tomcat路径
就可以启动了
ant artifact.web-local
具体其他代码以后再学习分析。