Я хотел реализовать разбиение на страницы с помощью mahout (specfying, offset и max result), как я могу достичь этого с помощью Mahout? так скажем, у меня есть этот код, который генерирует рекомендациюApache Mahout. Ограничение или смещение для рекомендаций
File ratingsFile = new File("audio-dummy-bool.csv");
DataModel model = new FileDataModel(ratingsFile);
CachingRecommender cachingRecommender2 = new CachingRecommender(new SlopeOneRecommender(model));
// for all users
for (LongPrimitiveIterator it = model.getUserIDs(); it.hasNext();){
long userId = it.nextLong();
// get the recommendations for the user
List<RecommendedItem> recommendations = cachingRecommender.recommend(userId, 10);
// if empty write something
if (recommendations.size() == 0){
System.out.print("User ");
System.out.print(userId);
System.out.println(": no recommendations");
}
// print the list of recommendations for each
for (RecommendedItem recommendedItem : recommendations) {
System.out.print("User ");
System.out.print(userId);
System.out.print(": ");
System.out.println(recommendedItem);
}
}
Я хотел реализовать пагинации для этого, потому что рекомендация может генерировать тысячи результатов для пользователя, который whill стоить много в памяти. В любом случае, я могу указать максимальный результат и смещение для рекомендаций по генерации в mahout?
Когда вы говорите 'рекомендовать (userId, 10)', вы говорите рекомендателю, чтобы попытаться сгенерировать 10 рекомендаций для пользователя. В зависимости от ваших тонкостей ваших данных вы можете получить меньше или меньше, но не более 10 –