A Support System for Clustering Data Streams with a Variable Number of Clusters
Many algorithms for clustering data streams that are based on the widely used k Means have been proposed in the literature. Most of these algorithms assume that the number of clusters, k, is known and fixed a priori by the user. Aimed at relaxing this assumption, which is often unrealistic in practical applications, we propose a support system that allows not only estimating the number of clusters automatically from data but also monitoring the process of the data stream clustering. We illustrate the potential of the proposed system by means of a prototype that implements eight algorithms for clustering data streams, namely, Stream LSearch OMRk, Stream LSearch BkM, Stream LSearch IOMRk, Stream LSearch IBkM, CluStream OMRk, CluStream BkM, StreamKM+ OMRk, and StreamKM+ BkM. These algorithms are combinations of three state of the art algorithms for clustering data streams with fixed k, namely, Stream LSearch, CluStream, and StreamKM+ with two algorithms for estimating the number of clusters, which are Ordered Multiple Runs of k Means (OMRk) and Bisecting k Means (BkM) We experimentally compare the performance of these algorithms using both synthetic and real world data streams. Analyses of statistical significance suggest that the algorithms that are based on OMRk yield the best data partitions, while the algorithms that are based on BkM are more computationally efficient. Additionally, StreamKM+ OMRk and Stream LSearch IBkM provide the best tradeoff relationship between accuracy and efficiency.
TAAS