All Projects → aditya1601 → kmeans-clustering-cpp

aditya1601 / kmeans-clustering-cpp

Licence: MIT license
A C++ implementation of simple k-means clustering algorithm.

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to kmeans-clustering-cpp

text-cluster
🍡 文本聚类 k-means算法及实战
Stars: ✭ 40 (+2.56%)
Mutual labels:  kmeans-clustering, kmeans-algorithm, kmeans-clustering-algorithm
skmeans
Super fast simple k-means implementation for unidimiensional and multidimensional data.
Stars: ✭ 59 (+51.28%)
Mutual labels:  kmeans, kmeans-clustering, kmeans-algorithm
KMeans elbow
Code for determining optimal number of clusters for K-means algorithm using the 'elbow criterion'
Stars: ✭ 35 (-10.26%)
Mutual labels:  kmeans, kmeans-clustering
tsp-essay
A fun study of some heuristics for the Travelling Salesman Problem.
Stars: ✭ 15 (-61.54%)
Mutual labels:  kmeans-clustering, kmeans-algorithm
Clustering-in-Python
Clustering methods in Machine Learning includes both theory and python code of each algorithm. Algorithms include K Mean, K Mode, Hierarchical, DB Scan and Gaussian Mixture Model GMM. Interview questions on clustering are also added in the end.
Stars: ✭ 27 (-30.77%)
Mutual labels:  kmeans-clustering, kmeans-algorithm
ParallelKMeans.jl
Parallel & lightning fast implementation of available classic and contemporary variants of the KMeans clustering algorithm
Stars: ✭ 45 (+15.38%)
Mutual labels:  kmeans-clustering, kmeans-clustering-algorithm
Study-of-David-Mackay-s-book-
David Mackay's book review and problem solvings and own python codes, mathematica files
Stars: ✭ 46 (+17.95%)
Mutual labels:  kmeans-clustering
kmpp
k-means clustering algorithm with k-means++ initialization.
Stars: ✭ 28 (-28.21%)
Mutual labels:  kmeans-algorithm
SIFT-BoF
Feature extraction by using SITF+BoF.
Stars: ✭ 22 (-43.59%)
Mutual labels:  kmeans
Feature-Engineering-for-Fraud-Detection
Implementation of feature engineering from Feature engineering strategies for credit card fraud
Stars: ✭ 31 (-20.51%)
Mutual labels:  kmeans
pigmnts
🎨 Color palette generator from an image using WebAssesmbly and Rust
Stars: ✭ 38 (-2.56%)
Mutual labels:  kmeans
SparsifiedKMeans
KMeans for big data using preconditioning and sparsification, Matlab implementation. Aka k-means
Stars: ✭ 50 (+28.21%)
Mutual labels:  kmeans
MachineLearning
Implementations of machine learning algorithm by Python 3
Stars: ✭ 16 (-58.97%)
Mutual labels:  kmeans
Clustering-Python
Python Clustering Algorithms
Stars: ✭ 23 (-41.03%)
Mutual labels:  kmeans
data-science-popular-algorithms
Data Science algorithms and topics that you must know. (Newly Designed) Recommender Systems, Decision Trees, K-Means, LDA, RFM-Segmentation, XGBoost in Python, R, and Scala.
Stars: ✭ 65 (+66.67%)
Mutual labels:  kmeans
k-means-quantization-js
🎨 Apply color quantization to images using k-means clustering.
Stars: ✭ 27 (-30.77%)
Mutual labels:  kmeans-clustering
kmeans-dbscan-tutorial
A clustering tutorial with scikit-learn for beginners.
Stars: ✭ 20 (-48.72%)
Mutual labels:  kmeans
osm-data-classification
Migrated to: https://gitlab.com/Oslandia/osm-data-classification
Stars: ✭ 23 (-41.03%)
Mutual labels:  kmeans
Genetic-Algorithm-on-K-Means-Clustering
Implementing Genetic Algorithm on K-Means and compare with K-Means++
Stars: ✭ 37 (-5.13%)
Mutual labels:  kmeans-clustering
ClusterR
Gaussian mixture models, k-means, mini-batch-kmeans and k-medoids clustering
Stars: ✭ 69 (+76.92%)
Mutual labels:  kmeans

K-Means clustering in C++

Binary build

This is a C++ implementation of the 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.

Instructions:

The input supports any number of points and any number of dimensions. Make the "input.txt" file accordingly.

  • Download the binary file "kmeans" from the repository.
  • Make a file "input.txt" with all the point coordinates. The format should be as shown below (the example has 2-dimensional coordinates):

Input File Syntax

  • Run the kmeans binary with the input file name, number of clusters and output directory as command line arguments

Run this command : ./kmeans input.txt 2 cluster-details

Output : Bash Output

  • The output will be 2 files in the output directory (eg: cluster-details) which contains the center point of each cluster, and cluster detail for each point.

Clusters File Syntax


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].