Apa itu K-Means Clustering?

K-Means adalah algoritma unsupervised learning yang mengelompokkan data ke dalam K cluster berdasarkan kesamaan karakteristik. Sangat populer untuk analisis data dan data mining.

Konsep Dasar K-Means

  1. Tentukan jumlah cluster (K)
  2. Inisialisasi centroid secara random
  3. Hitung jarak setiap data ke centroid
  4. Assign data ke cluster terdekat
  5. Update centroid berdasarkan mean cluster
  6. Ulangi hingga konvergen

Implementasi dengan Python

import numpy as np import pandas as pd from sklearn.cluster import KMeans import matplotlib.pyplot as plt # Load data data = pd.read_csv('data.csv') X = data[['feature1', 'feature2']].values # Buat model K-Means kmeans = KMeans(n_clusters=3, random_state=42) kmeans.fit(X) # Hasil clustering labels = kmeans.labels_ centroids = kmeans.cluster_centers_ # Visualisasi plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis') plt.scatter(centroids[:, 0], centroids[:, 1], marker='X', s=200, c='red') plt.show()

Menentukan Jumlah K Optimal

Gunakan Elbow Method atau Silhouette Score untuk menentukan jumlah cluster optimal.

Aplikasi K-Means

  • Segmentasi pelanggan
  • Kompresi gambar
  • Deteksi anomali
  • Analisis pasar