https://github.com/mljs/pca
Principal component analysis
https://github.com/mljs/pca
hacktoberfest
Last synced: 7 months ago
JSON representation
Principal component analysis
- Host: GitHub
- URL: https://github.com/mljs/pca
- Owner: mljs
- License: mit
- Created: 2014-10-24T14:10:04.000Z (about 11 years ago)
- Default Branch: main
- Last Pushed: 2024-10-14T13:59:53.000Z (about 1 year ago)
- Last Synced: 2025-04-12T07:00:18.137Z (8 months ago)
- Topics: hacktoberfest
- Language: TypeScript
- Homepage: https://mljs.github.io/pca/
- Size: 1.28 MB
- Stars: 99
- Watchers: 16
- Forks: 22
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# ml-pca
Principal component analysis (PCA).
Maintained by Zakodium
[![NPM version][npm-image]][npm-url]
[![build status][ci-image]][ci-url]
[](https://doi.org/10.5281/zenodo.7314532)
[![npm download][download-image]][download-url]
## Installation
`$ npm install ml-pca`
## Usage
```js
const { PCA } = require('ml-pca');
const dataset = require('ml-dataset-iris').getNumbers();
// dataset is a two-dimensional array where rows represent the samples and columns the features
const pca = new PCA(dataset);
console.log(pca.getExplainedVariance());
/*
[ 0.9246187232017269,
0.05306648311706785,
0.017102609807929704,
0.005212183873275558 ]
*/
const newPoints = [
[4.9, 3.2, 1.2, 0.4],
[5.4, 3.3, 1.4, 0.9],
];
console.log(pca.predict(newPoints)); // project new points into the PCA space
/*
[
[ -2.830722471866897,
0.01139060953209596,
0.0030369648815961603,
-0.2817812120420965 ],
[ -2.308002707614927,
-0.3175048770719249,
0.059976053412802766,
-0.688413413360567 ]]
*/
```
## [API Documentation](https://mljs.github.io/pca/)
## License
[MIT](./LICENSE)
[npm-image]: https://img.shields.io/npm/v/ml-pca.svg
[npm-url]: https://npmjs.org/package/ml-pca
[ci-image]: https://github.com/mljs/pca/actions/workflows/nodejs.yml/badge.svg
[ci-url]: https://github.com/mljs/pca/actions/workflows/nodejs.yml
[download-image]: https://img.shields.io/npm/dm/ml-pca.svg
[download-url]: https://npmjs.org/package/ml-pca