clustering.RmdWe load de data:
data(wine) data <- iris set.seed(1) #% LABELED cls <- which(colnames(iris) == "Species") labeled.index <- createDataPartition(data$Species, p = .2, list = FALSE) data[-labeled.index,cls] <- NA
For example, we can train with Constrained Kmeans:
m <- constrained_kmeans() %>% fit(Species ~ ., data)
Labels:
m %>% cluster_labels() #> # A tibble: 150 x 1 #> .pred_class #> <fct> #> 1 1 #> 2 1 #> 3 1 #> 4 1 #> 5 1 #> 6 1 #> 7 1 #> 8 1 #> 9 1 #> 10 1 #> # ... with 140 more rows
Centers:
m %>% get_centers() #> [,1] [,2] [,3] [,4] #> [1,] 5.01 3.43 1.46 0.246 #> [2,] 5.85 2.75 4.32 1.400 #> [3,] 6.76 3.02 5.62 2.013
We can plot clusters with factoextra:
library(factoextra) fviz_cluster(m$model, as.matrix(data[,-cls]))
