MulaiMulai sekarang secara gratis

Meninjau kembali data grosir: k "Terbaik"

Di akhir Bab 2 Anda telah mengeksplorasi data distributor grosir customers_spend menggunakan hierarchical clustering. Kali ini Anda akan menganalisis data tersebut menggunakan alat k-means clustering yang dibahas dalam bab ini.

Langkah pertama adalah menentukan nilai k "terbaik" menggunakan average silhouette width.

Pengingat tentang datanya: data ini memuat catatan jumlah pengeluaran oleh 45 klien berbeda dari sebuah distributor grosir untuk kategori makanan Milk, Grocery, dan Frozen. Data ini disimpan dalam data frame customers_spend. Untuk latihan ini Anda dapat berasumsi bahwa karena semua data bertipe sama (jumlah pengeluaran), Anda tidak perlu melakukan skala.

Latihan ini adalah bagian dari kursus

Analisis Klaster di R

Lihat Kursus

Petunjuk latihan

  • Gunakan map_dbl() untuk menjalankan pam() dengan data customers_spend untuk nilai k dari 2 hingga 10 dan ekstrak nilai average silhouette width dari setiap model: model$silinfo$avg.width. Simpan vektor hasilnya sebagai sil_width.
  • Bangun data frame baru sil_df yang memuat nilai k dan vektor average silhouette width.
  • Gunakan nilai dalam sil_df untuk membuat plot garis yang menunjukkan hubungan antara k dan average silhouette width.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Use map_dbl to run many models with varying value of k
sil_width <- map_dbl(2:10,  function(k){
  model <- pam(x = ___, k = ___)
  model$silinfo$avg.width
})

# Generate a data frame containing both k and sil_width
sil_df <- data.frame(
  k = ___,
  sil_width = ___
)

# Plot the relationship between k and sil_width
ggplot(___, aes(x = ___, y = ___)) +
  geom_line() +
  scale_x_continuous(breaks = 2:10)
Edit dan Jalankan Kode