All Projects → kjahan → K_means

kjahan / K_means

A Python implementation of k-means clustering algorithm

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to K means

Libcluster
Automatic cluster formation/healing for Elixir applications
Stars: ✭ 1,280 (+1085.19%)
Mutual labels:  clustering
Uis Rnn
This is the library for the Unbounded Interleaved-State Recurrent Neural Network (UIS-RNN) algorithm, corresponding to the paper Fully Supervised Speaker Diarization.
Stars: ✭ 1,308 (+1111.11%)
Mutual labels:  clustering
Typescript Restful Starter
Node.js + ExpressJS + Joi + Typeorm + Typescript + JWT + ES2015 + Clustering + Tslint + Mocha + Chai
Stars: ✭ 97 (-10.19%)
Mutual labels:  clustering
Machine learning code
机器学习与深度学习算法示例
Stars: ✭ 88 (-18.52%)
Mutual labels:  clustering
Refinr
Cluster and merge similar char values: an R implementation of Open Refine clustering algorithms
Stars: ✭ 91 (-15.74%)
Mutual labels:  clustering
R Course
Una introduccion al analisis de datos con R y R Studio
Stars: ✭ 93 (-13.89%)
Mutual labels:  clustering
Stringlifier
Stringlifier is on Opensource ML Library for detecting random strings in raw text. It can be used in sanitising logs, detecting accidentally exposed credentials and as a pre-processing step in unsupervised ML-based analysis of application text data.
Stars: ✭ 85 (-21.3%)
Mutual labels:  clustering
Neuroflow
Artificial Neural Networks for Scala
Stars: ✭ 105 (-2.78%)
Mutual labels:  clustering
Fingerprints
Make it easier to compare and cross-reference the names of companies and people by applying strong normalisation.
Stars: ✭ 91 (-15.74%)
Mutual labels:  clustering
Text Summarizer
Python Framework for Extractive Text Summarization
Stars: ✭ 96 (-11.11%)
Mutual labels:  clustering
Cop Kmeans
A Python implementation of COP-KMEANS algorithm
Stars: ✭ 88 (-18.52%)
Mutual labels:  clustering
Lda Topic Modeling
A PureScript, browser-based implementation of LDA topic modeling.
Stars: ✭ 91 (-15.74%)
Mutual labels:  clustering
Retina Features
Project for segmentation of blood vessels, microaneurysm and hardexudates in fundus images.
Stars: ✭ 95 (-12.04%)
Mutual labels:  clustering
N2d
A deep clustering algorithm. Code to reproduce results for the paper N2D: (Not Too) Deep Clustering via Clustering the Local Manifold of an Autoencoded Embedding.
Stars: ✭ 88 (-18.52%)
Mutual labels:  clustering
Simpsom
Python library for Self-Organizing Maps
Stars: ✭ 99 (-8.33%)
Mutual labels:  clustering
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (+1075.93%)
Mutual labels:  clustering
Hazelcast Python Client
Hazelcast IMDG Python Client
Stars: ✭ 92 (-14.81%)
Mutual labels:  clustering
Janus Cloud
a cluster solution for Janus WebRTC server, by API proxy approach
Stars: ✭ 108 (+0%)
Mutual labels:  clustering
Flutter map marker cluster
Provides beautiful animated marker clustering functionality for flutter_map. Inspired by Leaflet.markercluster
Stars: ✭ 101 (-6.48%)
Mutual labels:  clustering
Deeptemporalclustering
📈 Keras implementation of the Deep Temporal Clustering (DTC) model
Stars: ✭ 96 (-11.11%)
Mutual labels:  clustering

K-Means

General description

This project is a Python implementation of k-means clustering algorithm.

Requirements

You should setup the conda environment (i.e. kmeans) using the environment.yml file:

conda env create -f environment.yml

Activate conda environment:

conda activate kmeans

(Run unset PYTHONPATH on Mac OS)

Input

A list of points in two-dimensional space where each point is represented by a latitude/longitude pair.

Output

The clusters of points. By default we stores the computed clusters into a csv file: output.csv. You can specify your output filename using --output argument option.

How to run:

python -m src.run --input YOUR_LOC_FILE --clusters CLUSTERS_NO

Note that the runner expects the location file be in data folder.

Run tests

python -m pytest tests/

Technical details

This project is an implementation of k-means algorithm. It starts with a random point and then chooses k-1 other points as the farthest from the previous ones successively. It uses these k points as cluster centroids and then joins each point of the input to the cluster with the closest centroid.

Next, it recomputes the new centroids by calculating the means of obtained clusters and repeats the first step again by finding which cluster each point belongs to.

The program repeats these two steps until the cluster centroids converge and do not change anymore. See the following link to read more about this project and see some real examples of running k-means algorithm:

K-Means algorithm description

To deactivate the conda environment:

conda deactivate

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].