The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
We provide an R interface to the high-performance implementation of banditpam, a \(k\)-medoids clustering algorithm.
If you use this software, please cite:
Mo Tiwari, Martin Jinye Zhang, James Mayclin, Sebastian Thrun, Chris Piech, Ilan Shomorony. “banditpam: Almost Linear Time k-medoids Clustering via Multi-Armed Bandits” Advances in Neural Information Processing Systems (NeurIPS) 2020.
Here’s a BibTeX entry:
@inproceedings{banditpam,
title={banditpam: Almost Linear Time k-medoids Clustering via Multi-Armed Bandits},
author={Tiwari, Mo and Zhang, Martin J and Mayclin, James and Thrun, Sebastian and Piech, Chris and Shomorony, Ilan},
booktitle={Advances in Neural Information Processing Systems},
pages={368--374},
year={2020}
}
banditpam
can be installed from CRAN like any other
package.
This is a basic example which shows you how to solve a common problem:
library(banditpam)
## Generate data from a Gaussian Mixture Model with the given means:
set.seed(10)
<- 40
n_per_cluster <- list(c(0, 0), c(-5, 5), c(5, 5))
means <- do.call(rbind, lapply(means, MASS::mvrnorm, n = n_per_cluster, Sigma = diag(2)))
X ## Create KMediods object
<- KMedoids$new(k = 3)
obj ## Fit data
$fit(data = X, loss = "l2")
obj## Retrieve medoid indices
<- obj$get_medoids_final()
meds ## Plot the results
plot(X[, 1], X[, 2])
points(X[meds, 1], X[meds, 2], col = "red", pch = 19)
##
## One can query some statistics too; see help("KMedoids")
##
$get_statistic("dist_computations")
obj$get_statistic("dist_computations_and_misc")
obj$get_statistic("cache_misses") obj
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.