k- 평균 군집 분석 결과의 예쁜 플롯을 생성하는 방법은 무엇입니까?


77

K- 평균 군집화를 위해 R을 사용하고 있습니다. K- 평균을 실행하기 위해 14 개의 변수를 사용하고 있습니다

  • K- 평균의 결과를 나타내는 가장 좋은 방법은 무엇입니까?
  • 기존 구현이 있습니까?
  • 14 개의 변수가 있으면 결과를 작성하는 것이 복잡합니까?

멋져 보이는 GGcluster라는 것을 발견했지만 여전히 개발 중입니다. 나는 또한 sammon 매핑에 대해 읽었지만 그것을 잘 이해하지 못했습니다. 이것이 좋은 선택입니까?


1
어떤 이유로이 매우 실용적인 문제에 대한 현재 솔루션에 관심이있는 경우 기존 답글에 댓글을 추가하거나 더 많은 내용으로 게시물을 업데이트하십시오. 4 만 건의 사례를 다루는 것이 여기서 중요한 정보입니다.
chl

11 개의 클래스와 10 개의 변수가있는 다른 예 는 통계 학습요소 118 페이지에 있습니다 . 별로 유익하지 않습니다.
데니스

라이브러리 (애니메이션) kmeans.ani (yourData, 센터 = 2)
Kartheek Palepu

답변:


27

치수의 수가 14 일 때 쌍 그림에서 많은 실용적인 정보를 얻을 가능성이 없기 때문에 실루엣 그림을 밀어 넣습니다.

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

이 접근법은 널리 인용되고 잘 알려져 있습니다 ( 설명 은 여기 를 참조 하십시오 ).

Rousseeuw, PJ (1987) 실루엣 : 클러스터 분석의 해석 및 검증에 대한 그래픽 지원 . J. 컴퓨팅 Appl. 수학. , 20 , 53-65.


나는 이것을 좋아한다. 더 자세히 살펴 보겠습니다. 감사합니다.
JEquihua

@ user603 : 대답에 요점을 설명하고 싶습니까? 당신이 2.5 년 전에 준 링크는 죽었습니다. 이 기사는 아직 있지만이 기술에 대한 짧은 소개가 좋습니다.
Steen

링크가 종이를 가리 켰습니다 (게이팅되지 않은 액세스 포인트였으며 실제로 어두워졌습니다).
user603

나는이 silhoette와 이상한 플롯있어 (왼쪽 clusplot이하고 오른쪽이 예상되고, silhoette 음모인가?) - i.imgur.com/ZIpPlhT.png
vipin8169가

56

다음은 도움이 될 수있는 예입니다.

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])) 

후자의 플롯을 기반으로 플롯 할 초기 변수를 결정할 수 있습니다. 14 개의 변수가 클 수 있으므로 PCA (Principal Component Analysis)를 시도한 다음 PCA에서 처음 2 ~ 3 개의 구성 요소를 사용하여 군집 분석을 수행 할 수 있습니다.


1
dc1과 dc2를 해석하는 방법을 알 수 없습니다? 올바른 방향으로 나를 가리켜 주시겠습니까?
UD1989

1
@Upasana Datta : 두 구성 요소는 데이터에 기본 구성 요소 분석 (PCA, 기능 princomp)을 적용한 결과입니다. 그것들은 대부분의 관측 변수를 설명하는 입력 변수의 선형 조합입니다.
rakensi

안녕하세요, 두 번째 줄거리에서 타원이 어떻게 계산되는지 궁금합니다. "이 두 성분이 점 변동성의 95.81 %를 설명합니다"를 어떻게 결정합니까?
mynameisJEFF

@mynameisJEFF 나는 잠복 / 정식 변수, eignvalues ​​등을 사용한다고 가정합니다. 문서를 확인할 수는 있지만 일반적으로 biplot이라는 레이블이 붙은 것을 의미합니다. 데이터 변동의 95.81 %가 데이터가 그려지는 2 개의 잠재 변수에 의해 설명된다고합니다. 업데이트-방금 Google을 검색했으며 실제로 주요 구성 요소를 사용합니다.
Hack-R

여기에 "with"가 필요한 이유는 무엇입니까? pairs기능 을 그대로 두는 것이 더 나을 것 입니다.
Anatolii Stepaniuk

4

내가 아는 가장 간단한 방법은 다음과 같습니다.

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)

이런 식으로 다른 색상과 중심을 사용하여 각 클러스터의 점을 그릴 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.