SpringBoot项目使用协同过滤的实现
import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood;
import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.EuclideanDistanceSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;
import org.apache.mahout.cf.taste.recommender.RecommendedItem;
import org.apache.mahout.cf.taste.recommender.UserBasedRecommender;
import org.apache.mahout.cf.taste.similarity.UserSimilarity;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class RecommendationService {
private UserBasedRecommender recommender;
public RecommendationService() {
try {
// 加载评分数据文件
DataModel model = new FileDataModel(new File("ratings.csv"));
// 构建用户相似度计算器
UserSimilarity similarity = new EuclideanDistanceSimilarity(model);
// 构建用户邻居关系
UserNeighborhood neighborhood = new NearestNUserNeighborhood(3, similarity, model);
// 构建基于用户的推荐器
recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);
} catch (IOException | TasteException e) {
e.printStackTrace();
}
}
public List
// 生成推荐结果
return recommender.recommend(userId, numItems);
}
}
- .NET Core系列之MemoryCache 初识
- 007手机一键Root(安机网一键Root) v3.0 官方最新版 一键ROOT您的Android手机
- 12306密码被盗了怎么办?12306密码外泄解决方法
- 12个字的qq网名
- 150M迷你型无线路由器怎么设置?
- 192.168.1.1打不开怎么办?路由器192.168.1.1打不开的原因以及解决办法
- 2011年电子报合订本 电子报 编辑部 中文 PDF版 [84M]
- 2015年1月15日小米新旗舰发布会现场图文直播
- 2016.3.1vivo Xplay5新品发布会现场视频直播 优酷直播
- 2016华为P9发布会视频直播地址 4月15日华为P9国行发布会直播
相关文章
- Spring Cloud Gateway实现灰度发布方案
- SpringBoot中的@ResponseStatus注解处理异常状态码
- Spring Boot 3中一套可以直接用于生产环境的Log4J2日志配置详解
- SpringSecurity中的Filter Chain(过滤器链)
- Springtomize3支持IOS 8.3系统吗?ios8.3能用springtomize3插件吗?
- SpringBoot整合Log4j2及配置步骤
- SpringMVC中redirect重定向(带参数)的3种方式
- SpringBoot使用Redis实现消息队列的方法小结
- SpringData JPA 如何搭建 xml的配置方式
- springboot启动时候报错mongodb问题