* 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>
59 lines
1.4 KiB
TOML
59 lines
1.4 KiB
TOML
[package]
|
|
name = "smartcore"
|
|
description = "The most advanced machine learning library in rust."
|
|
homepage = "https://smartcorelib.org"
|
|
version = "0.4.0"
|
|
authors = ["SmartCore Developers"]
|
|
edition = "2021"
|
|
license = "Apache-2.0"
|
|
documentation = "https://docs.rs/smartcore"
|
|
repository = "https://github.com/smartcorelib/smartcore"
|
|
readme = "README.md"
|
|
keywords = ["machine-learning", "statistical", "ai", "optimization", "linear-algebra"]
|
|
categories = ["science"]
|
|
|
|
[features]
|
|
default = ["datasets", "serde"]
|
|
ndarray-bindings = ["ndarray"]
|
|
datasets = ["rand_distr", "std"]
|
|
std = ["rand/std", "rand/std_rng"]
|
|
# wasm32 only
|
|
js = ["getrandom/js"]
|
|
|
|
[dependencies]
|
|
approx = "0.5.1"
|
|
cfg-if = "1.0.0"
|
|
ndarray = { version = "0.15", optional = true }
|
|
num-traits = "0.2.12"
|
|
num = "0.4"
|
|
rand = { version = "0.8", default-features = false, features = ["small_rng"] }
|
|
rand_distr = { version = "0.4", optional = true }
|
|
serde = { version = "1", features = ["derive"], optional = true }
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
getrandom = { version = "0.2", optional = true }
|
|
|
|
[dev-dependencies]
|
|
criterion = { version = "0.4", default-features = false }
|
|
serde_json = "1.0"
|
|
bincode = "1.3.1"
|
|
|
|
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
|
|
wasm-bindgen-test = "0.3"
|
|
|
|
[profile.bench]
|
|
debug = true
|
|
|
|
resolver = "2"
|
|
|
|
[profile.test]
|
|
debug = 1
|
|
opt-level = 3
|
|
split-debuginfo = "unpacked"
|
|
|
|
[profile.release]
|
|
strip = true
|
|
debug = 1
|
|
lto = true
|
|
codegen-units = 1
|
|
overflow-checks = true |