sklears_preprocessing/
lib.rs

1#![allow(non_snake_case)]
2#![allow(missing_docs)]
3#![allow(deprecated)]
4//! Preprocessing utilities for sklears
5//!
6//! This crate provides data preprocessing utilities including:
7//! - Scaling (StandardScaler, MinMaxScaler, RobustScaler, MaxAbsScaler, Normalizer)
8//! - Encoding (LabelEncoder, OneHotEncoder, OrdinalEncoder)
9//! - Imputation (SimpleImputer, KNNImputer, IterativeImputer, GAINImputer)
10//! - Feature engineering (PolynomialFeatures, SplineTransformer, PowerTransformer, FunctionTransformer)
11//! - Text processing (TfIdfVectorizer, TextTokenizer, NgramGenerator, TextSimilarity, BagOfWordsEmbedding)
12//! - Advanced pipelines (conditional steps, parallel branches, caching, dynamic construction)
13
14#![allow(dead_code)]
15#![allow(clippy::manual_clamp)]
16#![allow(clippy::single_char_add_str)]
17#![allow(clippy::let_and_return)]
18#![allow(clippy::map_clone)]
19#![allow(clippy::manual_slice_size_calculation)]
20#![allow(clippy::needless_range_loop)]
21#![allow(clippy::if_same_then_else)]
22#![allow(clippy::arc_with_non_send_sync)]
23#![allow(clippy::excessive_precision)]
24#![allow(clippy::type_complexity)]
25#![allow(clippy::too_many_arguments)]
26#![allow(clippy::only_used_in_recursion)]
27#![allow(clippy::new_without_default)]
28#![allow(clippy::derivable_impls)]
29#![allow(clippy::ptr_arg)]
30
31pub mod adaptive;
32pub mod automated_feature_engineering;
33pub mod binarization;
34pub mod column_transformer;
35pub mod cross_validation;
36pub mod data_quality;
37pub mod dimensionality_reduction;
38pub mod encoding;
39pub mod feature_engineering;
40pub mod feature_union;
41pub mod functional;
42pub mod geospatial;
43// TODO: Depends on scirs2_core::memory::BufferPool which doesn't exist yet
44// pub mod gpu_acceleration;
45pub mod image_preprocessing;
46pub mod imputation;
47pub mod information_theory;
48pub mod kernel_centerer;
49pub mod label_binarization;
50// TODO: Depends on scirs2_core::memory::BufferPool which doesn't exist yet
51// pub mod lazy_evaluation;
52// TODO: Depends on scirs2_core::memory::BufferPool which doesn't exist yet
53// pub mod memory_management;
54pub mod monitoring;
55pub mod outlier_detection;
56pub mod outlier_transformation;
57pub mod pipeline;
58pub mod pipeline_validation;
59pub mod probabilistic_imputation;
60pub mod quantile_transformer;
61pub mod robust_preprocessing;
62pub mod scaling;
63pub mod simd_optimizations;
64pub mod sparse_optimizations;
65pub mod streaming;
66pub mod temporal;
67pub mod text;
68pub mod type_safety;
69pub mod winsorization;
70
71pub use adaptive::{
72    AdaptationStrategy, AdaptiveConfig, AdaptiveParameterSelector, DataCharacteristics,
73    DistributionType, ImputationParameters, OutlierDetectionParameters, ParameterEvaluation,
74    ParameterRecommendations, ScalingParameters,
75    TransformationParameters as AdaptiveTransformationParameters,
76};
77pub use automated_feature_engineering::{
78    AutoFeatureConfig, AutoFeatureEngineer, AutoFeatureEngineerFitted, Domain, GenerationStrategy,
79    MathFunction, SelectionMethod, TransformationFunction, TransformationType,
80};
81pub use binarization::{
82    Binarizer, BinarizerConfig, DiscretizationStrategy, DiscretizerEncoding, KBinsDiscretizer,
83    KBinsDiscretizerConfig,
84};
85pub use column_transformer::{
86    ColumnSelector, ColumnTransformer, ColumnTransformerConfig, DataType, RemainderStrategy,
87    TransformerStep, TransformerWrapper,
88};
89pub use cross_validation::{
90    CVScore, InformationPreservationMetric, KFold, ParameterDistribution, ParameterGrid,
91    PreprocessingMetric, StratifiedKFold, VariancePreservationMetric,
92};
93pub use data_quality::{
94    CorrelationWarning, DataQualityConfig, DataQualityReport, DataQualityValidator,
95    DistributionStats, IssueCategory, IssueSeverity, MissingStats, OutlierMethod, OutlierStats,
96    QualityIssue,
97};
98pub use dimensionality_reduction::{
99    ICAConfig, ICAFitted, IcaAlgorithm, IcaFunction, LDAConfig, LDAFitted, LdaSolver, NMFConfig,
100    NMFFitted, NmfInit, NmfSolver, PCAConfig, PCAFitted, PcaSolver, ICA, LDA, NMF, PCA,
101};
102pub use encoding::{
103    BinaryEncoder, BinaryEncoderConfig, CategoricalEmbedding, CategoricalEmbeddingConfig,
104    FrequencyEncoder, FrequencyEncoderConfig, HashEncoder, HashEncoderConfig, LabelEncoder,
105    OneHotEncoder, OrdinalEncoder, RareStrategy, TargetEncoder,
106};
107pub use feature_engineering::{
108    ExtrapolationStrategy, FeatureOrder, KnotStrategy, PolynomialFeatures, PowerMethod,
109    PowerTransformer, PowerTransformerConfig, SplineTransformer, SplineTransformerConfig,
110};
111pub use feature_union::{FeatureUnion, FeatureUnionConfig, FeatureUnionStep};
112pub use geospatial::{
113    calculate_distance, haversine_distance, vincenty_distance, Coordinate, CoordinateSystem,
114    CoordinateTransformer, CoordinateTransformerConfig, CoordinateTransformerFitted, Geohash,
115    GeohashEncoder, GeohashEncoderConfig, GeohashEncoderFitted, ProximityFeatures,
116    ProximityFeaturesConfig, ProximityFeaturesFitted, SpatialAutocorrelation,
117    SpatialAutocorrelationConfig, SpatialAutocorrelationFitted, SpatialBinning,
118    SpatialBinningConfig, SpatialBinningFitted, SpatialClustering, SpatialClusteringConfig,
119    SpatialClusteringFitted, SpatialClusteringMethod, SpatialDistanceFeatures,
120    SpatialDistanceFeaturesConfig, SpatialDistanceFeaturesFitted, SpatialDistanceMetric,
121};
122// TODO: Depends on scirs2_core::memory::BufferPool which doesn't exist yet
123// pub use gpu_acceleration::{
124//     GpuBackend, GpuConfig, GpuContextManager, GpuMinMaxScaler, GpuMinMaxScalerFitted,
125//     GpuPerformanceStats, GpuStandardScaler, GpuStandardScalerFitted,
126// };
127pub use image_preprocessing::{
128    ColorSpace, ColorSpaceTransformer, EdgeDetectionMethod, EdgeDetector, ImageAugmenter,
129    ImageAugmenterConfig, ImageFeatureExtractor, ImageNormalizationStrategy, ImageNormalizer,
130    ImageNormalizerConfig, ImageNormalizerFitted, ImageResizer,
131    InterpolationMethod as ImageInterpolationMethod,
132};
133pub use imputation::{
134    BaseImputationMethod, DistanceMetric, FeatureMissingStats, GAINImputer, GAINImputerConfig,
135    ImputationStrategy, IterativeImputer, KNNImputer, MissingPattern, MissingValueAnalysis,
136    MissingnessType, MultipleImputationResult, MultipleImputer, MultipleImputerConfig,
137    OutlierAwareImputer, OutlierAwareImputerConfig, OutlierAwareStatistics, OutlierAwareStrategy,
138    OverallMissingStats, SimpleImputer,
139};
140pub use information_theory::{
141    approximate_entropy, conditional_entropy, joint_entropy, lempel_ziv_complexity,
142    mutual_information, normalized_mutual_information, permutation_entropy, renyi_entropy,
143    sample_entropy, shannon_entropy, transfer_entropy, InformationFeatureSelector,
144    InformationFeatureSelectorConfig, InformationFeatureSelectorFitted, InformationMetric,
145};
146pub use kernel_centerer::KernelCenterer;
147pub use label_binarization::{
148    LabelBinarizer, LabelBinarizerConfig, MultiLabelBinarizer, MultiLabelBinarizerConfig,
149};
150// TODO: Depends on scirs2_core::memory::BufferPool which doesn't exist yet
151// pub use lazy_evaluation::{LazyConfig, LazyGraph, LazyNode, LazyOp, LazyPreprocessor};
152// TODO: Depends on scirs2_core::memory::BufferPool which doesn't exist yet
153// pub use memory_management::{
154//     AdvancedMemoryConfig, AdvancedMemoryPool, AdvancedMemoryStats, CacheAlignedAllocator,
155//     CompressedData, CopyOnWriteArray, MemoryCompressor, MemoryMappedDataset, MemoryPool,
156//     MemoryPoolConfig, MemoryStats, PrefetchPattern, StreamingMemoryTransformer,
157// };
158pub use monitoring::{
159    LogLevel, MonitoringConfig, MonitoringSession, MonitoringSummary, TransformationMetrics,
160};
161pub use outlier_detection::{
162    FeatureOutlierParams, OutlierDetectionMethod, OutlierDetectionResult, OutlierDetector,
163    OutlierDetectorConfig, OutlierStatistics, OutlierSummary,
164};
165pub use outlier_transformation::{
166    FeatureTransformationParams, GlobalTransformationParams, OutlierTransformationConfig,
167    OutlierTransformationMethod, OutlierTransformer, TransformationParameters,
168};
169pub use pipeline::{
170    AdvancedPipeline, AdvancedPipelineBuilder, AdvancedPipelineConfig, BranchCombinationStrategy,
171    CacheConfig, CacheStats, ConditionalStep, ConditionalStepConfig, DynamicPipeline,
172    ErrorHandlingStrategy, ParallelBranchConfig, ParallelBranches, PipelineStep,
173    TransformationCache,
174};
175pub use pipeline_validation::{
176    PerformanceRecommendation, PipelineValidator, PipelineValidatorConfig, RecommendationCategory,
177    ValidationError, ValidationErrorType, ValidationResult, ValidationWarning, WarningSeverity,
178};
179pub use probabilistic_imputation::{
180    BayesianImputer, BayesianImputerConfig, BayesianImputerFitted, EMImputer, EMImputerConfig,
181    EMImputerFitted, GaussianProcessImputer, GaussianProcessImputerConfig,
182    GaussianProcessImputerFitted, MonteCarloBaseMethod, MonteCarloImputer, MonteCarloImputerConfig,
183    MonteCarloImputerFitted,
184};
185pub use quantile_transformer::{QuantileOutput, QuantileTransformer, QuantileTransformerConfig};
186pub use robust_preprocessing::{
187    MissingValueStats, RobustPreprocessingStats, RobustPreprocessor, RobustPreprocessorConfig,
188    RobustStrategy, TransformationStats,
189};
190pub use scaling::{
191    FeatureWiseScaler, FeatureWiseScalerConfig, MaxAbsScaler, MinMaxScaler, NormType, Normalizer,
192    OutlierAwareScaler, OutlierAwareScalerConfig, OutlierAwareScalingStrategy, OutlierScalingStats,
193    RobustScaler, RobustStatistic, ScalingMethod, StandardScaler, UnitVectorScaler,
194    UnitVectorScalerConfig,
195};
196pub use simd_optimizations::{
197    add_scalar_f64_simd, add_vectors_f64_simd, mean_f64_simd, min_max_f64_simd,
198    mul_scalar_f64_simd, ndarray_ops, sub_vectors_f64_simd, variance_f64_simd, SimdConfig,
199};
200pub use sparse_optimizations::{
201    sparse_matvec, SparseConfig, SparseFormat, SparseMatrix, SparseStandardScaler,
202    SparseStandardScalerFitted,
203};
204pub use streaming::{
205    AdaptiveConfig as StreamingAdaptiveConfig, AdaptiveParameterManager,
206    AdaptiveStreamingMinMaxScaler, AdaptiveStreamingStandardScaler, IncrementalPCA,
207    IncrementalPCAStats, MiniBatchConfig, MiniBatchIterator, MiniBatchPipeline, MiniBatchStats,
208    MiniBatchStreamingTransformer, MiniBatchTransformer, MultiQuantileEstimator,
209    OnlineMADEstimator, OnlineMADStats, OnlineQuantileEstimator, OnlineQuantileStats,
210    ParameterUpdate, StreamCharacteristics, StreamingConfig, StreamingLabelEncoder,
211    StreamingMinMaxScaler, StreamingPipeline, StreamingRobustScaler, StreamingRobustScalerStats,
212    StreamingSimpleImputer, StreamingStandardScaler, StreamingStats, StreamingTransformer,
213};
214pub use temporal::{
215    ChangePointDetector, ChangePointDetectorConfig, ChangePointMethod, DateComponents, DateTime,
216    DecompositionMethod, FillMethod, FourierFeatureGenerator, FourierFeatureGeneratorConfig,
217    InterpolationMethod, LagFeatureGenerator, LagFeatureGeneratorConfig,
218    MultiVariateTimeSeriesAligner, ResamplingMethod, SeasonalDecomposer, SeasonalDecomposerConfig,
219    StationarityMethod, StationarityTransformer, StationarityTransformerConfig,
220    StationarityTransformerFitted, TemporalFeatureExtractor, TemporalFeatureExtractorConfig,
221    TimeSeriesInterpolator, TimeSeriesResampler, TrendDetector, TrendDetectorConfig, TrendMethod,
222};
223pub use text::{
224    BagOfWordsConfig, BagOfWordsEmbedding, NgramGenerator, NgramGeneratorConfig, NgramType,
225    NormalizationStrategy, SimilarityMetric, TextSimilarity, TextSimilarityConfig, TextTokenizer,
226    TextTokenizerConfig, TfIdfVectorizer, TfIdfVectorizerConfig, TokenizationStrategy,
227};
228pub use type_safety::{
229    Dimension, Dynamic, Fitted, Known, TransformState, TypeSafeConfig, TypeSafePipeline,
230    TypeSafeTransformer, Unfitted,
231};
232pub use winsorization::{NanStrategy, WinsorizationStats, Winsorizer, WinsorizerConfig};
233
234// Re-export functional APIs (excluding complex transformations that are commented out)
235pub use functional::{
236    add_dummy_feature, binarize, label_binarize, maxabs_scale, minmax_scale, normalize,
237    robust_scale, scale,
238};
239
240/// Prelude module for convenient imports
241pub mod prelude {
242    pub use crate::adaptive::{
243        AdaptationStrategy, AdaptiveConfig, AdaptiveParameterSelector, DataCharacteristics,
244        DistributionType, ImputationParameters, OutlierDetectionParameters, ParameterEvaluation,
245        ParameterRecommendations, ScalingParameters,
246        TransformationParameters as AdaptiveTransformationParameters,
247    };
248    pub use crate::automated_feature_engineering::{
249        AutoFeatureConfig, AutoFeatureEngineer, AutoFeatureEngineerFitted, Domain,
250        GenerationStrategy, MathFunction, SelectionMethod, TransformationFunction,
251        TransformationType,
252    };
253    pub use crate::binarization::{
254        Binarizer, BinarizerConfig, DiscretizationStrategy, DiscretizerEncoding, KBinsDiscretizer,
255        KBinsDiscretizerConfig,
256    };
257    pub use crate::column_transformer::{
258        ColumnSelector, ColumnTransformer, ColumnTransformerConfig, DataType, RemainderStrategy,
259        TransformerStep, TransformerWrapper,
260    };
261    pub use crate::cross_validation::{
262        CVScore, InformationPreservationMetric, KFold, ParameterDistribution, ParameterGrid,
263        PreprocessingMetric, StratifiedKFold, VariancePreservationMetric,
264    };
265    pub use crate::data_quality::{
266        CorrelationWarning, DataQualityConfig, DataQualityReport, DataQualityValidator,
267        DistributionStats, IssueCategory, IssueSeverity, MissingStats, OutlierMethod, OutlierStats,
268        QualityIssue,
269    };
270    pub use crate::dimensionality_reduction::{
271        ICAConfig, ICAFitted, IcaAlgorithm, IcaFunction, LDAConfig, LDAFitted, LdaSolver,
272        NMFConfig, NMFFitted, NmfInit, NmfSolver, PCAConfig, PCAFitted, PcaSolver, ICA, LDA, NMF,
273        PCA,
274    };
275    pub use crate::encoding::{
276        BinaryEncoder, BinaryEncoderConfig, CategoricalEmbedding, CategoricalEmbeddingConfig,
277        FrequencyEncoder, FrequencyEncoderConfig, HashEncoder, HashEncoderConfig, LabelEncoder,
278        OneHotEncoder, OrdinalEncoder, RareStrategy, TargetEncoder,
279    };
280    pub use crate::feature_engineering::{
281        ExtrapolationStrategy, FeatureOrder, KnotStrategy, PolynomialFeatures, PowerMethod,
282        PowerTransformer, PowerTransformerConfig, SplineTransformer, SplineTransformerConfig,
283    };
284    pub use crate::feature_union::{FeatureUnion, FeatureUnionConfig, FeatureUnionStep};
285    pub use crate::geospatial::{
286        calculate_distance, haversine_distance, vincenty_distance, Coordinate, CoordinateSystem,
287        CoordinateTransformer, CoordinateTransformerConfig, CoordinateTransformerFitted, Geohash,
288        GeohashEncoder, GeohashEncoderConfig, GeohashEncoderFitted, ProximityFeatures,
289        ProximityFeaturesConfig, ProximityFeaturesFitted, SpatialAutocorrelation,
290        SpatialAutocorrelationConfig, SpatialAutocorrelationFitted, SpatialBinning,
291        SpatialBinningConfig, SpatialBinningFitted, SpatialClustering, SpatialClusteringConfig,
292        SpatialClusteringFitted, SpatialClusteringMethod, SpatialDistanceFeatures,
293        SpatialDistanceFeaturesConfig, SpatialDistanceFeaturesFitted, SpatialDistanceMetric,
294    };
295    // TODO: Depends on scirs2_core::memory::BufferPool which doesn't exist yet
296    // pub use crate::gpu_acceleration::{
297    //     GpuBackend, GpuConfig, GpuContextManager, GpuMinMaxScaler, GpuMinMaxScalerFitted,
298    //     GpuPerformanceStats, GpuStandardScaler, GpuStandardScalerFitted,
299    // };
300    pub use crate::image_preprocessing::{
301        ColorSpace, ColorSpaceTransformer, EdgeDetectionMethod, EdgeDetector, ImageAugmenter,
302        ImageAugmenterConfig, ImageFeatureExtractor, ImageNormalizationStrategy, ImageNormalizer,
303        ImageNormalizerConfig, ImageNormalizerFitted, ImageResizer,
304        InterpolationMethod as ImageInterpolationMethod,
305    };
306    pub use crate::imputation::{
307        BaseImputationMethod, DistanceMetric, FeatureMissingStats, GAINImputer, GAINImputerConfig,
308        ImputationStrategy, IterativeImputer, KNNImputer, MissingPattern, MissingValueAnalysis,
309        MissingnessType, MultipleImputationResult, MultipleImputer, MultipleImputerConfig,
310        OutlierAwareImputer, OutlierAwareImputerConfig, OutlierAwareStatistics,
311        OutlierAwareStrategy, OverallMissingStats, SimpleImputer,
312    };
313    pub use crate::information_theory::{
314        approximate_entropy, conditional_entropy, joint_entropy, lempel_ziv_complexity,
315        mutual_information, normalized_mutual_information, permutation_entropy, renyi_entropy,
316        sample_entropy, shannon_entropy, transfer_entropy, InformationFeatureSelector,
317        InformationFeatureSelectorConfig, InformationFeatureSelectorFitted, InformationMetric,
318    };
319    pub use crate::kernel_centerer::KernelCenterer;
320    pub use crate::label_binarization::{
321        LabelBinarizer, LabelBinarizerConfig, MultiLabelBinarizer, MultiLabelBinarizerConfig,
322    };
323    // TODO: Depends on scirs2_core::memory::BufferPool which doesn't exist yet
324    // pub use crate::lazy_evaluation::{LazyConfig, LazyGraph, LazyNode, LazyOp, LazyPreprocessor};
325    // TODO: Depends on scirs2_core::memory::BufferPool which doesn't exist yet
326    // pub use crate::memory_management::{
327    //     AdvancedMemoryConfig, AdvancedMemoryPool, AdvancedMemoryStats, CacheAlignedAllocator,
328    //     CompressedData, CopyOnWriteArray, MemoryCompressor, MemoryMappedDataset, MemoryPool,
329    //     MemoryPoolConfig, MemoryStats, PrefetchPattern, StreamingMemoryTransformer,
330    // };
331    pub use crate::monitoring::{
332        LogLevel, MonitoringConfig, MonitoringSession, MonitoringSummary, TransformationMetrics,
333    };
334    pub use crate::outlier_detection::{
335        FeatureOutlierParams, OutlierDetectionMethod, OutlierDetectionResult, OutlierDetector,
336        OutlierDetectorConfig, OutlierStatistics, OutlierSummary,
337    };
338    pub use crate::outlier_transformation::{
339        FeatureTransformationParams, GlobalTransformationParams, OutlierTransformationConfig,
340        OutlierTransformationMethod, OutlierTransformer,
341    };
342    pub use crate::pipeline::{
343        AdvancedPipeline, AdvancedPipelineBuilder, AdvancedPipelineConfig,
344        BranchCombinationStrategy, CacheConfig, CacheStats, ConditionalStep, ConditionalStepConfig,
345        DynamicPipeline, ErrorHandlingStrategy, ParallelBranchConfig, ParallelBranches,
346        PipelineStep, TransformationCache,
347    };
348    pub use crate::pipeline_validation::{
349        PerformanceRecommendation, PipelineValidator, PipelineValidatorConfig,
350        RecommendationCategory, ValidationError, ValidationErrorType, ValidationResult,
351        ValidationWarning, WarningSeverity,
352    };
353    pub use crate::probabilistic_imputation::{
354        BayesianImputer, BayesianImputerConfig, BayesianImputerFitted, EMImputer, EMImputerConfig,
355        EMImputerFitted, GaussianProcessImputer, GaussianProcessImputerConfig,
356        GaussianProcessImputerFitted, MonteCarloBaseMethod, MonteCarloImputer,
357        MonteCarloImputerConfig, MonteCarloImputerFitted,
358    };
359    pub use crate::quantile_transformer::{
360        QuantileOutput, QuantileTransformer, QuantileTransformerConfig,
361    };
362    pub use crate::robust_preprocessing::{
363        MissingValueStats, RobustPreprocessingStats, RobustPreprocessor, RobustPreprocessorConfig,
364        RobustStrategy, TransformationStats,
365    };
366    pub use crate::scaling::{
367        FeatureWiseScaler, FeatureWiseScalerConfig, MaxAbsScaler, MinMaxScaler, NormType,
368        Normalizer, OutlierAwareScaler, OutlierAwareScalerConfig, OutlierAwareScalingStrategy,
369        OutlierScalingStats, RobustScaler, RobustStatistic, ScalingMethod, StandardScaler,
370        UnitVectorScaler, UnitVectorScalerConfig,
371    };
372    pub use crate::simd_optimizations::{
373        add_scalar_f64_simd, add_vectors_f64_simd, mean_f64_simd, min_max_f64_simd,
374        mul_scalar_f64_simd, ndarray_ops, sub_vectors_f64_simd, variance_f64_simd, SimdConfig,
375    };
376    pub use crate::sparse_optimizations::{
377        sparse_matvec, SparseConfig, SparseFormat, SparseMatrix, SparseStandardScaler,
378        SparseStandardScalerFitted,
379    };
380    pub use crate::streaming::{
381        AdaptiveConfig as StreamingAdaptiveConfig, AdaptiveParameterManager,
382        AdaptiveStreamingMinMaxScaler, AdaptiveStreamingStandardScaler, IncrementalPCA,
383        IncrementalPCAStats, MiniBatchConfig, MiniBatchIterator, MiniBatchPipeline, MiniBatchStats,
384        MiniBatchStreamingTransformer, MiniBatchTransformer, MultiQuantileEstimator,
385        OnlineMADEstimator, OnlineMADStats, OnlineQuantileEstimator, OnlineQuantileStats,
386        ParameterUpdate, StreamCharacteristics, StreamingConfig, StreamingLabelEncoder,
387        StreamingMinMaxScaler, StreamingPipeline, StreamingRobustScaler,
388        StreamingRobustScalerStats, StreamingSimpleImputer, StreamingStandardScaler,
389        StreamingStats, StreamingTransformer,
390    };
391    pub use crate::temporal::{
392        ChangePointDetector, ChangePointDetectorConfig, ChangePointMethod, DateComponents,
393        DateTime, DecompositionMethod, FillMethod, FourierFeatureGenerator,
394        FourierFeatureGeneratorConfig, InterpolationMethod, LagFeatureGenerator,
395        LagFeatureGeneratorConfig, MultiVariateTimeSeriesAligner, ResamplingMethod,
396        SeasonalDecomposer, SeasonalDecomposerConfig, StationarityMethod, StationarityTransformer,
397        StationarityTransformerConfig, StationarityTransformerFitted, TemporalFeatureExtractor,
398        TemporalFeatureExtractorConfig, TimeSeriesInterpolator, TimeSeriesResampler, TrendDetector,
399        TrendDetectorConfig, TrendMethod,
400    };
401    pub use crate::text::{
402        BagOfWordsConfig, BagOfWordsEmbedding, NgramGenerator, NgramGeneratorConfig, NgramType,
403        NormalizationStrategy, SimilarityMetric, TextSimilarity, TextSimilarityConfig,
404        TextTokenizer, TextTokenizerConfig, TfIdfVectorizer, TfIdfVectorizerConfig,
405        TokenizationStrategy,
406    };
407    pub use crate::type_safety::{
408        Dimension, Dynamic, Fitted, Known, TransformState, TypeSafeConfig, TypeSafePipeline,
409        TypeSafeTransformer, Unfitted,
410    };
411    pub use crate::winsorization::{NanStrategy, WinsorizationStats, Winsorizer, WinsorizerConfig};
412
413    // Re-export functional APIs (excluding complex transformations that are commented out)
414    pub use crate::functional::{
415        add_dummy_feature, binarize, label_binarize, maxabs_scale, minmax_scale, normalize,
416        robust_scale, scale,
417    };
418}