2013-03-06 3 views
0

Я немного запутался с погонщика: у меня сложилось впечатление, что есть два способа его использования:использованием погонщик: разница между запуска .jar и набрав инструкции консольных

  • исполняющих .jar, используя Рекомендатор Вкуса
  • с использованием командной строки, например mahout recommenditembased --input input/recommend_data.csv --output output/recommendation --similarityClassname SIMILARITY_PEARSON_CORRELATION как показано на рисунке here.

-> Правильно это или это то же самое?

Моя проблема: у меня есть входной файл csv со следующим форматом: user_id, item_id, rating. У меня есть 100 000 строк, и мне нужно ежедневно составлять рекомендации для всех моих пользователей. Я читал, что это должно быть нормально без hadoop, но это не так: .jar Я создал работы для небольших партий, но не для всего входного файла.

Метод командной строки работает в течение 5 минут, но это не так гибко, как проект jar (прежде всего для интерфейса с базой данных MySQL).

Можно ли использовать jar и извлечь выгоду из hadoop? Как я не распределяю какие-либо вычисления (hasoop работает на одном сервере), нормально ли иметь такую ​​разницу между методом .jar-without-mahout и методом командной строки-с-hadoop?

Большое спасибо за вашу помощь!

ответ

0

100000 строк не так много данных. Я считаю, что вам не нужно использовать распределенную версию алгоритма рекомендаций, даже если он работает в псевдораспределенном режиме (только одна машина).

Вы можете легко использовать API для создания собственного нераспределенного рекомендатора. Вот пример из книги Mahout in Action (которую я рекомендую прочитать) [link]. В этом случае они используют рекомендацию на основе аналогичных пользователей, и из того, что я вижу в вашем вопросе, вы используете тот, который основан на похожих элементах.

Чтобы сделать одно с использованием сходства предметов, вам необходимо использовать ItemSimilarity вместо UserSimilarity. Аналогично, вместо GenericUserBasedRecommender вы использовали бы GenericItemBasedRecommender. Тогда, конечно же, вы будете проходить через всех пользователей и просите рекомендации для каждого из них.

Надеюсь, это поможет.