Кластеризация – одно из замых распространенных применений методов машинного обучения без учителя. Задача кластеризации возникает, когда вам нужно разделить данные (или объекты, описываемые каждый неким набором параметров) на группы объектов, похожих между собой.
Видов кластеризации очень много, и стоит выделить два основных типа – метрические методы, основанные на понятии расстояния между объектами, и модельные методы, основанные на построении модели распределения объектов в пространстве параметров.
Каждый метод кластеризации основан на какой-то своей модели взаимного расположения объектов (хотя эта модель не всегда конкретизируется). Поэтому, применяя разные методы кластеризации к одним и тем-же данным вы будете получать различное разделение одних и тех-же объектов на кластера. Интересную (и часто приводимую) кластеризации одинаковых данных разными методами можно увидеть здесь: https://scikit-learn.org/stable/modules/clustering.html.
Наиболее простыми и понятными алгоритмами являются смесь гауссов (Gaussian Mixture, метод основанный на модели распределения) и DBSCAN (метод основанный на расстоянии). Рассмотрим их чуть более подробно, чтобы понять почему они так часто используются, в чем их плюсы и минусы, и почему иногда их хочется объединить.