mahout 协同过滤 参数大全

本文介绍如何使用Mahout实现基于物品的协同过滤推荐系统。详细解释了itemsimilarity和recommenditembased两个核心函数的参数配置及用法,并提供了具体的运行实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Mahout0.9—Hadoop2.20—协同过滤算法
    1.1. 基于物品的协同过滤推荐函数

Mahout支持推荐函数,通过mahout –-help 查看:

函数1:itemsimilarity: : Compute the item-item-similarities for item-based collaborative filtering
itemsimilarity是计算物品相似度矩阵;如果只需要相似矩阵,可用此函数。

函数2:recommenditembased: : Compute recommendations using item-based collaborative filtering
recommenditembased是计算物品相似度矩阵,并根据相似矩阵和用户数据进行推荐结果计算;recommenditembased的计算过程包括itemsimilarity;

1) itemsimilarity参数
通过mahout itemsimilarity –-help 查看:
–input (-i) input, 设置数据输入路径
–output (-o) output ,设置结果输出路径
–similarityClassname (-s) ,设置相似度计算函数:
SIMILARITY_COOCCURRENCE,同现相似度
SIMILARITY_LOGLIKELIHOOD, 对数似然相似度
SIMILARITY_TANIMOTO_COEFFICIENT
SIMILARITY_CITY_BLOCK, 曼哈顿距离相似度
SIMILARITY_COSINE, 余弦相似度
SIMILARITY_PEARSON_CORRELATION,皮尔森相似度
SIMILARITY_EUCLIDEAN_DISTANCE, 欧氏距离相似度
具体函数定义参照:http://blog.fens.me/mahout-recommend-engine/
–maxSimilaritiesPerItem (-m), 物品最大相似物品数量,默认是100;
–maxPrefs (-mppu) ,最大评分,默认是: 500
–minPrefsPerUser (-mp) ,最小评分,默认是1
–booleanData , false评分 true 0、1
–threshold (-tr) ,相似度过滤
–randomSeed ,抽样
–tempDir tempDir ,临时目录

2) recommenditembased参数
通过mahout recommenditembased–-help 查看:
–input (-i) input, 设置数据输入路径
–output (-o) output ,设置结果输出路径
–similarityClassname (-s) ,设置相似度计算函数
–numRecommendations (-n) ,每个用户推荐数量,默认10
–usersFile,计算用户推荐结果的用户数据
– itemsFile,推荐结果只包含该物品列表;
–maxSimilaritiesPerItem (-m), 物品最大相似物品数量,默认是100;
–maxPrefs (-mppu) ,最大评分,默认是: 500
–minPrefsPerUser (-mp) ,最小评分,默认是1
–booleanData , false评分 true 0、1
–threshold (-tr) ,相似度过滤
–filterFile (-f) ,过滤用户推荐物品
–randomSeed ,抽样
–tempDir tempDir ,临时目录

1.2. 基于物品的协同过滤推荐

上传数据

sudo hadoop fs -put ./item.txt /testdata/ input

sudo hadoop fs -put ./user.txt /testdata/ output

1、itemsimilarity 相似矩阵计算,只计算相似矩阵

sudo mahout itemsimilarity -i /testdata/ input /item.txt -o /testdata/ output -s SIMILARITY_COOCCURRENCE –tempDir /testdata/temp

2、itemsimilarity 输出相似矩阵,推荐结果

sudo mahout recommenditembased -i /testdata/ input /item.txt -o /testdata/ output –usersFile /testdata/userfile/user.txt -s SIMILARITY_COOCCURRENCE -n 20 –tempDir /testdata/temp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值