Mahout возвращает одинаковые результаты в последовательных прогонах
Я пытаюсь пример Apache Mahout, используя код ниже. Все работает отлично, за исключением того, что каждый раз, когда я меняю значение userId, мне нужно дважды запустить класс, чтобы возвращались новые значения. Под этим я подразумеваю, что каждый раз, когда я запускаю его, выводятся результаты предыдущего запуска, даже с другим идентификатором пользователя и рекомендациями этого пользователя.
Я пытался не использовать рекомендатель кеша, но это тоже не сработало.
Я использую Eclipse IDE и код этого класса следующий:
DataModel model = new FileDataModel(new File("database.csv"));
UserSimilarity userSimilarity = new LogLikelihoodSimilarity(model);
System.out.println("Method: " + userSimilarity.getClass().getName().substring(userSimilarity.getClass().getName().lastIndexOf(".") + 1));
int neighborhood= 25;
System.out.println("Neighborhood: " + neighborhood);
UserNeighborhood neighborhood = new NearestNUserNeighborhood(neighborhood, userSimilarity, model);
Recommender recommender = new GenericUserBasedRecommender(model, neighborhood, userSimilarity);
Recommender cachingRecommender = new CachingRecommender(recommender);
int userId = 1234;
System.out.println("User ID: " + userId);
List<RecommendedItem> recommendations = cachingRecommender.recommend(userId, 15);
System.out.println("Recomendations:");
for (RecommendedItem r : recommendations) {
System.out.println(r.getItemID() + " " + r.getValue());
}