首页 > 代码库 > 一个简单的在线推荐系统的实现
一个简单的在线推荐系统的实现
推荐系统,主要采用对历史数据的分析计算,得到某种模型,对未来的数据进行预测。说到底,还是分类问题。
Mahout,是一个可扩展的机器学习库,可用于单机,也可用于Hadoop。
Mahout的API非常简单,实现一个推荐功能只需要如下的几行代码:
DataModel model = new FileDataModel(new File(file));//建立数据模型 UserSimilarity similarity = new PearsonCorrelationSimilarity(model);//计算皮尔逊相似度 UserNeighborhood neighborhood = new NearestNUserNeighborhood(25, similarity, model);//计算N近邻用户 Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);//基于用户的推荐 list = recommender.recommend(userid, size);其数据格式也很简单,只需要如下格式的数据
userid, itemid, preference value
即用户对产品的偏好数据的对应关系。
这是我用Mahout实现的简单的在线电影推荐系统:http://movierecommender.sinaapp.com/
使用了movielens-100k的数据集.
项目源码在此:https://github.com/laozhaokun/movie_recommender
目前速度还很慢,不很稳定。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。