Skip to main content

anofox_ml_regression/
lib.rs

1//! Classical regression models wrapping the `anofox-regression` crate.
2//!
3//! Provides OLS, Ridge, Lasso, Elastic Net, WLS, Quantile, Isotonic, and GLM
4//! (Poisson, Binomial) regressors that implement the anofox-ml `Fit` / `Predict`
5//! type-state pattern.
6//!
7//! Cross-validated variants (`RidgeCrossValidated`, `LassoCrossValidated`,
8//! `ElasticNetCrossValidated`) automatically select the best regularization
9//! parameters using k-fold cross-validation.
10//!
11//! All models operate on `f64` (not generic over `Float`) because the
12//! underlying `anofox-regression` crate only supports `f64`.
13
14pub mod bayesian_ridge;
15pub mod convert;
16pub mod elastic_net;
17pub mod elastic_net_cv;
18pub mod glm;
19pub mod huber;
20pub mod isotonic;
21pub mod kernel_ridge;
22pub mod lars;
23pub mod lasso;
24pub mod lasso_cv;
25pub mod logistic;
26pub mod ols;
27pub mod omp;
28pub mod quantile;
29pub mod ridge;
30pub mod ridge_cv;
31pub mod robust;
32pub mod transformed_target;
33pub mod tweedie;
34pub mod wls;
35
36pub use bayesian_ridge::{ARDRegression, BayesianRidge, FittedARDRegression, FittedBayesianRidge};
37pub use elastic_net::{ElasticNetRegressor, FittedElasticNetRegressor};
38pub use elastic_net_cv::{ElasticNetCrossValidated, FittedElasticNetCrossValidated};
39pub use glm::{
40    BinomialRegressor, FittedBinomialRegressor, FittedPoissonRegressor, PoissonRegressor,
41};
42pub use huber::{FittedHuberRegressor, HuberRegressor};
43pub use isotonic::{FittedIsotonicRegressor, IsotonicRegressor};
44pub use kernel_ridge::{FittedKernelRidge, KernelRidge};
45pub use lars::{FittedLars, FittedLassoLarsIC, IcCriterion, Lars, LassoLarsIC};
46pub use lasso::{FittedLassoRegressor, LassoRegressor};
47pub use lasso_cv::{FittedLassoCrossValidated, LassoCrossValidated};
48pub use logistic::{FittedLogisticRegressor, LogisticRegressor};
49pub use ols::{FittedOlsRegressor, OlsRegressor};
50pub use omp::{FittedOrthogonalMatchingPursuit, OrthogonalMatchingPursuit};
51pub use quantile::{FittedQuantileRegressor, QuantileRegressor};
52pub use ridge::{FittedRidgeRegressor, FittedWeightedRidgeRegressor, RidgeRegressor};
53pub use ridge_cv::{FittedRidgeCrossValidated, RidgeCrossValidated};
54pub use robust::{
55    FittedRansacRegressor, FittedTheilSenRegressor, RansacRegressor, TheilSenRegressor,
56};
57pub use transformed_target::{FittedTransformedTargetRegressor, TransformedTargetRegressor};
58pub use tweedie::{
59    gamma_regressor, FittedGammaRegressor, FittedTweedieRegressor, GammaRegressor, TweedieRegressor,
60};
61pub use wls::{FittedWlsRegressor, WlsRegressor};