Mahout пользовательские данные - PullRequest
0 голосов
/ 14 января 2020

Мне нужно сделать систему рекомендаций, используя mahout. Мои данные содержат следующие фрагменты данных:

  • userID -> числовой идентификатор пользователя
  • foodID -> Содержит числовой идентификатор продукта (например, идентификатор кетчупа равен 88)
  • rating -> Rating Пользователь дал элемент от 1 до 5
  • brandID -> Числовой идентификатор бренда foodID (например, 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. Я не уверен, как бы я изменил это, чтобы brandID также мог быть включен в структуру данных.

Спасибо за любую помощь:)

...