Кластерный анализ большого набора данных, содержащего только категориальные переменные - PullRequest
0 голосов
/ 30 мая 2019

Мне было поручено кластеризовать базу наших клиентов по продуктам, которые они купили вместе. Мои данные содержат 500 000 строк, связанных с каждым клиентом, и 8 000 переменных (идентификаторы продуктов). Каждая переменная является одним вектором горячего кодирования, который показывает, покупал ли клиент этот продукт или нет.

Я пытался уменьшить размеры моих данных с помощью MCA (алгоритм множественной корреспонденции), а затем использовать k-means и dbscan для кластерного анализа, но мои результаты не были удовлетворительными.

Какие существуют правильные алгоритмы для кластерного анализа больших наборов данных с большими измерениями и их реализация на python?

1 Ответ

0 голосов
/ 30 мая 2019

Вместо кластеризации вам, вероятно, следует использовать частое майнинг .

Переменные одноразового кодирования часто приносят больше вреда, чем пользы. Либо используйте правильно выбранное расстояние для таких данных (может быть так же просто, как у Хемминга или Жакара в некоторых наборах данных) с подходящим алгоритмом кластеризации (например, иерархическим, DBSCAN, но , а не k-средних). Или попробуйте k-mode. Но, скорее всего, частые наборы элементов являются более значимым анализом данных.

...