이 위시리스트 요청은 어떻게 시작되었을까요? 클러스터 중심(medoid)이 데이터 테이블의 행으로 제한되는 클러스터링을 실행하고 싶습니다(평균이 테이블의 행이 아니어도 제약 조건을 충족하는 kmeans와는 다릅니다).
어떤 개선을 원하시나요? 분석 > 클러스터링 메뉴 어딘가에 추가해 보세요. R 코드 예시는 다음과 같습니다.
library(cluster)
n <- 200
X <- data.frame(
x1 = rnorm(n),
x2 = runif(n, 0, 10),
f1 = factor(sample(letters[1:3], n, TRUE)),
f2 = factor(sample(c("lo","mid","hi"), n, TRUE))
)
d <- daisy(X, metric = "gower")
fit <- pam(d, k = 5, diss = TRUE)
cl <- fit$clustering
medoid_rows <- fit$id.med
cat("Medoid row indices:", medoid_rows, "\n\n")
cat("Medoid rows (one per cluster):\n")
print(X[medoid_rows, ], row.names = FALSE)
cat("\nCluster sizes:\n")
print(table(cl))
> cat("Medoid row indices:", medoid_rows, "\n\n") Medoid row indices: 170 111 191 200 68 > cat("Medoid rows (one per cluster):\n") Medoid rows (one per cluster): > print(X[medoid_rows, ], row.names = FALSE) x1 x2 f1 f2 -0.42460961 4.116528 b mid -0.08807738 7.593479 b hi -0.32078302 2.121084 c lo 0.28653902 4.962979 c mid 0.30942313 2.652641 a lo > cat("\nCluster sizes:\n") Cluster sizes: > print(table(cl)) cl 1 2 3 4 5 33 43 43 35 46
이 아이디어가 왜 중요한가요?
Profiler에서 Output Random Table을 통해 생성된 표에서 이 기능을 사용하여 다양한 바람직한 요인 설정의 하위 집합을 선택하고, 혼합 또는 기타 제약 조건이 있는 경우 k-평균 대신 이 기능이 필요합니다.
흥미로운 제안이네요. 내부적으로 논의해 보겠습니다. 올려주셔서 감사합니다.