K-Means Clustering

The K-Means Clustering algorithm gives a nice introduction to unsupervised machine learning. The algorithm seeks to group similar items together into a set of clusters. The number of clusters (k) is part of the input into the problem, along with the data points themselves. The algorithm breaks down into three basic steps which are repeated until either convergence or until some maximum number of iterations is met. These three steps are as follows:

0. Initially assign a point to each cluster. (Call this the center of that cluster), and set count to 0.
1. For each point in our data set, we find the "closest" cluster center to that point and assign this point to the associated cluster.
2. For each cluster, we calculate the average of the points in that cluster to determine a new cluster center.
3. Increment count.
4. If a point has changed cluster and count is less than the maximum number of iterations, then go to 1.
5. Display the Clusters.

Number of Points:
Number of Clusters:
Max Number of Iterations:

Your browser does not support the canvas element.

Recent Updates

  • 08-10-2017 Floyd-Warshall Shortest Paths
  • 08-01-2017 Degree Centrality of a Graph
  • 06-03-2017 Tarjan's Strongly Connected Components Algorithm
  • 03-20-2017 Longest Common Subsequence
  • 10-27-2016 Independent Set Puzzles
  • 06-28-2016 Lets Learn About XOR Encryption
  • 06-15-2016 Discrete-time Markov Chains
  • 03-01-2016 Topological Sort
  • 01-21-2016 The RSA Algorithm
  • 11-20-2015 How To Take Notes in Math Class
  • 10-28-2015 The Depth-First-Search Algorithm
  • 10-28-2015 The Breadth-First-Search Algorithm
  • 09-23-2015 ID3 Algorithm Decision Trees
  • 07-08-2015 Clique Problem Puzzles
  • 06-25-2015 Unidirectional TSP Puzzles
  • 04-04-2015 Learn About Descriptive Statistics
  • 02-19-2015 Slope Formula
  • 01-15-2015 Interactive Midpoint Formula
  • 12-18-2014 Triangle Sum Puzzle
  • 12-02-2014 The Bridge Crossing Problem