Commit Graph

307 Commits

Author SHA1 Message Date
morenol
c21e75276a feat: allocate first and then proceed to create matrix from Vec of Ro… (#159)
* feat: allocate first and then proceed to create matrix from Vec of RowVectors
2022-09-20 11:29:54 +01:00
morenol
2510ca4e9d fix: fix compilation warnings when running only with default features (#160)
* fix: fix compilation warnings when running only with default features
Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
2022-09-19 10:44:01 -04:00
Tim Toebrock
b6f585e60f Implement a generic read_csv method (#147)
* feat: Add interface to build `Matrix` from rows.
* feat: Add option to derive `RealNumber` from string.
To construct a `Matrix` from csv, and therefore from string, I need to be able to deserialize a generic `RealNumber` from string.
* feat: Implement `Matrix::read_csv`.
2022-09-19 10:38:01 +01:00
Montana Low
4685fc73e0 grid search (#154)
* grid search draft
* hyperparam search for linear estimators
2022-09-19 10:31:56 +01:00
Montana Low
2e5f88fad8 Handle multiclass precision/recall (#152)
* handle multiclass precision/recall
2022-09-13 16:23:45 +01:00
Christos Katsakioris
4d5f64c758 Add serde for StandardScaler (#148)
* Derive `serde::Serialize` and `serde::Deserialize` for
  `StandardScaler`.
* Add relevant unit test.

Signed-off-by: Christos Katsakioris <ckatsak@gmail.com>

Signed-off-by: Christos Katsakioris <ckatsak@gmail.com>
2022-09-06 18:37:54 +01:00
Tim Toebrock
d305406dfd Implementation of Standard scaler (#143)
* docs: Fix typo in doc for categorical transformer.
* feat: Add option to take a column from Matrix.
I created the method `Matrix::take_column` that uses the `Matrix::take`-interface to extract a single column from a matrix. I need that feature in the implementation of  `StandardScaler`.
* feat: Add `StandardScaler`.
Authored-by: titoeb <timtoebrock@googlemail.com>
2022-08-26 15:20:20 +01:00
Lorenzo
3d2f4f71fa Add example for FastPair (#144)
* Add example

* Move to top

* Add imports to example

* Fix imports
2022-08-24 13:40:22 +01:00
Lorenzo
a1c56a859e Implement fastpair (#142)
* initial fastpair implementation
* FastPair initial implementation
* implement fastpair
* Add random test
* Add bench for fastpair
* Refactor with constructor for FastPair
* Add serialization for PairwiseDistance
* Add fp_bench feature for fastpair bench
2022-08-23 16:56:21 +01:00
Chris McComb
d905ebea15 Added additional doctest and fixed indices (#141) 2022-08-12 17:38:13 -04:00
morenol
b482acdc8d Fix clippy warnings (#139)
Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
2022-07-13 21:06:05 -04:00
ferrouille
b4a807eb9f Add SVC::decision_function (#135) 2022-06-21 12:48:16 -04:00
dependabot-preview[bot]
322610c7fb build(deps): update nalgebra requirement from 0.23.0 to 0.26.2 (#98)
* build(deps): update nalgebra requirement from 0.23.0 to 0.26.2

Updates the requirements on [nalgebra](https://github.com/dimforge/nalgebra) to permit the latest version.
- [Release notes](https://github.com/dimforge/nalgebra/releases)
- [Changelog](https://github.com/dimforge/nalgebra/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/dimforge/nalgebra/compare/v0.23.0...v0.26.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* fix: updates for nalgebre

* test: explicitly call pow_mut from BaseVector since now it conflicts with nalgebra implementation

* Don't be strict with dependencies

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
2022-05-11 13:04:27 -04:00
Volodymyr Orlov
8297cbe67e Fixes broken build 2022-05-09 15:50:25 -07:00
VolodymyrOrlov
38c9b5ad2f Merge pull request #126 from ericschief/cover-tree-fix
Fix issue with cover tree k-nearest neighbors
2022-05-09 15:34:10 -07:00
morenol
820201e920 Solve conflic with num-traits (#130)
* Solve conflic with num-traits

* Fix clippy warnings

Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
2022-05-05 10:39:18 -04:00
Kiran Eiden
389b0e8e67 Only sort in CoverTree::find function if there are more than k points
Sorting only needs to be done if the list of KNN candidates is greater
than length k.
2022-01-04 14:50:47 -08:00
Kiran Eiden
f93286ffbd Fix bug in cover tree KNN algorithm
Prior to this change, the find function implementation for the
CoverTree class could have potentially returned the wrong result
in cases where there were multiple points in the dataset
equidistant from p. For example, the current test passed for k=3
but failed to produce the correct result for k=4 (it claimed that
3, 4, 5, and 7 were the 4 closest points to 5 in the dataset
rather than 3, 4, 5, and 6). Sorting the neighbors vector before
collecting the first k values from it resolved this issue.
2022-01-02 20:05:39 -08:00
Malte Londschien
12c102d02b Allow setting seed for RandomForestClassifier and Regressor (#120)
* Seed for the classifier.

* Seed for the regressor.

* Forgot one.

* typo.
2021-11-10 20:51:24 -04:00
Malte Londschien
3bf8813946 Merge branch 'development' into issue-115 2021-10-28 09:54:22 +02:00
VolodymyrOrlov
7830946ecb Merge pull request #117 from morenol/lmm/fix_clippy
Fix clippy warnings
2021-10-27 11:01:16 -07:00
Luis Moreno
4397c91570 Fix clippy warnings 2021-10-20 14:15:41 -05:00
Malte Londschien
14245e15ad type error. 2021-10-20 17:13:00 +02:00
Malte Londschien
d0a4ccbe20 Set keep_samples attribute. 2021-10-20 17:09:13 +02:00
Malte Londschien
85b9fde9a7 Another format. 2021-10-20 17:04:24 +02:00
Malte Londschien
d239314967 Same for regressor. 2021-10-14 09:59:26 +02:00
Malte Londschien
4bae62ab2f Test. 2021-10-14 09:47:00 +02:00
Malte Londschien
e8cba343ca Initial implementation of predict_oob. 2021-10-14 09:34:45 +02:00
Luis Moreno
0b3bf946df chore: fix clippy warnings 2021-06-05 01:41:40 -04:00
Luis Moreno
763a8370eb docs: fix documentation of naive bayes structs 2021-06-05 00:25:34 -04:00
Luis Moreno
c295a0d1bb fix: fix code to be compatible with rand 0.8, following the recommendations of https://rust-random.github.io/book/update-0.8.html and https://docs.rs/getrandom/0.2.2/getrandom/#webassembly-support 2021-04-28 16:28:43 -04:00
Luis Moreno
162bed2aa2 feat: added support to wasm (#94)
* test: run tests also in wasm targets

* fix: install rand with wasm-bindgen por wasm targets

* fix: use actual usize size to access buffer.

* fix: do not run functions that create files in wasm.

* test: do not run in wasm test that panics.

Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
2021-04-28 15:58:39 -04:00
Luis Moreno
d9814c0918 style(lint): fix clippy warnings 2021-04-27 09:32:01 -04:00
Luis Moreno
1395cc6518 fix: Use usize time for usize::from_le_bytes buffer 2021-03-05 10:25:34 -04:00
zhangyiqun01
6d58dbe2a2 rename svm svr to svc in tests and docs 2021-02-26 10:52:04 +08:00
Luis Moreno
1b42f8a396 feat: Add getters for naive bayes structs (#74)
* feat: Add getters for GaussianNB

* Add classes getter to BernoulliNB

Add classes getter to CategoricalNB

Add classes getter to MultinomialNB

* Add feature_log_prob getter to MultinomialNB

* Add class_count to NB structs

* Add n_features getter for NB

* Add feature_count to MultinomialNB and BernoulliNB

* Add n_categories to CategoricalNB

* Implement feature_log_prob and category_count getter for CategoricalNB

* Implement feature_log_prob for BernoulliNB
2021-02-25 15:44:34 -04:00
Chris McComb
fed11f005c Fixed formatting to pass cargo format check. 2021-02-17 21:29:51 -05:00
Chris McComb
483a21bec0 Oops, test was failing due to typo. Fixed now. 2021-02-17 21:22:41 -05:00
Chris McComb
4fb2625a33 Implemented make_moons generator per https://github.com/scikit-learn/scikit-learn/blob/95119c13a/sklearn/datasets/_samples_generator.py#L683 2021-02-17 21:22:06 -05:00
Luis Moreno
a30802ec43 fix: Change to compile for wasm32-unknown-unknown target (#80) 2021-02-16 22:20:02 -04:00
Luis Moreno
4af69878e0 fix: Fix new clippy warnings (#79)
* Fix new clippy warnings

* Allow clippy::suspicious-operation-groupings
2021-02-16 18:19:14 -04:00
VolodymyrOrlov
745d0b570e Merge pull request #76 from gaxler/OneHotEncoder
One hot encoder
2021-02-11 17:42:57 -08:00
gaxler
6b5bed6092 remove old 2021-02-09 22:01:59 -08:00
gaxler
af6ec2d402 rename categorical 2021-02-09 22:01:34 -08:00
gaxler
828df4e338 Use CategoryMapper to transform an iterator. No more passing iterator to SeriesEncoders 2021-02-03 13:42:27 -08:00
gaxler
374dfeceb9 No more SeriesEncoders. 2021-02-03 13:41:25 -08:00
gaxler
3cc20fd400 Move all functionality to CategoryMapper (one-hot and ordinal). 2021-02-03 13:39:26 -08:00
gaxler
700d320724 simplify SeriesEncoder trait 2021-02-03 10:45:25 -08:00
gaxler
ef06f45638 Switch to use SeriesEncoder trait 2021-02-02 18:21:06 -08:00
gaxler
237b1160b1 doc update 2021-02-02 18:20:27 -08:00