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#![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;
46pub mod image_preprocessing;
49pub mod imputation;
50pub mod information_theory;
51pub mod kernel_centerer;
52pub mod label_binarization;
53pub 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};
125pub 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};
153pub 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
237pub use functional::{
239 add_dummy_feature, binarize, label_binarize, maxabs_scale, minmax_scale, normalize,
240 robust_scale, scale,
241};
242
243pub 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 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 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 pub use crate::functional::{
418 add_dummy_feature, binarize, label_binarize, maxabs_scale, minmax_scale, normalize,
419 robust_scale, scale,
420 };
421}