A K-Means, Ward and DBSCAN repeatability study
This work addresses reproducibility issues in machine learning for users and developers of clustering algorithms, though it is incremental as it focuses on existing methods.
The study analyzed the repeatability of K-Means, DBSCAN, and Ward clustering algorithms by decomposing them into fundamental steps and identifying conditions for bitwise identical results, revealing inconsistent results with K-Means when OpenMP threads exceed two.
Reproducibility is essential in machine learning because it ensures that a model or experiment yields the same scientific conclusion. For specific algorithms repeatability with bitwise identical results is also a key for scientific integrity because it allows debugging. We decomposed several very popular clustering algorithms: K-Means, DBSCAN and Ward into their fundamental steps, and we identify the conditions required to achieve repeatability at each stage. We use an implementation example with the Python library scikit-learn to examine the repeatable aspects of each method. Our results reveal inconsistent results with K-Means when the number of OpenMP threads exceeds two. This work aims to raise awareness of this issue among both users and developers, encouraging further investigation and potential fixes.