Skip to contents

This 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

Author

Matthias Carnein

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")