基于 Apache Mahout 构建推荐引擎
1. 推荐系统概述
推荐系统在机器学习和数据挖掘领域是一个活跃的研究方向,在数据科学会议中也有专门的讨论。存在多种混合技术,如加权、切换、混合、特征组合、特征增强、级联、元级别等。Adomavicius 和 Tuzhilin(2005)在论文中对推荐系统技术进行了很好的概述,讨论了不同的方法和底层算法,并提供了更多论文的参考。
在推荐系统中,存在“利用”与“探索”的权衡。“利用”是指根据对用户的已有了解,推荐符合用户偏好的项目;“探索”则是推荐不在用户偏好范围内的项目,以让用户接触新事物。探索性不足的推荐系统只会推荐与用户先前评分一致的项目,而实际中,为用户提供超出其偏好范围的项目带来的意外惊喜往往是理想的,可能会发现用户新的偏好。
2. 获取 Apache Mahout
Mahout 是一个可扩展的机器学习库,它提供了丰富的组件,可用于从一系列算法中构建定制的推荐系统。Mahout 可以配置为两种运行方式:使用 Hadoop 进行分布式处理或不使用 Hadoop 进行单机处理。这里我们将重点关注不使用 Hadoop 的配置。
由于 Apache Mahout 的构建和发布系统基于 Maven,我们需要学习如何安装它。下面介绍使用带有 Maven 插件的 Eclipse 进行安装的便捷方法:
1. 从 Eclipse 主页下载最新版本的 Eclipse,这里使用 Eclipse Luna。
2. 打开 Eclipse,按照默认设置启动一个新的 Maven 项目。
3. 找到 pom.xml
文件,用文本编辑器打开(左键点击“Ope