1mod classifiers;
2mod clusterers;
3mod conversions;
4mod extras;
5mod regressors;
6mod transformers;
7
8use pyo3::prelude::*;
9
10#[pymodule]
11fn _ferrolearn_rs(m: &Bound<'_, PyModule>) -> PyResult<()> {
12 m.add_class::<regressors::RsLinearRegression>()?;
14 m.add_class::<regressors::RsRidge>()?;
15 m.add_class::<regressors::RsLasso>()?;
16 m.add_class::<regressors::RsElasticNet>()?;
17 m.add_class::<classifiers::RsLogisticRegression>()?;
18 m.add_class::<classifiers::RsDecisionTreeClassifier>()?;
19 m.add_class::<classifiers::RsRandomForestClassifier>()?;
20 m.add_class::<classifiers::RsKNeighborsClassifier>()?;
21 m.add_class::<classifiers::RsGaussianNB>()?;
22 m.add_class::<transformers::RsStandardScaler>()?;
23 m.add_class::<transformers::RsPCA>()?;
24 m.add_class::<clusterers::RsKMeans>()?;
25
26 m.add_class::<extras::RsBayesianRidge>()?;
28 m.add_class::<extras::RsARDRegression>()?;
29 m.add_class::<extras::RsHuberRegressor>()?;
30 m.add_class::<extras::RsQuantileRegressor>()?;
31
32 m.add_class::<extras::RsDecisionTreeRegressor>()?;
34 m.add_class::<extras::RsRandomForestRegressor>()?;
35 m.add_class::<extras::RsExtraTreesRegressor>()?;
36 m.add_class::<extras::RsGradientBoostingRegressor>()?;
37 m.add_class::<extras::RsHistGradientBoostingRegressor>()?;
38
39 m.add_class::<extras::RsKNeighborsRegressor>()?;
41 m.add_class::<extras::RsKernelRidge>()?;
42
43 m.add_class::<extras::RsRidgeClassifier>()?;
45 m.add_class::<extras::RsLinearSVC>()?;
46 m.add_class::<extras::RsQDA>()?;
47
48 m.add_class::<extras::RsMultinomialNB>()?;
50 m.add_class::<extras::RsBernoulliNB>()?;
51 m.add_class::<extras::RsComplementNB>()?;
52
53 m.add_class::<extras::RsExtraTreeClassifier>()?;
55 m.add_class::<extras::RsExtraTreesClassifier>()?;
56 m.add_class::<extras::RsAdaBoostClassifier>()?;
57 m.add_class::<extras::RsGradientBoostingClassifier>()?;
58 m.add_class::<extras::RsHistGradientBoostingClassifier>()?;
59 m.add_class::<extras::RsBaggingClassifier>()?;
60
61 m.add_class::<extras::RsNearestCentroid>()?;
63
64 m.add_class::<extras::RsMiniBatchKMeans>()?;
66 m.add_class::<extras::RsDBSCAN>()?;
67 m.add_class::<extras::RsAgglomerativeClustering>()?;
68 m.add_class::<extras::RsBirch>()?;
69 m.add_class::<extras::RsGaussianMixture>()?;
70
71 m.add_class::<extras::RsIncrementalPCA>()?;
73 m.add_class::<extras::RsTruncatedSVD>()?;
74 m.add_class::<extras::RsFastICA>()?;
75 m.add_class::<extras::RsNMF>()?;
76 m.add_class::<extras::RsKernelPCA>()?;
77 m.add_class::<extras::RsSparsePCA>()?;
78 m.add_class::<extras::RsFactorAnalysis>()?;
79
80 m.add_class::<extras::RsMinMaxScaler>()?;
82 m.add_class::<extras::RsMaxAbsScaler>()?;
83 m.add_class::<extras::RsRobustScaler>()?;
84 m.add_class::<extras::RsPowerTransformer>()?;
85
86 m.add_class::<extras::RsNystroem>()?;
88 m.add_class::<extras::RsRBFSampler>()?;
89
90 Ok(())
91}