Clustering Algorithms

Machine LearningUnsupervised LearningFree Lesson

Advertisement

Introduction

Clustering groups similar data points without predefined labels.

K-Means

from sklearn.cluster import KMeans

kmeans = KMeans(n_clusters=3, random_state=42)
labels = kmeans.fit_predict(X)

# Elbow method
inertias = []
for k in range(1, 11):
    kmeans = KMeans(n_clusters=k)
    kmeans.fit(X)
    inertias.append(kmeans.inertia_)

Hierarchical Clustering

from sklearn.cluster import AgglomerativeClustering

agg = AgglomerativeClustering(n_clusters=3, linkage="ward")
labels = agg.fit_predict(X)

# Dendrogram
from scipy.cluster.hierarchy import dendrogram, linkage
Z = linkage(X, method="ward")
dendrogram(Z)

DBSCAN

from sklearn.cluster import DBSCAN

dbscan = DBSCAN(eps=0.5, min_samples=5)
labels = dbscan.fit_predict(X)

Practice Problems

  1. Find optimal k with elbow method
  2. Compare clustering algorithms
  3. Evaluate with silhouette score
  4. Visualize clusters
  5. Use hierarchical clustering

Advertisement

Need Expert Python Help?

Get personalized tutoring, project support, or professional consulting.

Advertisement