gpt4 book ai didi

mahout - 使用 Apache Mahout 创建基于项目的推荐系统

转载 作者:行者123 更新时间:2023-12-03 22:22:02 28 4
gpt4 key购买 nike

我正在尝试使用 Apache Mahout 创建一个基于项目的推荐器,该推荐器根据其他用户也有共同点的相似项目推荐后备项目。

我首先创建一个数据模型,然后尝试将它传递给各种不同的 ItemSimilarity 对象:

// Create data model
DataModel datamodel = new FileDataModel(new File("input.csv"));

// ItemSimilarity object
// ItemSimilarity similarity = new EuclideanDistanceSimilarity(datamodel);
// ItemSimilarity similarity = new PearsonCorrelationSimilarity(datamodel);
ItemSimilarity similarity = new CityBlockSimilarity(datamodel);

然后我将 DataModel 和 ItemSimilarity 传递到 GenericItemBasedRecommender 并调用 mostSimilarItems() 函数并将其传递到列表中。

ItemBasedRecommender irecommender = new GenericItemBasedRecommender(datamodel, similarity);
List<RecommendedItem> irecommendations = irecommender.mostSimilarItems(item, amount);

CityBlockSimilarity() 类在小型数据集上运行良好,但一旦切换到大型数据集,它就不再可靠了。

我是否需要实现一个不同的类来返回基于用户也有共同点的其他项目的项目推荐?

最佳答案

原来我需要实现的类是 TanimotoCoefficientSimilarity 类。一旦我改变了这个,我就看到了我想要看到的结果。

ItemSimilarity similarity = new TanimotoCoefficientSimilarity(datamodel);

我能够让其他一切保持不变,而且效果很好!这是 TanimotoCoefficientSimilarity class 的链接如果您想了解更多相关信息。

关于mahout - 使用 Apache Mahout 创建基于项目的推荐系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31082274/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com