Model 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.

lcvqeSSLR(n_clusters = NULL, mustLink = NULL, cantLink = NULL, max_iter = 2)

Arguments

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 2

Note

This models only returns labels, not centers

References

Dan Pelleg, Dorit Baras
K-means with large and noisy constraint sets
2007

Examples

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 <- lcvqeSSLR(max_iter = 1) %>% 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