2015-12-08 8 views
0

В настоящее время я реализую пользователем системы на основе рекомендательных от Mahout см http://mahout.apache.org/users/recommender/userbased-5-minutes.htmlПорядок Apache Mahout пользователей на основе рекомендательных Результаты недетерминированно

Первоначально я думал, что можно реализовать какой-то пагинацией: запрос пользователя для первой страницы и получения первых N элементов, они запрашивают вторую страницу и получают следующие N элементов и так далее. Поскольку Mahout не предоставляет такую ​​функциональность, я хотел бы обойтись, запросив N элементов на странице 1, для 2 * N элементов на странице 2 и т. Д., А затем просто вернет элементы, которые являются правильными для запрашиваемой страницы.

Однако, когда я бег Рекомендатора с, например 10 пунктов, а в следующем запросе я бег Рекомендатора с 20 пунктов, то порядка возвращенного списка отличается (что делает невозможным для меня постраничным). Как это возможно? Не следует ли возвращать те же результаты при запросе с теми же данными?

Примечание: базовые данные не изменились.

ответ

1

В большинстве рекомендаций рекомендуется случайный процесс, чтобы уменьшить данные, которые используются для расчета модели, так что это может быть сложность O (n). Вы можете указать начальное значение RNG, которое исправлено, если вы хотите, чтобы понижающая дискретизация была детерминированной. Как вы это делаете, зависит от того, какую упаковку рекомендуемого вам вы используете.

Вы используете встроенную версию, версию Hadoop или версию Spark + search?

Последний код рекомендации Mahout полностью интегрирован в приемку событий, расчет модели и обслуживание в реальном времени с this version Здесь семя RNG находится в файле конфигурации engine.json.

+0

В настоящее время я использую версию в памяти. – akohout