Introduction
Advanced clustering helps find groups in data that are not simple or round. It can see shapes and patterns that basic methods miss.
Jump into concepts and practice - no test required
Use clustering algorithms like DBSCAN, Spectral Clustering, or Hierarchical Clustering. Example: from sklearn.cluster import DBSCAN model = DBSCAN(eps=0.5, min_samples=5) model.fit(data)
from sklearn.cluster import DBSCAN model = DBSCAN(eps=0.3, min_samples=10) model.fit(data)
from sklearn.cluster import SpectralClustering model = SpectralClustering(n_clusters=3, affinity='nearest_neighbors') model.fit(data)
from sklearn.cluster import AgglomerativeClustering model = AgglomerativeClustering(n_clusters=4, linkage='ward') model.fit(data)
import numpy as np from sklearn.datasets import make_moons from sklearn.cluster import DBSCAN # Create data with two moon shapes X, _ = make_moons(n_samples=200, noise=0.05, random_state=42) # Use DBSCAN to find clusters model = DBSCAN(eps=0.2, min_samples=5) labels = model.fit_predict(X) # Count clusters found (excluding noise labeled as -1) num_clusters = len(set(labels)) - (1 if -1 in labels else 0) print(f"Clusters found: {num_clusters}") print(f"Labels sample: {labels[:10]}")
from sklearn.cluster import DBSCAN import numpy as np points = np.array([[1, 2], [2, 2], [8, 7], [8, 8], [25, 80]]) dbscan = DBSCAN(eps=3, min_samples=2) labels = dbscan.fit_predict(points) print(labels)
from sklearn.cluster import SpectralClustering import numpy as np X = np.array([[1, 2], [2, 3], [3, 4]]) model = SpectralClustering(n_clusters=2) labels = model.fit_predict(X) print(labels)