SmartCore 0.6
other version

About us

SmartCore is developed and maintained by Smartcore developers. Our goal is to build an open library that has accurate, numerically stable, and well-documented implementations of the most well-known and widely used machine learning algorithms.

Contributors

volodymyrorlov

Vlad Orlov

morenol

Luis Moreno

mec-is

Lorenzo Moriondo

rabbitrabid

Vadim Zaliva

Release Notes

Version 0.6.x (current)

  • Edition 2024 port (MSRV 1.85), no unsafe in library code
  • ndarray upgraded to 0.17; nalgebra bindings dropped
  • New preprocessing module (one-hot encoding, standard scaling, series encoder)
  • New AgglomerativeClustering and ExtraTreesRegressor
  • New Cosine and Jaccard distance metrics
  • DenseMatrix moved to linalg::basic::matrix (constructors now fallible)
  • Trait rework: SupervisedEstimatorBorrow/PredictorBorrow for borrow-style estimators (SVC, SVR)
  • train_test_split takes an optional RNG seed
  • cross_validate takes an estimator instance, not a fit fn pointer
  • Model persistence moved from bincode to postcard
  • default feature set is now empty; datasets, ndarray-bindings, serde are opt-in

Version 0.2.0

  • DBSCAN
  • Epsilon-SVR, SVC
  • Ridge, Lasso, ElasticNet
  • Bernoulli, Gaussian, Categorical and Multinomial Naive Bayes
  • K-fold Cross Validation
  • Singular value decomposition
  • New api module
  • Integration with Clippy
  • smartcore::error:FailedError is now non-exhaustive
  • ndarray upgraded to 0.14
  • Cholesky decomposition
  • API changed in: K-Means, PCA, Random Forest, Linear and Logistic Regression, KNN, Decision Tree

Version 0.1.0

This is our first realease, enjoy! In this version you’ll find:

  • KNN + distance metrics (Euclidian, Minkowski, Manhattan, Hamming, Mahalanobis)
  • Linear Regression (OLS)
  • Logistic Regression
  • Random Forest Classifier
  • Decision Tree Classifier
  • PCA
  • K-Means
  • Integrated with ndarray
  • Abstract linear algebra methods
  • RandomForest Regressor
  • Decision Tree Regressor
  • Serde integration
  • LU, QR, SVD, EVD
  • Evaluation Metrics

Please let us know if you found a problem. The best way to report it is to open an issue on GitHub.