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
- Tentukan jumlah cluster (K)
- Inisialisasi centroid secara random
- Hitung jarak setiap data ke centroid
- Assign data ke cluster terdekat
- Update centroid berdasarkan mean cluster
- 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