K-ortalama küme analizi sonuçlarının güzel bir grafiği nasıl oluşturulur?


77

K-kümeleme yapmak için R kullanıyorum. K-means'i çalıştırmak için 14 değişken kullanıyorum

  • K-araçlarının sonuçlarını çizmenin güzel bir yolu nedir?
  • Herhangi bir uygulama var mı?
  • 14 değişkene sahip olmak sonuçları çizmeyi zorlaştırıyor mu?

GGcluster adında havalı görünen bir şey buldum ama hala gelişme aşamasında. Ayrıca, sammon haritalama hakkında bir şeyler okudum, ama çok iyi anlamadım. Bu iyi bir seçenek olabilir mi?


1
Herhangi bir nedenden dolayı bu çok pratik problemin mevcut çözümleri ile ilgileniyorsanız, lütfen mevcut cevaplara yorumlarınızı ekleyin veya yayınınızı daha fazla bağlamla güncelleyin. 40.000 vaka ile çalışmak burada önemli bir bilgidir.
chl

11 sınıf ve 10 değişkenli başka bir örnek ise İstatistiki Öğrenmenin Elemanları 118 . korkunç bilgilendirici değil.
denis,

kütüphane (animasyon) kmeans.ani (yourData, merkezler = 2)
Kartheek Palepu 12:15

Yanıtlar:


27

Bunun için siluet grafiğini zorlardım, çünkü boyut sayısı 14 olduğunda çift grafiklerinden çok fazla işlem yapılabilir bilgi elde etmeniz pek mümkün değildir.

library(cluster)
library(HSAUR)
data(pottery)
km    <- kmeans(pottery,3)
dissE <- daisy(pottery) 
dE2   <- dissE^2
sk2   <- silhouette(km$cl, dE2)
plot(sk2)

Bu yaklaşım oldukça alıntılanmıştır ve iyi bilinmektedir ( bir açıklama için buraya bakınız ).

Rousseeuw, PJ (1987) Silüetler: Küme analizinin yorumlanması ve onaylanması için grafiksel bir yardım . J. Comput. Baş. Matematik. , 20 , 53-65.


Bunu severim. Daha yakından bakacağım. Teşekkür ederim.
JEquihua,

@ user603: Cevabınızdaki açıklamaların özünü vermek ister misiniz? 2,5 yıl önce verdiğin bağlantı kesildi. Makale hala orada, ancak bu tekniğe kısa bir giriş yapmak güzel olurdu.
Steen

Bağlantı kağıda işaret ediyordu (gerçekten karanlık olan kapısız bir erişim noktasıydı).
user603 19.03.2015

Bu silhoette ile garip bir arsa var (solda clusplot ve sağda silhoette arsa, bu bekleniyor mu?) - i.imgur.com/ZIpPlhT.png
vipin8169

56

İşte size yardımcı olabilecek bir örnek:

library(cluster)
library(fpc)

data(iris)
dat <- iris[, -5] # without known classification 
# Kmeans clustre analysis
clus <- kmeans(dat, centers=3)
# Fig 01
plotcluster(dat, clus$cluster)

# More complex
clusplot(dat, clus$cluster, color=TRUE, shade=TRUE, 
         labels=2, lines=0)

# Fig 03
with(iris, pairs(dat, col=c(1:3)[clus$cluster])) 

İkinci arsaya dayanarak, başlangıç ​​değişkenlerinizden hangisinin çizileceğine karar verebilirsiniz. Belki 14 değişken çok büyüktür, bu yüzden önce bir ana bileşen analizi (PCA) deneyebilir ve daha sonra küme analizi yapmak için PCA'dan ilk iki veya üç bileşeni kullanabilirsiniz.


1
Dc1 ve dc2'nin nasıl anlaşılacağını çözemiyorum? Beni doğru yöne götürebilir misin?
UD1989

1
@ Upasana Datta: İki bileşen, verilere temel bileşen analizi (PCA, işlev princomp) uygulamasının sonucudur. Bunlar, gözlemlerin değişkenliğinin çoğunu oluşturan giriş değişkenlerinin doğrusal kombinasyonlarıdır.
rakensi

Merhaba, elipsin 2. arsada nasıl hesaplandığından şüpheliyim. "Bu iki bileşen puan değişkenliğinin% 95,81'ini açıklar" nasıl belirler?
mynameisJEFF

@mynameisJEFF Gizli / kanonik değişkenler, eignvalues, vb. kullandığını varsayardım. Belgeleri kontrol edebilirsiniz, ancak genellikle bu şekilde etiketlenmiş bir ikili grafik gördüğünüzde ne anlama geldiğini gösterir. Verilerdeki varyasyonun% 95,81'inin, verilerin çizildiği 2 gizli değişken tarafından açıklandığı söyleniyor. Güncelleme - Sadece Googled ve gerçekten de temel bileşenleri kullanıyor.
Hack-R

Neden burada "yanına" ihtiyacın var? Sadece pairsişlevden ayrılmak daha zayıf olurdu .
Anatolii Stepaniuk

4

Bunu yapmanın en basit yolu şöyle:

X <- data.frame(c1=c(0,1,2,4,5,4,6,7),c2=c(0,1,2,3,3,4,5,5))
km <- kmeans(X, center=2)
plot(X,col=km$cluster)
points(km$center,col=1:2,pch=8,cex=1)

Bu şekilde, her bir kümenin noktalarını farklı bir renk ve onların centroidlerini kullanarak çizebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.