我正在尝试为具有单一偏好的用户提供推荐,这似乎是由Hadoop上的Mahout推荐人工作故意删除的。对于我的情况,大约50%的用户只有单一的偏好并不是很多,并且可以对其进行任何推荐,可能是< 1.0的推荐力度。
我怎么能得到它?
我使用的选项
nohup hadoop jar mahout-core-0.8-job.jar org.apache.mahout.cf.taste.hadoop.item.RecommenderJob --booleanData --similarityClassname SIMILARITY_LOGLIKELIHOOD --input s3://XXX/RS/tmp/mahout_input/SIMILARITY_LOGLIKELIHOOD/1M/ --output s3://XXX/RS/tmp/mahout_output/SIMILARITY_LOGLIKELIHOOD/1M/ --outputPathForSimilarityMatrix s3://XXX/RS/tmp/SimilarityMatrix/1M/ --numRecommendations 50 --maxPrefsPerUser 500 --threshold 0.2 --maxSimilaritiesPerItem 100 --minPrefsPerUser 1
答案 0 :(得分:0)
直观地说,一个偏好告诉你几乎没有关于品味的东西。
更科学地说,Mahout中基于项目的推荐人是同谋推荐者,因此,如果单个偏好与其他用户不匹配,则无法对其进行推荐。
但是,有一种方法可以为新用户做点什么。在Mahout中有一个命令行作业 itemsimilarity 。它将使用所有首选项并根据相同用户的喜好计算哪些项目与其他项目相似。这些是你在亚马逊上看到的#34;其他购买此产品的人也买了这些"建议。如果您找到类似的项目,您至少可以在用户查看项目时推荐它们。它们不是个性化的,因此向所有用户显示相同的项目,但它们可以有效。
在Mahout 1.0快照构建中,这个作业的更友好版本在Spark上运行得更快,称为 spark-itemsimilarity
运行任何一个没有参数的人来获得帮助屏幕。