Apache Mahout 简介:通过可伸缩、商业友好的机器学习来构建智能应用程序
2009-10-15 00:00:00 来源:WEB开发网注意虚构数据!
本文中的示例完全使用的是虚构数据。我自己完成了所有评分,模拟了 10 个对 Abraham Lincoln 感兴趣的实际用户。虽然我相信数据内部的概念很有趣,但数据本身以及所使用的值并非如此。我选择虚构数据的原因是希望在所有示例中都使用单一数据集。
首先,我将演示如何为在 recommendations.txt 文件中指定了分数的用户创建推荐。这是 Taste 最为常见的应用,因此首先需要载入包含推荐的数据,并将它存储在一个 DataModel 中。Taste 提供了一些不同的 DataModel 实现,用于操作文件和数据库。在本例中,为简便起见,我选择使用 FileDataModel 类,它对各行的格式要求为:用户 ID、项目 ID、首选项 — 其中,用户 ID 和项目 ID 都是字符串,而首选项可以是双精度型。建立了模型之后,我需要通知 Taste 应该如何通过声明一个 UserSimilarity 实现来比较用户。根据所使用的 UserSimilarity 实现,您可能还需要通知 Taste 如何在未指定明确用户设置的情况下推断首选项。清单 1 实现了以上代码。(示例代码 中的 cf.wikipedia.WikipediaTasteUserDemo 包含了完整的代码清单)。
清单 1. 创建模型和定义用户相似度
//create the data model
FileDataModel dataModel = new FileDataModel(new File(recsFile));
UserSimilarity userSimilarity = new PearsonCorrelationSimilarity(dataModel);
// Optional:
userSimilarity.setPreferenceInferrer(new AveragingPreferenceInferrer(dataModel));
在 清单 1 中,我使用了 PearsonCorrelationSimilarity,它用于度量两个变量之间的关系,但是也可以使用其他 UserSimilarity 度量。应该根据数据和测试类型来选择相似度度量。对于此数据,我发现这种组合最为合适,但仍然存在一些问题。
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››apache rewrite将指定URL转向指定的几个服务器
- ››apache配置文件httpd.comf部分参数说明
- ››Apache+Mysql+PHP+phpMyAdmin+Mac OS X 10.7 Lion...
- ››apache+tomcat负载均衡_项目实例
- ››apache mysql php 源码编译使用
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
- ››Apache2.2与Tomcat6整合及虚拟主机配置
- ››Apache+php+mysql在windows下的安装与配置图解
- ››Apache+Subversion完美结合,CentOS下实现版本控制...
- ››Apache HTTPServer2.2.16 发布
更多精彩
赞助商链接