Могу ли я использовать Apache Mahout Taste для сопоставления пользовательских настроек?

Я пытаюсь сопоставить объекты на основе предопределенных пользовательских настроек. Простым примером может быть поиск наиболее подходящего автомобиля.

Допустим, пользователю «Том» предлагается арендованный автомобиль для путешествий на основе его предопределенных предпочтений. В этом случае предустановленные пользовательские настройки будут такими:

** Предустановленные пользовательские настройки для Тома:

PreferredVehicle (Make='ANY', Type='3-wheeler/4-wheeler',
Category='Sedan/Hatchback', AC/Non-AC='AC')

** в то время как 10 доступных транспортных средств -

Vechile1(Make='Toyota', Type='4-wheeler', Category='Hatchback', AC/Non-AC='AC')
Vechile2(Make='Tata', Type='3-wheeler', Category='Transport', AC/Non-AC='Non-AC')
Vechile3(Make='Honda', Type='4-wheeler', Category='Sedan', AC/Non-AC='AC')
;
;
and so on upto 'Vehicle10'

Все, что я хочу сделать, это выбрать автомобиль для Тома, который лучше всего соответствует его предпочтениям, а также, возможно, дать ему выбор по порядку, т. е. сначала лучший вариант.

У меня есть вопросы:

  1. Можно ли это сделать с помощью Mahout Taste?
  2. Если да, может ли кто-нибудь указать мне пример кода, с которого я могу быстро начать?

person Gopi    schedule 21.11.2012    source источник


Ответы (1)


Рекомендатель может быть не лучшим инструментом для работы здесь по нескольким причинам. Во-первых, я не ожидаю, что лучшие ответы будут настолько личными в этой области. Если бы я хотел Ford Focus, лучшая альтернатива, которая у вас есть, вероятно, будет примерно одинаковой для большинства пользователей. Во-вторых, здесь нет большой проблемы с открытием. Я ищу автомобиль, отвечающий определенным потребностям; Я не особенно хочу или нуждаюсь в поиске новых и неизвестных транспортных средств, как в случае с музыкой. Наконец, у вас не так много данных на пользователя; Я предполагаю, что большинство пользователей никогда раньше не арендовали, и очень немногие арендовали даже 3+.

Можете ли вы скинуть эти данные рекомендателю? Конечно, попробуйте Mahout Taste (я автор). Если у вас есть книга Mahout в действии, она проведет вас через нее. Поскольку это нерейтинговые данные, я также могу порекомендовать проект-преемник Myrrix (http://myrrix.com), так как его будет проще настроить и запустить. Вы можете, по крайней мере, оценить результаты, чтобы увидеть, насколько они полезны.

В любом случае, ваша работа будет состоять в том, чтобы просто создать файл CSV с парами «userID, VehicleID» из ваших данных и загрузить его. Затем он предоставит вам идентификаторы транспортных средств в качестве рекомендаций для любого идентификатора пользователя.

Но я полагаю, что вам будет намного лучше проанализировать, что люди выбирали, когда машины не было в наличии, и посмотреть на разницу, и узнать, какими атрибутами они скорее всего и наименее вероятно будут жертвовать, и научиться оценивать альтернативы таким образом. . Это вполне осуществимо, поскольку этот набор данных невелик, а у вас есть подробные данные об атрибутах элементов.

person Sean Owen    schedule 21.11.2012
comment
Превосходно! Это прекрасно отвечает на мой запрос. Спасибо! - person Gopi; 22.11.2012