# DSC_CluStream

##### CluStream Data Stream Clusterer

Class implements the CluStream cluster algorithm for data streams.

##### Usage

`DSC_CluStream(m = 100, horizon = 1000, t = 2, k=NULL)`

##### Arguments

- m
Defines the maximum number of micro-clusters used in CluStream

- horizon
Defines the time window to be used in CluStream

- t
Maximal boundary factor (=Kernel radius factor). When deciding to add a new data point to a micro-cluster, the maximum boundary is defined as a factor of

`t`

of the RMS deviation of the data points in the micro-cluster from the centroid.- k
Number of macro-clusters to produce using weighted k-means.

`NULL`

disables automatic reclustering.

##### Details

This is an interface to the MOA implementation of CluStream.

CluStream applies a weighted k-means algorithm for reclustering (see Examples section below).

##### Value

An object of class `DSC_CluStream`

(subclass of
`DSC_Micro`

, `DSC_MOA`

and `DSC`

), or,
if `k`

is not `NULL`

then an object of `DSC_TwoStage`

.

##### References

Aggarwal CC, Han J, Wang J, Yu PS (2003). "A Framework for Clustering Evolving Data Streams." In "Proceedings of the International Conference on Very Large Data Bases (VLDB '03)," pp. 81-92.

Bifet A, Holmes G, Pfahringer B, Kranen P, Kremer H, Jansen T, Seidl T (2010). MOA: Massive Online Analysis, a Framework for Stream Classification and Clustering. In Journal of Machine Learning Research (JMLR).

##### See Also

##### Examples

```
# NOT RUN {
# data with 3 clusters and 5% noise
stream <- DSD_Gaussians(k=3, d=2, noise=.05)
# cluster with CluStream
clustream <- DSC_CluStream(m=50)
update(clustream, stream, 500)
clustream
# plot micro-clusters
plot(clustream, stream)
# plot assignment area (micro-cluster radius)
plot(clustream, stream, assignment=TRUE, weights=FALSE)
# reclustering. Use weighted k-means for CluStream
kmeans <- DSC_Kmeans(k=3, weighted=TRUE)
recluster(kmeans, clustream)
plot(kmeans, stream, type="both")
# use k-means reclustering automatically by specifying k
clustream <- DSC_CluStream(m=50, k=3)
update(clustream, stream, 500)
clustream
plot(clustream, stream, type="both")
# }
```

*Documentation reproduced from package streamMOA, version 1.1-4, License: GPL-3*