JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 69126
  • Score
    100M100P100Q166751F
  • License MIT

K-Means clustering

Package Exports

  • ml-kmeans

Readme

ml-kmeans

[K-means clustering][] aims to partition n observations into k clusters in which each observation belongs to the cluster with the nearest mean.

Zakodium logo

Maintained by Zakodium

NPM version npm download test coverage license

Installation

npm i ml-kmeans

API Documentation

Example

const { kmeans } = require('ml-kmeans');

let data = [
  [1, 1, 1],
  [1, 2, 1],
  [-1, -1, -1],
  [-1, -1, -1.5],
];
let centers = [
  [1, 2, 1],
  [-1, -1, -1],
];

let ans = kmeans(data, 2, { initialization: centers });
console.log(ans);
/*
KMeansResult {
  clusters: [ 0, 0, 1, 1 ],
  centroids: [ [ 1, 1.5, 1 ], [ -1, -1, -1.25 ] ],
  converged: true,
  iterations: 2,
  distance: [Function: squaredEuclidean]
}
*/

console.log(ans.computeInformation(data));
/*
[
  { centroid: [ 1, 1.5, 1 ], error: 0.5, size: 2 },
  { centroid: [ -1, -1, -1.25 ], error: 0.125, size: 2 }
]
*/

Authors

Sources

D. Arthur, S. Vassilvitskii, k-means++: The Advantages of Careful Seeding, in: Proc. of the 18th Annual ACM-SIAM Symposium on Discrete Algorithms, 2007, pp. 1027–1035. Link to article

License

MIT