Commit Graph

53 Commits

Author SHA1 Message Date
Lorenzo
239c00428f Patch to version 0.4.0 (#257)
* uncomment test

* Add random test for logistic regression

* linting

* Bump version

* Add test for logistic regression

* linting

* initial commit

* final

* final-clean

* Bump to 0.4.0

* Fix linter

* cleanup

* Update CHANDELOG with breaking changes

* Update CHANDELOG date

* Add functional methods to DenseMatrix implementation

* linting

* add type declaration in test

* Fix Wasm tests failing

* linting

* fix tests

* linting

* Add type annotations on BBDTree constructor

* fix clippy

* fix clippy

* fix tests

* bump version

* run fmt. fix changelog

---------

Co-authored-by: Edmund Cape <edmund@Edmunds-MacBook-Pro.local>
2024-03-04 08:51:27 -05:00
dependabot[bot]
9c07925d8a Update itertools requirement from 0.11.0 to 0.12.0 (#271)
Updates the requirements on [itertools](https://github.com/rust-itertools/itertools) to permit the latest version.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-20 22:00:34 -04:00
dependabot[bot]
dbdc2b2a77 Update itertools requirement from 0.10.5 to 0.11.0 (#266)
Updates the requirements on [itertools](https://github.com/rust-itertools/itertools) to permit the latest version.
- [Changelog](https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-itertools/itertools/compare/v0.10.5...v0.11.0)

---
updated-dependencies:
- dependency-name: itertools
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-22 17:56:42 +01:00
Lorenzo
2d7c055154 Bump version 2023-05-01 13:20:17 +01:00
Lorenzo
f498f9629e Implement realnum::rand (#251)
Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
Co-authored-by: Lorenzo <tunedconsulting@gmail.com>

* Implement rand. Use the new derive [#default]
* Use custom range
* Use range seed
* Bump version
* Add array length checks for
2023-03-20 14:45:44 +00:00
Lorenzo (Mec-iS)
3126ee87d3 Pin deps version 2022-11-09 12:03:03 +00:00
morenol
8efb959b3c Handle kernel serialization (#232)
* Handle kernel serialization
* Do not use typetag in WASM
* enable tests for serialization
* Update serde feature deps

Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
Co-authored-by: Lorenzo <tunedconsulting@gmail.com>
2022-11-08 16:18:05 +00:00
morenol
9eaae9ef35 Fixes for release (#237)
* Fixes for release
* add new test
* Remove change applied in development branch
* Only add dependency for wasm32
* Update ci.yml

Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
Co-authored-by: Lorenzo <tunedconsulting@gmail.com>
2022-11-08 16:07:14 +00:00
Lorenzo (Mec-iS)
c683073b14 make work cargo build --target wasm32-unknown-unknown 2022-11-08 15:35:04 +00:00
Lorenzo
c934f6b6cf update comment 2022-11-08 14:23:13 +00:00
Lorenzo (Mec-iS)
48f1d6b74d use getrandom/js 2022-11-08 14:19:40 +00:00
Lorenzo (Mec-iS)
8e6e5f9e68 Use getrandom as default (for no-std feature) 2022-11-08 11:47:31 +00:00
Lorenzo (Mec-iS)
23b3699730 Release 0.3 2022-11-07 12:48:44 +00:00
morenol
35fe68e024 Fix CI (#227)
* Update ci.yml
Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
2022-11-03 13:48:16 -05:00
Lorenzo
cfbd45bfc0 Support Wasi as target (#216)
* Improve features
* Add wasm32-wasi as a target
* Update .github/workflows/ci.yml
Co-authored-by: morenol <22335041+morenol@users.noreply.github.com>
2022-11-02 15:22:38 +00:00
Lorenzo
b60329ca5d Disambiguate distances. Implement Fastpair. (#220) 2022-11-02 14:53:28 +00:00
morenol
4b096ad558 build: fix compilation without default features (#218)
* build: fix compilation with optional features
* Remove unused config from Cargo.toml
* Fix cache keys
Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
2022-11-02 10:09:03 +00:00
Lorenzo
4cf7e4d7b7 Improve features (#215) 2022-11-01 13:56:20 +00:00
Lorenzo
52eb6ce023 Merge potential next release v0.4 (#187) Breaking Changes
* First draft of the new n-dimensional arrays + NB use case
* Improves default implementation of multiple Array methods
* Refactors tree methods
* Adds matrix decomposition routines
* Adds matrix decomposition methods to ndarray and nalgebra bindings
* Refactoring + linear regression now uses array2
* Ridge & Linear regression
* LBFGS optimizer & logistic regression
* LBFGS optimizer & logistic regression
* Changes linear methods, metrics and model selection methods to new n-dimensional arrays
* Switches KNN and clustering algorithms to new n-d array layer
* Refactors distance metrics
* Optimizes knn and clustering methods
* Refactors metrics module
* Switches decomposition methods to n-dimensional arrays
* Linalg refactoring - cleanup rng merge (#172)
* Remove legacy DenseMatrix and BaseMatrix implementation. Port the new Number, FloatNumber and Array implementation into module structure.
* Exclude AUC metrics. Needs reimplementation
* Improve developers walkthrough

New traits system in place at `src/numbers` and `src/linalg`
Co-authored-by: Lorenzo <tunedconsulting@gmail.com>

* Provide SupervisedEstimator with a constructor to avoid explicit dynamical box allocation in 'cross_validate' and 'cross_validate_predict' as required by the use of 'dyn' as per Rust 2021
* Implement getters to use as_ref() in src/neighbors
* Implement getters to use as_ref() in src/naive_bayes
* Implement getters to use as_ref() in src/linear
* Add Clone to src/naive_bayes
* Change signature for cross_validate and other model_selection functions to abide to use of dyn in Rust 2021
* Implement ndarray-bindings. Remove FloatNumber from implementations
* Drop nalgebra-bindings support (as decided in conf-call to go for ndarray)
* Remove benches. Benches will have their own repo at smartcore-benches
* Implement SVC
* Implement SVC serialization. Move search parameters in dedicated module
* Implement SVR. Definitely too slow
* Fix compilation issues for wasm (#202)

Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
* Fix tests (#203)

* Port linalg/traits/stats.rs
* Improve methods naming
* Improve Display for DenseMatrix

Co-authored-by: Montana Low <montanalow@users.noreply.github.com>
Co-authored-by: VolodymyrOrlov <volodymyr.orlov@gmail.com>
2022-10-31 10:44:57 +00:00
morenol
3a44161406 Lmm/add seeds in more algorithms (#164)
* Provide better output in flaky tests

* feat: add seed parameter to multiple algorithms

* Update changelog

Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
2022-09-21 20:35:22 +01:00
morenol
6a2e10452f Make rand_distr optional (#161) 2022-09-20 11:21:02 +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
dependabot[bot]
e445f0d558 Update criterion requirement from 0.3 to 0.4 (#150)
* Update criterion requirement from 0.3 to 0.4

Updates the requirements on [criterion](https://github.com/bheisler/criterion.rs) to permit the latest version.
- [Release notes](https://github.com/bheisler/criterion.rs/releases)
- [Changelog](https://github.com/bheisler/criterion.rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bheisler/criterion.rs/compare/0.3.0...0.4.0)

---
updated-dependencies:
- dependency-name: criterion
  dependency-type: direct:production
...

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

* fix criterion

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
2022-09-12 12:03:43 -04: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
dependabot[bot]
ff456df0a4 Update nalgebra requirement from 0.23.0 to 0.31.0 (#128)
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.31.0)

---
updated-dependencies:
- dependency-name: nalgebra
  dependency-type: direct:production
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-11 13:14:14 -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
7ea620e6fd Updates version to 0.2.1 2022-05-09 16:03:05 -07:00
dependabot-preview[bot]
513d3898c9 build(deps): update num requirement from 0.3.0 to 0.4.0
Updates the requirements on [num](https://github.com/rust-num/num) to permit the latest version.
- [Release notes](https://github.com/rust-num/num/releases)
- [Changelog](https://github.com/rust-num/num/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num/compare/num-0.3.0...num-0.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-28 21:44:02 +00:00
dependabot-preview[bot]
5a2e1f1262 build(deps): update ndarray requirement from 0.14 to 0.15
Updates the requirements on [ndarray](https://github.com/rust-ndarray/ndarray) to permit the latest version.
- [Release notes](https://github.com/rust-ndarray/ndarray/releases)
- [Changelog](https://github.com/rust-ndarray/ndarray/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-ndarray/ndarray/compare/ndarray-rand-0.14.0...0.15.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-28 21:41:48 +00: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
dependabot-preview[bot]
703dc9688b build(deps): update rand_distr requirement from 0.3.0 to 0.4.0
Updates the requirements on [rand_distr](https://github.com/rust-random/rand) to permit the latest version.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/rand_distr-0.3.0...rand_distr-0.4.0)
2021-04-28 16:25:05 -04:00
dependabot-preview[bot]
790979a26d build(deps): update rand requirement from 0.7.3 to 0.8.3
Updates the requirements on [rand](https://github.com/rust-random/rand) to permit the latest version.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.7.3...0.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-04-28 20:00:24 +00: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
Ben Cross
e0d46f430b feat: Make SerDe optional 2021-01-17 21:35:03 +00:00
Volodymyr Orlov
9475d500db feat: version change + api documentation updated 2020-12-27 18:39:37 -08:00
Luis Moreno
505f495445 fix: Update ndarray version 2020-12-16 00:20:07 -04:00
morenol
2650416235 Add benches for GNB (#33)
* Add benches for GNB

* use [black_box](https://github.com/bheisler/criterion.rs/blob/master/book/src/faq.md#when-should-i-use-criterionblack_box)
2020-12-04 20:46:36 -04:00
morenol
89a5136191 Change implementation of to_row_vector for nalgebra (#34)
* Add failing test

* Change implementation of to_row_vector for nalgebra
2020-11-25 14:39:02 -04:00
Vadim Zaliva
c43990e932 + DBSCAN and data generator. Improves KNN API 2020-10-02 14:04:01 -07:00
Volodymyr Orlov
6602de0d51 feat: pre-release 2020-09-25 18:01:32 -07:00
Volodymyr Orlov
91371831d7 feat: pre-release 2020-09-25 17:59:55 -07:00
Volodymyr Orlov
2aca488553 feat: pre-release 2020-09-25 17:52:21 -07:00
Volodymyr Orlov
b95e11cc98 feat: adds dataset module, fixs problem in CoverTree implementation 2020-09-10 12:21:59 -07:00
Volodymyr Orlov
68dca25f91 feat: puts ndarray and nalgebra bindings behind feature flags 2020-08-28 16:55:41 -07:00
Volodymyr Orlov
aa458d22fa fix: code cleanup, documentation 2020-08-27 11:37:14 -07:00
Volodymyr Orlov
7a7b0d6875 fix: updates multiple libraries 2020-08-17 08:28:28 -07:00
Volodymyr Orlov
45cf7adf37 fix: library update, CircleCI modification 2020-06-05 18:00:56 -07:00
Volodymyr Orlov
b068295dac feat: integrates with nalgebra 2020-04-06 19:16:37 -07:00
Volodymyr Orlov
8bb6013430 feat: serialization/deserialization with Serde 2020-03-31 18:19:20 -07:00
Volodymyr Orlov
7b3fa982be feat: adds PCA 2020-03-06 09:13:54 -08:00