Перекрестная продажа в python после нахождения похожих пользователей по покупкам их товаров - PullRequest
0 голосов
/ 17 октября 2019

У меня есть данные в следующем формате:

CustomerID P1 P2 P3 P4 P5 P6 P7
C1         0  1  1  0  1  0  0
C2         0  0  1  0  1  0  0
C3         0  0  1  0  0  1  0
C4         0  0  0  0  1  0  0
C5         0  0  0  0  1  1  0
C6         0  1  0  0  1  0  1

0 и 1 - это флаги того, купил ли клиент этот продукт или нет

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

Как я могу сделать это в Python?

1 Ответ

0 голосов
/ 17 октября 2019

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

  1. Индексация по Jaccard (неосуществимо для больших наборов данных)

  2. MinHash (более эффективна, чем индексация по Jaccard, но все же занимает много времени для больших наборов данных)

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

  4. Совместная фильтрация пользователей - это то, что мне показалось наиболее эффективным. Мы могли бы использовать косинусное сходство между клиентами и продуктами, а затем использовать алгоритм KNN для прогнозирования.

  5. NCF - Нейронные сети Совместная фильтрация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...