0

我需要使用 mahout 制作推荐系统。我的数据有以下数据片段:

  • userID -> 用户的数字 id
  • foodID -> 包含食物的数字 id(例如番茄酱的 id 为 88)
  • 评级 -> 用户给该项目的评级从 1 到 5
  • brandID -> foodID 品牌的数字 id(例如 Heinz 可能是 id 4)

使用下面的代码:

 UserBasedRecommender recommender;
        int userId = 5;

        try {
            File file = new File(getClass().getResource("databaseFILE.csv").getFile());
            DataModel dataModel = new FileDataModel(file);

            UserSimilarity userSimilarity = new PearsonCorrelationSimilarity(dataModel);
            UserNeighborhood userNeighborhood = new ThresholdUserNeighborhood(0.1, userSimilarity, dataModel);
            recommender = new GenericUserBasedRecommender(dataModel, userNeighborhood, userSimilarity);

            List<RecommendedItem> recommendations = recommender.recommend(userId, 5);
            for (RecommendedItem recommendation : recommendations) {
                System.out.println(recommendation);
            }


        } catch (IOException e) {
            throw new RuntimeException(e.getMessage(), e);
        } catch (TasteException e) {
            throw new RuntimeException(e.getMessage(), e);
        }

这给出了 itemID 及其相应值的输出,但是我没有得到 brandID 的结果。我不确定如何更改它,以便品牌ID 也可以包含在数据结构中。

谢谢你的帮助 :)

4

0 回答 0