Dasar-dasar klastering k-means

Analisis Klaster di Python

Shaumik Daityari

Business Analyst

Mengapa klastering k-means?

  • Kekurangan utama klastering hierarkis: waktu proses
  • K-means jauh lebih cepat pada dataset besar
Analisis Klaster di Python

Langkah 1: Hasilkan pusat klaster

kmeans(obs, k_or_guess, iter, thresh, check_finite)
  • obs: observasi yang sudah distandardisasi
  • k_or_guess: jumlah klaster
  • iter: jumlah iterasi (default: 20)
  • thres: ambang batas (default: 1e-05)
  • check_finite: apakah memeriksa hanya nilai hingga pada observasi (default: True)

Mengembalikan dua objek: pusat klaster, distorsi

Analisis Klaster di Python

Bagaimana distorsi dihitung?

Analisis Klaster di Python

Langkah 2: Hasilkan label klaster

vq(obs, code_book, check_finite=True)
  • obs: observasi yang sudah distandardisasi
  • code_book: pusat klaster
  • check_finite: apakah memeriksa hanya nilai hingga pada observasi (default: True)

Mengembalikan dua objek: daftar label klaster, daftar distorsi

Analisis Klaster di Python

Catatan tentang distorsi

  • kmeans mengembalikan satu nilai distorsi
  • vq mengembalikan daftar distorsi.
Analisis Klaster di Python

Menjalankan k-means

# Import kmeans and vq functions
from scipy.cluster.vq import kmeans, vq
# Generate cluster centers and labels
cluster_centers, _ = kmeans(df[['scaled_x', 'scaled_y']], 3)
df['cluster_labels'], _ = vq(df[['scaled_x', 'scaled_y']], cluster_centers)
# Plot clusters
sns.scatterplot(x='scaled_x', y='scaled_y', hue='cluster_labels', data=df)
plt.show()
Analisis Klaster di Python

Analisis Klaster di Python

Ayo berlatih!

Analisis Klaster di Python

Preparing Video For Download...