stdlib-js / stdlib-js/stdlib

[RFC]: Add batch machine learning algorithms in Javascript and C (tracking issue)

Open
#12,875 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
6k
Forks
1.3k
Avg merge
1d 3h
Merged PRs (30d)
611

Description

### Description
This RFC proposes adding Javascript and C implementation for some batch machine learning algorithms. The purpose of this issue is to serve as a tracking issue for adding Javascript and C implementations.

### Packages
#### Loss functions
- [ ] `ml/base/loss/float64/hinge`: #11953
- [x] `ml/base/loss/float64/hinge-gradient`: #12216
- [ ] `ml/base/loss/float64/log`
- [x] `ml/base/loss/float64/log-gradient`: #12241
- [ ] `ml/base/loss/float64/modified-huber`
- [x] `ml/base/loss/float64/modified-huber-gradient` #13139
- [ ] `ml/base/loss/float64/squared-hinge`
- [x] `ml/base/loss/float64/squared-hinge-gradient` #13192
- [ ] `ml/base/loss/float64/squared-error`
- [x] `ml/base/loss/float64/squared-error-gradient` #13363
- [ ] `ml/base/loss/float64/huber`
- [x] `ml/base/loss/float64/huber-gradient` #13521
- [ ] `ml/base/loss/float64/epsilon-insensitive`
- [x] `ml/base/loss/float64/epsilon-insensitive-gradient` #13249
- [ ] `ml/base/loss/float64/squared-epsilon-insensitive`
- [x] `ml/base/loss/float64/squared-epsilon-insensitive-gradient` #13498

#### KMeans
- [x] Metrics enum
- [x] `ml/base/kmeans/metrics`: #10714
- [x] `ml/base/kmeans/metric-str2enum`: #10842
- [x] `ml/base/kmeans/metric-enum2str`: #10841
- [x] `ml/base/kmeans/metric-resolve-enum`: #12321
- [x] `ml/base/kmeans/metric-resolve-str`: #12322

- [x] Algorithms enum
- [x] `ml/base/kmeans/algorithms`: #10796
- [x] `ml/base/kmeans/algorithm-str2enum`: #12119
- [x] `ml/base/kmeans/algorithm-enum2str`: #12119
- [x] `ml/base/kmeans/algorithm-resolve-enum`: #12129
- [x] `ml/base/kmeans/algorithm-resolve-str`: #12128

- [ ] `ml/base/kmeans/results/*`
- [ ] `ml/base/kmeans/results/factory`: #12429
- [ ] `ml/base/kmeans/results/float32`: #12429
- [ ] `ml/base/kmeans/results/float64`: #12429
- [x] `ml/base/kmeans/results/struct-factory`: #12356
- [ ] `ml/base/kmeans/results/to-json`: #12429
- [ ] `ml/base/kmeans/results/to-string`: #12429

- [ ] `ml/base/kmeans/stats/*`
- [ ] `ml/base/kmeans/stats/factory`
- [ ] `ml/base/kmeans/stats/float32`
- [ ] `ml/base/kmeans/stats/float64`
- [ ] `ml/base/kmeans/stats/struct-factory`: #12856
- [ ] `ml/base/kmeans/stats/to-json`
- [ ] `ml/base/kmeans/stats/to-string`

- [ ] `ml/strided/dkmeans-init-plus-plus`
- [ ] Javscript: #12312
- [ ] C : (Blocked by node-addons)

- [ ] `ml/strided/dkmeans-init-forgy`
- [ ] Javscript (Blocked by `random/strided/sample`)
- [ ] C : (Blocked by node-addons)

- [ ] `ml/strided/dkmeans-init-random-partition`
- [ ] Javscript: #12819
- [ ] C : (Blocked by node-addons)

- [ ] `ml/strided/dkmeans-compute-centroids`
- [ ] Javscript
- [ ] C

- [ ] `ml/strided/dkmeans-inertia`
- [ ] Javscript
- [ ] C

- [ ] `ml/strided/dkmeansld`
- [ ] Javscript: #9703
- [ ] C

- [ ] `ml/strided/dkmeanselk`
- [ ] Javscript
- [ ] C

- [ ] `ml/kmeans/ctor`
- [ ] Javscript
- [ ] C

#### SGD Classification
- [x] Loss enum
- `ml/base/sgd-classification/loss-functions` #13333
- `ml/base/sgd-classification/loss-function-str2enum` #13430
- `ml/base/sgd-classification/loss-function-enum2str` #13430
- `ml/base/sgd-classification/loss-function-resolve-enum` #13473
- `ml/base/sgd-classification/loss-function-resolve-str` #13471

- [x] Learning Rate enum
- `ml/base/sgd-classification/learning-rates` #13377
- `ml/base/sgd-classification/learning-rate-str2enum` #13429
- `ml/base/sgd-classification/learning-rate-enum2str` #13429
- `ml/base/sgd-classification/learning-rate-resolve-enum` #13474
- `ml/base/sgd-classification/learning-rate-resolve-str` #13475

- [ ] `ml/base/sgd-classification/results/*`
- `ml/base/sgd-classification/results/factory`
- `ml/base/sgd-classification/results/float32`
- `ml/base/sgd-classification/results/float64`
- `ml/base/sgd-classification/results/struct-factory`
- `ml/base/sgd-classification/results/to-json`
- `ml/base/sgd-classification/results/to-string`

- [ ] `ml/strided/dsgd-trainer`
- [ ] Javscript
- [ ] C

- [ ] `ml/strided/dsgd-classification-binary`
- [ ] Javscript
- [ ] C

- [ ] `ml/strided/dsgd-classification-multiclass`
- [ ] Javscript
- [ ] C

- [ ] `ml/sgd-classification/ctor`
- [ ] Javscript
- [ ] C

- [ ] `ml/perceptron/ctor`
- [ ] Javscript
- [ ] C

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.