作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有以下系统:
用户数:〜500k
项目数:〜100k
UserSimilarity userSimilarity = new TanimotoCoefficientSimilarity(dataModel);
UserNeighborhood neighborhood = new NearestNUserNeighborhood(neighborHoodSize,userSimilarity, dataModel);
GenericBooleanPrefUserBasedRecommender recommender = new GenericBooleanPrefUserBasedRecommender(dataModel, neighborhood ,userSimilarity);
最佳答案
是的,多线程不会增加系统的整体吞吐量。这意味着您可以承担更多线程来更快地响应一个请求。但是,当并发请求数等于您的内核数时,它或多或少返回到您开始的地方。实际上,线程的开销可能会使它变慢。
当然,您始终可以尝试添加更多计算机并维护该服务的N个实例。
这可能与您将在基于邻域的模型上所做的一样好。与项目相邻的版本还有更多杠杆可供您使用:您可以控制对所考虑项目数量的采样。这会有所帮助。
除此之外,您可能还需要查看为更好地扩展而构建的模型。我个人更喜欢以此方式基于矩阵分解的技术。
关于multithreading - Mahout优化: Multithreading TopItems. getTopUsers()和TopItems.getTopItems(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17597925/
我们有以下系统: 用户数:〜500k 项目数:〜100k UserSimilarity userSimilarity = new TanimotoCoefficientSimilarity(dataM
我是一名优秀的程序员,十分优秀!