Мне было поручено кластеризовать базу наших клиентов по продуктам, которые они купили вместе. Мои данные содержат 500 000 строк, связанных с каждым клиентом, и 8 000 переменных (идентификаторы продуктов). Каждая переменная является одним вектором горячего кодирования, который показывает, покупал ли клиент этот продукт или нет.
Я пытался уменьшить размеры моих данных с помощью MCA (алгоритм множественной корреспонденции), а затем использовать k-means и dbscan для кластерного анализа, но мои результаты не были удовлетворительными.
Какие существуют правильные алгоритмы для кластерного анализа больших наборов данных с большими измерениями и их реализация на python?