Toptan verilerine yeniden bakış: "En iyi" k
Bölüm 2'nin sonunda, hiyerarşik kümeleme kullanarak toptan dağıtıcı verisi customers_spend üzerinde çalıştın. Bu kez, bu bölümde ele alınan k-means kümeleme araçlarıyla aynı veriyi analiz edeceksin.
İlk adım, ortalama siluet genişliğini kullanarak "en iyi" k değerini belirlemek olacak.
Veriyle ilgili kısa bir hatırlatma: Bir toptan dağıtıcının 45 farklı müşterisinin Milk, Grocery ve Frozen gıda kategorilerine yaptığı harcama tutarlarını içeriyor. Bu veriler customers_spend adlı veri çerçevesinde tutuluyor. Bu egzersizde tüm değişkenler aynı türde (harcama tutarı) olduğundan ölçekleme yapmana gerek olmadığını varsayabilirsin.
Bu egzersiz, kursun bir parçasıdır
R ile Kümeleme Analizi
Egzersiz talimatları
map_dbl()kullanarakpam()fonksiyonunucustomers_spendverisi üzerinde k değerleri 2'den 10'a kadar olacak şekilde çalıştır ve her modelden ortalama siluet genişliği değerini çıkar:model$silinfo$avg.width. Ortaya çıkan vektörüsil_widtholarak sakla.- k değerleri ile ortalama siluet genişlikleri vektörünü içeren yeni bir veri çerçevesi
sil_dfoluştur. sil_dfiçindeki değerleri kullanarak k ile ortalama siluet genişliği arasındaki ilişkiyi gösteren bir çizgi grafiği çiz.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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)