scry_learn/preprocess/
mod.rs1mod column_transformer;
8mod encoder;
9mod imputer;
10mod normalizer;
11mod one_hot;
12mod pca;
13mod polynomial;
14mod scaler;
15
16pub use column_transformer::ColumnTransformer;
17pub use encoder::LabelEncoder;
18pub use imputer::{SimpleImputer, Strategy};
19pub use normalizer::{Norm, Normalizer};
20pub use one_hot::{DropStrategy, OneHotEncoder, UnknownStrategy};
21pub use pca::Pca;
22pub use polynomial::PolynomialFeatures;
23pub use scaler::{MinMaxScaler, RobustScaler, StandardScaler};
24
25use crate::dataset::Dataset;
26use crate::error::Result;
27
28pub trait Transformer {
30 fn fit(&mut self, data: &Dataset) -> Result<()>;
32
33 fn transform(&self, data: &mut Dataset) -> Result<()>;
35
36 fn fit_transform(&mut self, data: &mut Dataset) -> Result<()> {
38 self.fit(data)?;
39 self.transform(data)
40 }
41
42 fn inverse_transform(&self, data: &mut Dataset) -> Result<()>;
44}