ckmeansSSLR.RdModel from conclust
This function takes an unlabeled dataset and two lists of must-link and cannot-link constraints
as input and produce a clustering as output.
ckmeansSSLR(n_clusters = NULL, mustLink = NULL, cantLink = NULL, max_iter = 10)
| n_clusters | A number of clusters to be considered. Default is NULL (num classes) |
|---|---|
| mustLink | A list of must-link constraints. NULL Default, constrints same label |
| cantLink | A list of cannot-link constraints. NULL Default, constrints with different label |
| max_iter | maximum iterations in KMeans. Default is 10 |
This models only returns labels, not centers
Wagstaff, Cardie, Rogers, Schrodl
Constrained K-means Clustering with Background Knowledge
2001
library(tidyverse) library(caret) library(SSLR) library(tidymodels) 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 m <- ckmeansSSLR() %>% fit(Species ~ ., data) #Get labels (assing clusters), type = "raw" return factor labels <- m %>% cluster_labels() print(labels)#> # A tibble: 150 x 1 #> .pred_class #> <fct> #> 1 3 #> 2 3 #> 3 3 #> 4 3 #> 5 3 #> 6 3 #> 7 3 #> 8 3 #> 9 3 #> 10 3 #> # ... with 140 more rows