salso {salso} | R Documentation |
SALSO Greedy Search
Description
This function provides a partition to summarize a partition distribution
using the SALSO greedy search method (Dahl, Johnson, and Müller, 2022). The
implementation currently supports the minimization of several partition
estimation criteria. For details on these criteria, see
partition.loss
.
Usage
salso(
x,
loss = VI(),
maxNClusters = 0,
nRuns = 16,
maxZealousAttempts = 10,
probSequentialAllocation = 0.5,
nCores = 0,
...
)
Arguments
x |
A |
loss |
The loss function to use, as indicated by |
maxNClusters |
The maximum number of clusters that can be considered by
the optimization algorithm, which has important implications for the
interpretability of the resulting clustering and can greatly influence the
RAM needed for the optimization algorithm. If the supplied value is zero
and |
nRuns |
The number of runs to try, although the actual number may differ
for the following reasons: 1. The actual number is a multiple of the number
of cores specified by the |
maxZealousAttempts |
The maximum number of attempts for zealous updates, in which entire clusters are destroyed and items are sequentially reallocated. While zealous updates may be helpful in optimization, they also take more CPU time which might be better used trying additional runs. |
probSequentialAllocation |
For the initial allocation, the probability
of sequential allocation instead of using |
nCores |
The number of CPU cores to use, i.e., the number of simultaneous runs at any given time. A value of zero indicates to use all cores on the system. |
... |
Extra arguments not intended for the end user, including: 1.
|
Value
An integer vector giving the estimated partition, encoded using cluster labels.
References
D. B. Dahl, D. J. Johnson, and P. Müller (2022), Search Algorithms and Loss Functions for Bayesian Clustering, Journal of Computational and Graphical Statistics, 31(4), 1189-1201, doi:10.1080/10618600.2022.2069779.
See Also
partition.loss
, psm
,
summary.salso.estimate
, dlso
Examples
# For examples, use 'nCores=1' per CRAN rules, but in practice omit this.
data(iris.clusterings)
draws <- iris.clusterings
# R_CARGO \dontrun{
# R_CARGO # Example disabled since Cargo was not found when installing from source package.
# R_CARGO # You can still run the example if you install Cargo. Hint: cargo::install().
salso(draws, loss=VI(), nRuns=1, nCores=1)
salso(draws, loss=VI(a=0.7), nRuns=1, nCores=1)
salso(draws, loss=binder(), nRuns=1, nCores=1)
salso(iris.clusterings, binder(a=NULL), nRuns=4, nCores=1)
salso(iris.clusterings, binder(a=list(nClusters=3)), nRuns=4, nCores=1)
# R_CARGO }