0.0.8 • Published 9 years ago

algo-kmeans v0.0.8

Weekly downloads
4
License
MIT
Repository
github
Last release
9 years ago

Algo-kmeans build status Coverage Status

Simple implementation of the k-means clustering method.

How to use

import kmeans, { Point } from 'algo-kmeans';

// generate random points
const points = [];
const rnd = () => 50 - Math.random() * 100;

for (var i = 0; i < 100; i++) {
  points.push(new Point(rnd(), rnd(), rnd());
};

// kmeans asking for 5 clusters
const clusters = kmeans(points, { nbClusters: 5 });
// clusters.centroid = { x, y, z }
// clusters.points = [ { x, y, z }, { x, y, z }, ... ]

// kmeans with 2 clusters which init centroid is predefined
const clusters = kmeans(points, {
  initCentroids: [
    new Point(0, 5, 10),
    new Point(10, -12, 0)
  ]
});
// clusters.centroid = { x, y, z }
// clusters.points = [ { x, y, z }, { x, y, z }, ... ]

Install

With npm do:

npm install algo-kmeans

Commands

Lifecycle scripts included in algo-kmeans:
  test
    _mocha --compilers js:babel/register
  prepublish
    npm run build && npm run build:umd

available via `npm run-script`:
  build
    babel src --out-dir lib
  clean
    rimraf lib dist coverage
  build:umd
    webpack src/index.js dist/kmeans.js && set NODE_ENV=production&& webpack src/index.js dist/kmeans.min.js
  test:watch
    _mocha watch
  test:cov
    babel-node ./node_modules/isparta/bin/isparta cover ./node_modules/mocha/bin/_mocha -R mocha-lcov-reporter -R spec
  test:coveralls
    cat ./coverage/lcov.info | node ./node_modules/coveralls/bin/coveralls.js
  lint
    eslint src test

License

MIT

0.0.8

9 years ago

0.0.7

9 years ago

0.0.6

9 years ago

0.0.5

9 years ago

0.0.4

9 years ago

0.0.3

9 years ago

0.0.2

9 years ago

0.0.1

9 years ago