sklears_preprocessing/
lib.rs

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