A C++ implementation of simple k-means clustering algorithm.
K-means clustering is a type of unsupervised learning, which is used when you have unlabeled data (i.e., data without defined categories or groups). The goal of this algorithm is to find groups in the data, with the number of groups represented by the variable K. The algorithm works iteratively to assign each data point to one of K groups based on the features that are provided. Data points are clustered based on feature similarity.
This implementation now contains multithreading support, which speeds up calculations for large vectors and thousands of points by parallelization.
The input supports any number of points and any number of dimensions. Make the "input.txt" file accordingly.
Run this command :
./kmeans input.txt 2 cluster-details
Output :