Qu'est-ce qui a motivé cette demande de liste de souhaits ? Je souhaite exécuter un clustering où les centres de cluster (médoïdes) sont limités aux lignes de la table de données (contrairement aux kmeans où la moyenne peut ne pas être une ligne de la table et satisfaire aux contraintes).
Quelle amélioration souhaiteriez-vous obtenir ? Vous pouvez l'ajouter dans le menu Analyse > Clustering. Voici un exemple de code 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
Pourquoi cette idée est-elle importante ?
Je souhaite utiliser ceci sur des tables produites par Output Random Table dans Profiler pour sélectionner un sous-ensemble de différents paramètres de facteurs hautement souhaitables, et j'en ai besoin au lieu de k-means lorsque des contraintes de mélange ou d'autres contraintes sont présentes.
C'est une suggestion intéressante. Nous allons en discuter en interne. Merci pour votre contribution.