-
Notifications
You must be signed in to change notification settings - Fork 86
Roadmap to v0.5 #187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Roadmap to v0.5 #187
Conversation
…dimensional arrays
This reverts commit 782d77c.
@morenol please take a look to the wasm32 build and tests. I would like to exclude |
Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
I see that for wasm, failure is due to float eq implementation, let me check what I can do to solve that
|
yes we will probably run into some differences in types for Wasm, we can also go and write dedicated tests. |
* Fix tests * Add again removed line Co-authored-by: Luis Moreno <morenol@users.noreply.github.com>
Looked into some Cargo.toml settings:
|
* 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>
These PR incorporates all the changes from #108 and all the fixes provided thereafter. So to allow a clear step-by-step plan to a new release (v0.5) that will provide all the improvements in #108 plus all the features implemented in the new traits system.
For a documentation of the process: #185
For a walkthrough starts from this branch's README.
EDIT:
This PR will include important breaking changes and cleanup. For example:
Matrix
. WelcomeArray2
BaseVector
. WelcomeArray1
cc: @NikZak @Steboss