Abstract
Clustering aims to group unlabeled objects based on similarity inherent amongthem into clusters. It is important for many tasks such as anomaly detection,database sharding, record linkage, and others. Some clustering methods aretaken as batch algorithms that incur a high overhead as they cluster all theobjects in the database from scratch or assume an incremental workload. Inpractice, database objects are updated, added, and removed from databasescontinuously which makes previous results stale. Running batch algorithms isinfeasible in such scenarios as it would incur a significant overhead ifperformed continuously. This is particularly the case for high-velocityscenarios such as ones in Internet of Things applications. In this paper, we tackle the problem of clustering in high-velocity dynamicscenarios, where the objects are continuously updated, inserted, and deleted.Specifically, we propose a generally dynamic approach to clustering thatutilizes previous clustering results. Our system, DynamicC, uses a machinelearning model that is augmented with an existing batch algorithm. The DynamicCmodel trains by observing the clustering decisions made by the batch algorithm.After training, the DynamicC model is usedin cooperation with the batchalgorithm to achieve both accurate and fast clustering decisions. Theexperimental results on four real-world and one synthetic datasets show thatour approach has a better performance compared to the state-of-the-art methodwhile achieving similarly accurate clustering results to the baseline batchalgorithm.