Run the DBSCAN (Density-based spatial clustering of applications with noise) clustering algorithm.
Value
A list containing the cluster assignments of all data points. A data
point not belonging to any cluster (i.e., "noise") will have NA as its
cluster assignment.
Examples
library(cuda.ml)
if (interactive() && cuda_ml_backend_info()$runtime_installed) {
gen_pts <- function() {
centroids <- list(c(1000, 1000), c(-1000, -1000), c(-1000, 1000))
pts <- centroids |>
purrr::map(\(centroid) {
MASS::mvrnorm(10, mu = centroid, Sigma = diag(2))
})
do.call(rbind, pts)
}
m <- gen_pts()
clusters <- cuda_ml_dbscan(m, min_pts = 5, eps = 3)
print(clusters)
}