开源java推荐系统Taste(1)-基本的Item-based推荐
来源:互联网 发布:注册淘宝卖家怎么取消 编辑:程序博客网 时间:2024/04/29 16:49
http://terryma.blog.sohu.com/58889892.html
关注推荐系统有好一阵了,居然没有任何的产出,惭愧、惭愧。
这几天学习了一下开源的java推荐系统Taste,有一些心得,慢慢的贴出来。
如果产生Item-based推荐:
假设有4个用户 u1、u2、u3、u4
产品有n个 c1、c2、c3
步骤:
1.找出用户对产品的打分。
2.找出产品之间的相似度。
3.可以对特定用户给予推荐。
其中需要人工做的就是对产品之间的相似度,给出评分,这个是个比较麻烦的事情,如果有n个产品,就需要N!个评分。
如果用Taste实现,需要的代码如下:
DataModel model = new FileDataModel(new File("data.txt"));
2。建立item相似度,集合例如:先建物(这里有三个物品)
final Item item1 = new GenericItem<String>("0");
final Item item2 = new GenericItem<String>("1");
final Item item3 = new GenericItem<String>("2“);
再记录item的相似度
final Collection<GenericItemCorrelation.ItemItemCorrelation> correlations =
new ArrayList<GenericItemCorrelation.ItemItemCorrelation>(2);
correlations.add(new GenericItemCorrelation.ItemItemCorrelation(item1, item2, 1.0));
correlations.add(new GenericItemCorrelation.ItemItemCorrelation(item1, item3, 0.5));
3.生成推荐
final ItemCorrelation correlation = new GenericItemCorrelation(correlations);
final Recommender recommender = GenericItemBasedRecommender(dataModel, correlation);
4.最终生成推荐
final List<RecommendedItem> recommended = recommender.recommend("test1", 1);
final RecommendedItem firstRecommended = recommended.get(0);
- 开源java推荐系统Taste(1)-基本的Item-based推荐
- 开源java推荐系统Taste(1)-基本的Item-based推荐
- 基于neighborhood models(item-based) 的个性化推荐系统
- 基于neighborhood models(item-based) 的个性化推荐系统
- soledede-Item-Based Recommendation(基于项目的系统过滤推荐)
- item-based CF 推荐系统学习笔记
- Taste/Thoth:开源的推荐系统引擎
- Mahout个性化推荐系统Taste源码解析(一)
- mahout分布式:Item-based推荐
- 推荐系统:协同过滤 之 Item-based Collaborative Filtering
- 推荐系统:协同过滤 之 Item-based Collaborative Filtering
- 协同过滤Item-based算法实现电影推荐系统
- 【推荐系统】协同过滤(CF)算法详解,item-base,user-based,SVD,SVD++
- 推荐决策 对比user-based 和item-based推荐算法
- 基于内容的推荐系统(content-based recommender system)
- 推荐系统user-based和item-based协同过滤算法定性比较
- 新闻推荐系统:基于内容的推荐算法(Recommender System:Content-based Recommendation)
- 基于用户的协同过滤(user-based CF)推荐系统【1】
- vb 错误号
- JAVA 寻找-人鬼过河游戏的方法
- STL的线程安全解决方案.
- android and moblin
- about me
- 开源java推荐系统Taste(1)-基本的Item-based推荐
- JAVA中==与equals的总结(二)--例子分析
- 傅里叶变换和小波变换处理时间序列数据,他们常常包含周期模式
- mutex与semaphore的区别
- js动态设置input 只读,无边框效果
- SQL Server实用经验与技巧大汇集
- 与MQ通讯的完整JAVA程序
- 金旭亮博客之“计算机学习、教育与专业指导”主页
- SQL语句建表等