Skip to content
JavaScript HTML
Find file
New pull request
Latest commit 7b8c4e4 @tmcw Rename for publishing
Failed to load latest commit information.
demo Finalish touches
examples Churn. testing
test More tests
.DS_Store Progress
LICENSE Create LICENSE Rename for publishing
kmeans.js More tests
package.json Rename for publishing


k-means clustering in configurable dimensions, in-browser and with node.js.

In order to support learning about the algorithm, this library is split into very small bits, so you can use each step separately.

var kmeans = require('k-means-cluster');

var d = [1, 2, 3];
// take a random sample of the array d
var s = kmeans.sample(d, 1);

// [1]

// Get the euclidean distance between two points represented as
// arrays
console.log(kmeans.dist([0, 0], [0, 1]), 1);
// 1

In order to support a variety of data, accessors are used in functions like means_clusters(x, means, distance, val) (though with good defaults - distance defaults to euclidean, val defaults to function(x) { return x; }).

var c = kmeans.means_clusters([3], [3, 4])
// 1


npm install --save k-means-cluster


npm test

License is WTFPL

Something went wrong with that request. Please try again.