BICO: Fast computation of k-means coresets in a data stream
Source:R/DSC_BICO_MOA.R
DSC_BICO_MOA.RdThis is an interface to the MOA implementation of BICO. The original BICO implementation by Fichtenberger et al is also available as stream::DSC_BICO.
Usage
DSC_BICO_MOA(
Cluster = 5,
Dimensions,
MaxClusterFeatures = 1000,
Projections = 10,
k = NULL,
space = NULL,
p = NULL
)Arguments
- Cluster
Number of desired centers.
- Dimensions
Number of dimensions in the input stream; this must be specified in advance.
- MaxClusterFeatures
Maximum number of cluster features in the coreset.
- Projections
Number of random projections used for the nearest neighbor search.
- k
Alias for
Cluster.- space
Alias for
MaxClusterFeatures.- p
Alias for
Projections.
Details
BICO maintains a tree which is inspired by the clustering tree of BIRCH, a SIGMOD Test of Time award-winning clustering algorithm. Each node in the tree represents a subset of these points. Instead of storing all points as individual objects, only the number of points, the sum and the squared sum of the subset's points are stored as key features of each subset. Points are inserted into exactly one node.
References
Hendrik Fichtenberger, Marc Gille, Melanie Schmidt, Chris Schwiegelshohn, Christian Sohler: BICO: BIRCH Meets Coresets for k-Means Clustering. ESA 2013: 481-492
See also
Other DSC_MOA:
DSC_CluStream(),
DSC_ClusTree(),
DSC_DStream_MOA(),
DSC_DenStream(),
DSC_MCOD(),
DSC_MOA(),
DSC_StreamKM()
Examples
# data with 3 clusters and 2 dimensions
set.seed(1000)
stream <- DSD_Gaussians(k = 3, d = 2, noise = 0.05)
# cluster with BICO
bico <- DSC_BICO_MOA(Cluster = 3, Dimensions = 2)
update(bico, stream, 100)
bico
#> BICO
#> Class: moa/clusterers/kmeanspm/BICO, DSC_MOA, DSC_Micro, DSC
#> Number of micro-clusters: 100
#> Number of macro-clusters: 3
# plot micro and macro-clusters
plot(bico, stream, type = "both")