4_Clustering_comparison
Сравнение методов кластеризации
Задание:
Реализовать кластеризацию данных с использованием трех методов из библиотеки scikit-learn
:
- K-means
- DBSCAN
- Agglomerative Clustering
Провести анализ их работы на различных датасетах, сравнить качество кластеризации и подобрать оптимальные параметры.
Эксперименты:
Искусственные данные
Сгенерируйте три типа датасетов:
а) Четко разделенные кластеры (например, make_blobs
)
б) Кластеры сложной формы (например, make_moons
или make_circles
)
в) Данные с шумом (добавьте случайные выбросы)
Визуализируйте результаты кластеризации для каждого метода.
Реальные данные
Используйте датасет Ирисы Фишера и Wine Dataset из sklearn.datasets
Подбор параметров
Для каждого метода определите оптимальные гиперпараметры:
K-means: число кластеров (n_clusters), метод инициализации (init)
DBSCAN: eps, min_samples
Agglomerative Clustering: число кластеров, тип связи (linkage)
Для оценки качества кластеризации используйте метрику Purity
Purity
Чистота ставит в соответствие кластеру самый многочисленный в этом кластере класс.
Чистота находится в интервале [0, 1], причём значение = 1 отвечает оптимальной кластеризации.