Was hat mich zu dieser Wunschliste inspiriert? Ich möchte ein Clustering durchführen, bei dem die Clusterzentren (Medoide) auf Zeilen in der Datentabelle beschränkt sind (im Gegensatz zu kmeans, wo der Mittelwert möglicherweise keine Zeile in der Tabelle ist und Einschränkungen erfüllt).
Welche Verbesserung wünschen Sie sich? Fügen Sie diese möglicherweise irgendwo im Menü „Analysieren > Clustering“ hinzu. Hier ist ein Beispiel für R-Code.
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
Warum ist diese Idee wichtig?
Ich möchte dies auf Tabellen anwenden, die von Output Random Table in Profiler erstellt wurden, um eine Teilmenge verschiedener, äußerst wünschenswerter Faktoreinstellungen auszuwählen, und benötige dies anstelle von K-Means, wenn Mischungen oder andere Einschränkungen vorliegen.
Das ist ein interessanter Vorschlag. Wir werden ihn intern besprechen. Danke für den Beitrag.