ml-kmeans
TypeScript icon, indicating that this package has built-in type declarations

6.0.0 • Public • Published

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 Test coverage npm download

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: 
   [ { centroid: [ 1, 1.5, 1 ], error: 0.25, size: 2 },
     { centroid: [ -1, -1, -1.25 ], error: 0.0625, size: 2 } ],
  converged: true,
  iterations: 1
}
*/

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

/ml-kmeans/

    Package Sidebar

    Install

    npm i ml-kmeans

    Weekly Downloads

    44,098

    Version

    6.0.0

    License

    MIT

    Unpacked Size

    106 kB

    Total Files

    48

    Last publish

    Collaborators

    • stropitek
    • targos
    • lpatiny
    • mljs-bot
    • maasencioh
    • jeffersonh44
    • andcastillo