博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day21-22Redis Mahout
阅读量:5013 次
发布时间:2019-06-12

本文共 2416 字,大约阅读时间需要 8 分钟。

PS:大数据实时执行3个特性,Storm,kafka,Redis

PS:比如在系统中,1s中有大量的请求涌入的系统中,那么请求就存入数据库就挂了,这就需要到了Redis缓存了。

 

day22 ------------------------

PS: 主要讲诉了日志采集系统,后台又代码,可以参看   flume +kafka+  storm +redis

 

package mahout;import org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender;import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;import org.apache.mahout.cf.taste.model.DataModel;import org.apache.mahout.cf.taste.recommender.RecommendedItem;import org.apache.mahout.cf.taste.similarity.ItemSimilarity;import org.apache.mahout.cf.taste.similarity.precompute.example.GroupLensDataModel;import java.io.File;import java.util.List;/** * Describe: * 与基于用户的技术不同的是,这种方法比较的是内容项与内容项之间的相似度。 * Item-based 方法同样需要进行三个步骤获得推荐: * 1)得到内容项(Item)的历史评分数据; * 2)针对内容项进行内容项之间的相似度计算,找到目标内容项的“最近邻居”; * 3)产生推荐。这里内容项之间的相似度是通过比较两个内容项上的用户行为选择矢量得到的。 * 第二代协同过滤算法 * Author:   maoxiangyi * Domain:   www.itcast.cn * Data:     2015/11/26. */public class BaseItemRecommender {    public static void main(String[] args) throws Exception {        //准备数据 这里是电影评分数据        File file = new File("E:\\itcast\\项目中心\\大数据课程研发\\大数据课程-参考资料\\推荐系统\\数据\\ml-10m\\ml-10M100K\\ratings.dat");        //将数据加载到内存中,GroupLensDataModel是针对开放电影评论数据的        DataModel dataModel = new GroupLensDataModel(file);        //计算相似度,相似度算法有很多种,欧几里得、皮尔逊等等。        ItemSimilarity itemSimilarity = new PearsonCorrelationSimilarity(dataModel);        //构建推荐器,协同过滤推荐有两种,分别是基于用户的和基于物品的,这里使用基于物品的协同过滤推荐        GenericItemBasedRecommender recommender = new GenericItemBasedRecommender(dataModel, itemSimilarity);        //给用户ID等于5的用户推荐10个与2398相似的商品        List
recommendedItemList = recommender.recommendedBecause(5, 2398, 10); //打印推荐的结果 System.out.println("使用基于物品的协同过滤算法"); System.out.println("根据用户5当前浏览的商品2398,推荐10个相似的商品"); for (RecommendedItem recommendedItem : recommendedItemList) { System.out.println(recommendedItem); } long start = System.currentTimeMillis(); recommendedItemList = recommender.recommendedBecause(5, 34, 10); //打印推荐的结果 System.out.println("使用基于物品的协同过滤算法"); System.out.println("根据用户5当前浏览的商品2398,推荐10个相似的商品"); for (RecommendedItem recommendedItem : recommendedItemList) { System.out.println(recommendedItem); } System.out.println(System.currentTimeMillis() -start); }}

 

转载于:https://www.cnblogs.com/bee-home/p/8619929.html

你可能感兴趣的文章
玩转storm
查看>>
iOS webView的常见属性和方法
查看>>
Codeforces Round #344 (Div. 2) Messager KMP的应用
查看>>
20145308刘昊阳 《Java程序设计》第4周学习总结
查看>>
js倒计时
查看>>
EasyUI datagrid 格式 二
查看>>
Android虹软人脸识别sdk使用工具类
查看>>
浅谈 @RequestParam 和@PathVariable
查看>>
Equation漏洞混淆利用分析总结(上)
查看>>
Qt 【无法打开 xxxx头文件】
查看>>
JAVA项目将 Oracle 转 MySQL 数据库转换(Hibernate 持久层)
查看>>
三层架构(我的理解及详细分析)
查看>>
Django模板语言相关内容
查看>>
markdown语法测试集合
查看>>
running and coding
查看>>
实现QQ第三方登录、网站接入
查看>>
HTML CSS 层叠样式表 三
查看>>
Qt pro pri 文件学习1
查看>>
软件工程概论第六周学习进度条
查看>>
[思路]导入导出功能
查看>>