Mahout - Рекомендовать для типа людей - PullRequest
1 голос
/ 28 мая 2011

Я новичок в учебе.

Я узнал, что в mahout есть пять рекомендаций. На основе пользователя, на основе элемента, ...

Наборы данных, которые я использовал, - movielens 100K

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

Но проблема в том, как мне создать свой собственный метод сходства пользователей (оригинальный использует два длинных идентификатора пользователя в качестве параметров) и как объединить файл u.user и файл u.data вместе?

Ответы [ 2 ]

1 голос
/ 29 мая 2011

Может быть, есть другое решение.

Я использую свой собственный Rescorer для работы с файлом u.user и ввода (пол, возраст, ...). Если каждая часть информации равна, то я помещаю соответствующий идентификатор пользователя в FastIDSet.

Затем, в методе rescore, я проверю, есть ли текущий идентификатор пользователя в FastIDSet, если да, увеличит счет.

В моем собственном Рекомендоре я буду использовать PlusAnoymousUserDataModel для получения временного идентификатора и вызывать метод Recommen (id, howMany, rescorer)

Однако, после того, как я попробовал другой файл набора данных, я получил 0 рекомендуемых элементов.

Я думаю, правильно ли использовать PlusAnoymousUserDataModel.

1 голос
/ 28 мая 2011

Теперь я понимаю ваш вопрос. Я думаю, что самое простое - временно создать фиктивного пользователя с демографическими свойствами, к которым вы обращаетесь, а затем рекомендовать его для этого фиктивного пользователя.

Да, вам придется написать UserSimilarity, который реализует любое правило сходства, которое вы хотите, поверх демографических данных.

...