Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
JavaScript
branch: master
Failed to load latest commit information.
demo Finalish touches
examples Churn. testing
test More tests
.DS_Store Progress
LICENSE Create LICENSE
README.md Improve readme
kmeans.js More tests
package.json Keep moving, update graphics

README.md

k-means

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('kmeans');

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

console.log(s);
// [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])
console.log(c.length);
// 1

Usage

npm install --save kmeans

Testing

npm test

License is WTFPL

Something went wrong with that request. Please try again.