Apache Mahout 简介:通过可伸缩、商业友好的机器学习来构建智能应用程序
2009-10-15 00:00:00 来源:WEB开发网与 清单 1 相同,我根据推荐文件创建了一个 DataModel,但这次并未实例化 UserSimilarity 实例,而是使用 LogLikelihoodSimilarity 创建了一个 ItemSimilarity,它可以帮助处理不常见的事件。然后,我将 ItemSimilarity 提供给一个 ItemBasedRecommender,最后请求推荐。完成了!您可以通过 ant item-demo 命令在示例中代码运行它。当然,在此基础上,您可以让系统支持离线执行这些计算,您还可以探索其他的 ItemSimilarity 度量。注意,由于本示例中的数据是随机的,所推荐的内容可能并不符合用户的期望。事实上,您应该确保在测试过程中计算结果,并尝试不同的相似度指标,因为许多常用指标在一些边界情况中会由于数据不足而无法提供合适的推荐。
我们再来看新用户的例子,当用户导航到某个项目之后,缺少用户首选项时的操作就比较容易实现了。对于这种情况,您可以利用项目计算并向 ItemBasedRecommender 请求与相当项目最相似的项目。清单 5 展示了相关代码:
清单 5. 相似项目演示(摘录自 cf.wikipedia.WikipediaTasteItemRecDemo)
//create the data model
FileDataModel dataModel = new FileDataModel(new File(recsFile));
//Create an ItemSimilarity
ItemSimilarity itemSimilarity = new LogLikelihoodSimilarity(dataModel);
//Create an Item Based Recommender
ItemBasedRecommender recommender =
new GenericItemBasedRecommender(dataModel, itemSimilarity);
//Get the recommendations for the Item
List<RecommendedItem> simItems
= recommender.mostSimilarItems(itemId, numRecs);
TasteUtils.printRecs(simItems, handler.map);
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››Apache+Subversion完美结合,CentOS下实现版本控制...
- ››Apache HTTPServer2.2.16 发布
- ››Apache Tomcat 6.0.29 (稳定版)
- ››Apache HTTP Server 2.3.6 alpha 发布
- ››Apache+Subversion如何实现版本控制
- ››Apache+Subversion完美结合
- ››简介CentOS配置ssh系统技术
- ››Apache的几种常见应用举例与分析
更多精彩
赞助商链接