DBSCAN
Плотностная кластеризация с выделением шума.
Сигнатура
DBSCAN(eps=0.5, min_samples=5)Группирует плотно расположенные точки и помечает редкие как шум (метка -1). Не требует числа кластеров заранее. Ключевые параметры — радиус соседства eps и минимальное число точек min_samples.
from sklearn.cluster import DBSCAN
db = DBSCAN(eps=0.3, min_samples=5)
labels = db.fit_predict(X)
print(set(labels))