당신이 물어 보는 것에 대한 정확한 대답은 아니지만 k-means clustering 대신 seriation을 고려할 수도 있습니다. 클러스터링보다는 안수 방식과 비슷하지만, 결과적으로 seriated 데이터의 히트 맵이 생성됩니다.이 히트 맵은 k- 평균과 특별하게 정렬 된 히트 맵을 사용하는 것처럼 보입니다.
가 seriation에 대한 R 패키지가, seriation
라고 그리고 내가 시도하는 예를 요리 한 후에는 directly from CRAN
내가 Q의 세부 사항을 답변 해 드리겠습니다 얻을 수있는 네트을 가지고 있습니다.
Ok - 위의 의견에서 다음과 같은 올바른 대답. 먼저 몇 가지 더미 데이터 - 3 개의 변수 각각에 10 개의 샘플로 구성된 3 개의 클러스터.
set.seed(1)
dat <- data.frame(A = c(rnorm(10, 2), rnorm(10, -2), rnorm(10, -2)),
B = c(rnorm(10, 0), rnorm(10, 5), rnorm(10, -2)),
C = c(rnorm(10, 0), rnorm(10, 0), rnorm(10, -10)))
## randomise the rows
dat <- dat[sample(nrow(dat)),]
clus <- kmeans(scale(dat, scale = FALSE), centers = 3, iter.max = 50,
nstart = 10)
## means of n points in each cluster
mns <- sapply(split(dat, clus$cluster), function(x) mean(unlist(x)))
## order the data by cluster with clusters ordered by `mns`, low to high
dat2 <- do.call("rbind", split(dat, clus$cluster)[order(mns)])
## heatmaps
## original first, then reordered:
layout(matrix(1:2, ncol = 2))
image(1:3, 1:30, t(data.matrix(dat)), ylab = "Observations",
xlab = "Variables", xaxt = "n", main = "Original")
axis(1, at = 1:3)
image(1:3, 1:30, t(data.matrix(dat2)), ylab = "Observations",
xlab = "Variables", xaxt = "n", main = "Reordered")
axis(1, at = 1:3)
layout(1)
항복 : 무엇
수단? 클러스터링에 사용되는 변수 중 하나입니까? –
각 클러스터의 값을 의미합니다. 예를 들어, 각 클러스터가 data.frame에서 30 행이고 data.frame에 k-means 클러스터링이 수행되는 열이 10 개인 경우 각 클러스터의 평균 값은 300입니다. 중심을 사용할 수도 있습니다. –
centroid는 각 클러스터의 번호가 아니며 10-d 공간의 한 지점이므로 각 클러스터 중심의 좌표는 10입니다. –