1#![allow(non_snake_case)]
2#![allow(missing_docs)]
3#![allow(deprecated)]
4#![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;
43pub mod image_preprocessing;
46pub mod imputation;
47pub mod information_theory;
48pub mod kernel_centerer;
49pub mod label_binarization;
50pub 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};
122pub 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};
150pub 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
234pub use functional::{
236 add_dummy_feature, binarize, label_binarize, maxabs_scale, minmax_scale, normalize,
237 robust_scale, scale,
238};
239
240pub 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 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 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 pub use crate::functional::{
415 add_dummy_feature, binarize, label_binarize, maxabs_scale, minmax_scale, normalize,
416 robust_scale, scale,
417 };
418}