All Projects → analyticalmonk → KMeans_elbow

analyticalmonk / KMeans_elbow

Licence: MIT license
Code for determining optimal number of clusters for K-means algorithm using the 'elbow criterion'

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to KMeans elbow

Ailearning
AiLearning: 机器学习 - MachineLearning - ML、深度学习 - DeepLearning - DL、自然语言处理 NLP
Stars: ✭ 32,316 (+92231.43%)
Mutual labels:  scikit-learn, sklearn, kmeans
Sklearn Porter
Transpile trained scikit-learn estimators to C, Java, JavaScript and others.
Stars: ✭ 1,014 (+2797.14%)
Mutual labels:  scikit-learn, sklearn
Machinelearningstocks
Using python and scikit-learn to make stock predictions
Stars: ✭ 897 (+2462.86%)
Mutual labels:  scikit-learn, sklearn
Mlatimperial2017
Materials for the course of machine learning at Imperial College organized by Yandex SDA
Stars: ✭ 71 (+102.86%)
Mutual labels:  scikit-learn, sklearn
Profanity Check
A fast, robust Python library to check for offensive language in strings.
Stars: ✭ 354 (+911.43%)
Mutual labels:  scikit-learn, sklearn
Hungabunga
HungaBunga: Brute-Force all sklearn models with all parameters using .fit .predict!
Stars: ✭ 614 (+1654.29%)
Mutual labels:  scikit-learn, sklearn
Traingenerator
🧙 A web app to generate template code for machine learning
Stars: ✭ 948 (+2608.57%)
Mutual labels:  scikit-learn, sklearn
Python Flask Sklearn Docker Template
A simple example of python api for real time machine learning, using scikit-learn, Flask and Docker
Stars: ✭ 117 (+234.29%)
Mutual labels:  scikit-learn, sklearn
skmeans
Super fast simple k-means implementation for unidimiensional and multidimensional data.
Stars: ✭ 59 (+68.57%)
Mutual labels:  kmeans, kmeans-clustering
Facial Expression Recognition Svm
Training SVM classifier to recognize people expressions (emotions) on Fer2013 dataset
Stars: ✭ 110 (+214.29%)
Mutual labels:  scikit-learn, sklearn
sklearn-pmml-model
A library to parse and convert PMML models into Scikit-learn estimators.
Stars: ✭ 71 (+102.86%)
Mutual labels:  scikit-learn, sklearn
Igel
a delightful machine learning tool that allows you to train, test, and use models without writing code
Stars: ✭ 2,956 (+8345.71%)
Mutual labels:  scikit-learn, sklearn
Sklearn Evaluation
Machine learning model evaluation made easy: plots, tables, HTML reports, experiment tracking and Jupyter notebook analysis.
Stars: ✭ 294 (+740%)
Mutual labels:  scikit-learn, sklearn
Hyperparameter hunter
Easy hyperparameter optimization and automatic result saving across machine learning algorithms and libraries
Stars: ✭ 648 (+1751.43%)
Mutual labels:  scikit-learn, sklearn
python3-docker-devenv
Docker Start Guide with Python Development Environment
Stars: ✭ 13 (-62.86%)
Mutual labels:  scikit-learn, sklearn
skippa
SciKIt-learn Pipeline in PAndas
Stars: ✭ 33 (-5.71%)
Mutual labels:  scikit-learn, sklearn
machine-learning-course
Machine Learning Course @ Santa Clara University
Stars: ✭ 17 (-51.43%)
Mutual labels:  scikit-learn, kmeans-clustering
Kaio-machine-learning-human-face-detection
Machine Learning project a case study focused on the interaction with digital characters, using a character called "Kaio", which, based on the automatic detection of facial expressions and classification of emotions, interacts with humans by classifying emotions and imitating expressions
Stars: ✭ 18 (-48.57%)
Mutual labels:  scikit-learn, sklearn
Ml code
A repository for recording the machine learning code
Stars: ✭ 75 (+114.29%)
Mutual labels:  scikit-learn, sklearn
Qlik Py Tools
Data Science algorithms for Qlik implemented as a Python Server Side Extension (SSE).
Stars: ✭ 135 (+285.71%)
Mutual labels:  scikit-learn, sklearn

KMeans algorithm and the Elbow criterion

"The idea behind k-Means Clustering is to take a bunch of data and determine if there are any natural clusters (groups of related objects) within the data.

The k-Means algorithm is a so-called unsupervised learning algorithm. We don't know in advance what patterns exist in the data -- it has no formal classification to it -- but we would like to see if we can divide the data into groups somehow.

For example, you can use k-Means to find what are the 3 most prominent colors in an image by telling it to group pixels into 3 clusters based on their color value. Or you can use it to group related news articles together, without deciding beforehand what categories to use. The algorithm will automatically figure out what the best groups are.

The "k" in k-Means is a number. The algorithm assumes that there are k centers within the data that the various data elements are scattered around. The data that is closest to these so-called centroids become classified or grouped together.

k-Means doesn't tell you what the classifier is for each particular data group. After dividing news articles into groups, it doesn't say that group 1 is about science, group 2 is about celebrities, group 3 is about the upcoming election, etc. You only know that related news stories are now together, but not necessarily what that relationship signifies. k-Means only assists in trying to find what clusters potentially exist."

-- taken from Swift Algorithm Club's explantation of the algorithm

Repository contains:

  • Code for fitting scikit-learn's K-Means model to the iris dataset.
  • Code for determining optimal number of clusters for K-means algorithm using the 'elbow criterion'.
  • IPython notebook combining the above two as an interactive tutorial.

Running the notebook:

  • Clone the repo. git clone https://github.com/analyticalmonk/KMeans_elbow
  • Change into the repo's directory. cd KMeans_elbow
  • Install the requirements. pip install -r requirements.txt
  • Start the notebook. jupyter notebook kmeans_elbow.ipynb

If you are new to Jupyter notebooks, check out the official Quick Start Guide.

Reference:

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