Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mljs/kmeans
K-Means clustering
https://github.com/mljs/kmeans
clustering kmeans
Last synced: 3 months ago
JSON representation
K-Means clustering
- Host: GitHub
- URL: https://github.com/mljs/kmeans
- Owner: mljs
- License: mit
- Created: 2015-06-18T07:17:58.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-02-27T13:33:05.000Z (over 1 year ago)
- Last Synced: 2024-07-18T18:53:28.166Z (4 months ago)
- Topics: clustering, kmeans
- Language: TypeScript
- Homepage:
- Size: 1.39 MB
- Stars: 76
- Watchers: 15
- Forks: 14
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome - mljs/kmeans - K-Means clustering (TypeScript)
- awesome - mljs/kmeans - K-Means clustering (TypeScript)
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.
Maintained by Zakodium
[![NPM version][npm-image]][npm-url]
[![Test coverage][codecov-image]][codecov-url]
[![npm download][download-image]][download-url]## Installation
`npm i ml-kmeans`
## [API Documentation](https://mljs.github.io/kmeans/)
## Example
```js
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
- [Miguel Asencio](https://github.com/maasencioh)
## 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](http://ilpubs.stanford.edu:8090/778/1/2006-13.pdf)## License
[MIT](./LICENSE)
[npm-image]: https://img.shields.io/npm/v/ml-kmeans.svg?style=flat-square
[npm-url]: https://npmjs.org/package/ml-kmeans
[codecov-image]: https://img.shields.io/codecov/c/github/mljs/kmeans.svg?style=flat-square
[codecov-url]: https://codecov.io/github/mljs/kmeans
[download-image]: https://img.shields.io/npm/dm/ml-kmeans.svg?style=flat-square
[download-url]: https://npmjs.org/package/ml-kmeans
[k-means clustering]: https://en.wikipedia.org/wiki/K-means_clustering