ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

一个简单的在线推荐系统的实现

2019-05-19 21:47:46  阅读:280  来源: 互联网

标签:recommender 在线 similarity 推荐 Mahout 简单 new model


推荐系统。主要採用对历史数据的分析计算,得到某种模型,对未来的数据进行预測。说究竟。还是分类问题。

Mahout,是一个可扩展的机器学习库。可用于单机,也可用于Hadoop。

Mahout的API非常easy,实现一个推荐功能仅仅须要例如以下的几行代码:

<span style="font-size:18px;">		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);</span>
其数据格式也非常easy,仅仅须要例如以下格式的数据

<span style="font-size:14px;">userid, itemid, preference value</span>

即用户对产品的偏好数据的相应关系。

这是我用Mahout实现的简单的在线电影推荐系统:http://movierecommender.sinaapp.com/

使用了movielens-100k的数据集.

项目源代码在此:https://github.com/laozhaokun/movie_recommender

眼下速度还非常慢,不非常稳定。

标签:recommender,在线,similarity,推荐,Mahout,简单,new,model
来源: https://www.cnblogs.com/ldxsuanfa/p/10890979.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有