推荐引擎Mahout初体验
Mahout是什么?
Mahout是一个算法库,集成了很多算法 Apache Mahout是Apache旗下的一个开源项目,提供一些可拓展的机器学习领域经典算法的实现, 旨在帮助开发人员更加方便快捷地创建智能应用程序 Mahout项目目前已经有了多个公共发行版本。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项目挖掘 通过使用Apache Hadoop库,Mahout可以有效地拓展到Hadoop集群。
算法介绍参考资料: Mahout的taste推荐系统里的几种Recommender分析
其中和我们业务贴近的是协同过滤算法(用户协同/物品协同),所以首先尝试了这两种算法.
如何使用
初始配置可以参考: 官方下载安装说明
我这里使用的是引入依赖的方式,需要注意的是引入依赖的方式是不需要下载安装mahout的,只需要当普通jar包使用即可
修改项目文件
pom.xml
<properties>
<mahout.version>0.13.0</mahout.version>
</properties>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-math</artifactId>
<version>${mahout.version}</version>
</dependency>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-hdfs</artifactId>
<version>${mahout.version}</version>
</dependency>
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-examples</artifactId>
<version>${mahout.version}</version>
</dependency>
准备模型数据
case_collect.csv
这里用的是用户收藏行为数据,从数据库中导出部分数据,数据格式需要符合userID,itemID[,preference[,timestamp]]
.
其中分隔符不可省略
符合: 123,456,129050099059
不符合: 123,456,129050099059
SELECT
account_id,
id,
NULL,
UNIX_TIMESTAMP(update_time) * 1000
FROM