Skip to main content

sklears_model_selection/
lib.rs

1#![allow(dead_code)]
2#![allow(non_snake_case)]
3#![allow(missing_docs)]
4#![allow(deprecated)]
5#![allow(clippy::all)]
6#![allow(clippy::pedantic)]
7#![allow(clippy::nursery)]
8//! Model selection utilities for sklears
9
10mod adaptive_resource_allocation;
11mod adversarial_validation;
12mod automl_algorithm_selection;
13mod automl_feature_engineering;
14mod automl_pipeline;
15mod bandit_optimization;
16mod bayes_search;
17mod bayesian_model_averaging;
18mod bayesian_model_selection;
19mod bias_variance;
20mod config_management;
21mod conformal_prediction;
22mod cross_validation;
23mod cv;
24mod cv_model_selection;
25mod drift_detection;
26mod early_stopping;
27mod ensemble_evaluation;
28mod ensemble_selection;
29mod epistemic_uncertainty;
30mod evolutionary;
31mod grid_search;
32mod halving_grid_search;
33mod hierarchical_validation;
34mod hyperparameter_importance;
35mod imbalanced_validation;
36mod incremental_evaluation;
37mod information_criteria;
38mod memory_efficient;
39mod meta_learning;
40mod meta_learning_advanced;
41mod model_comparison;
42mod model_complexity;
43mod multi_fidelity_advanced;
44mod multi_fidelity_optimization;
45mod multilabel_validation;
46mod neural_architecture_search;
47mod noise_injection;
48mod ood_validation;
49mod optimizer_plugins;
50mod parallel_optimization;
51mod parameter_space;
52mod population_based_training;
53mod scoring;
54mod spatial_validation;
55mod temporal_validation;
56mod threshold_tuning;
57mod train_test_split;
58mod validation;
59mod warm_start;
60mod worst_case_validation;
61
62pub use adaptive_resource_allocation::{
63    AdaptiveAllocationConfig, AdaptiveResourceAllocator, AllocationStatistics, AllocationStrategy,
64    ResourceConfiguration,
65};
66pub use adversarial_validation::{
67    AdversarialStatistics, AdversarialValidationConfig, AdversarialValidationResult,
68    AdversarialValidator,
69};
70pub use automl_algorithm_selection::{
71    select_best_algorithm, AlgorithmFamily, AlgorithmSelectionResult, AlgorithmSpec,
72    AutoMLAlgorithmSelector, AutoMLConfig, ComputationalConstraints,
73    DatasetCharacteristics as AutoMLDatasetCharacteristics, RankedAlgorithm, TargetStatistics,
74};
75pub use automl_feature_engineering::{
76    engineer_features, AutoFeatureEngineer, AutoFeatureEngineering, FeatureEngineeringResult,
77    FeatureEngineeringStrategy, FeatureSelectionMethod, FeatureStatistics,
78    FeatureTransformationType, GeneratedFeature, TransformationInfo,
79};
80pub use automl_pipeline::{
81    automl, automl_with_budget, AutoMLPipeline, AutoMLPipelineConfig, AutoMLPipelineResult,
82    AutoMLProgressCallback, AutoMLStage, ConsoleProgressCallback, OptimizationLevel,
83};
84pub use bandit_optimization::{
85    BanditConfig, BanditOptimization, BanditOptimizationResult, BanditSearchCV, BanditStrategy,
86};
87pub use bayes_search::{
88    AcquisitionFunction as BayesAcquisitionFunction, BayesSearchCV, BayesSearchConfig,
89    ParamDistribution as BayesParamDistribution, TPEConfig, TPEOptimizer,
90};
91pub use bayesian_model_averaging::{
92    bayesian_model_average, BMAConfig, BMAResult, BayesianModelAverager as BMA_Averager,
93    EvidenceMethod, ModelInfo as BMA_ModelInfo, PriorType,
94};
95pub use bayesian_model_selection::{
96    BayesianModelAverager as BayesianModelSelector_BA, BayesianModelSelectionResult,
97    BayesianModelSelector, EvidenceEstimationMethod, ModelEvidenceData,
98};
99pub use bias_variance::{
100    bias_variance_decompose, BiasVarianceAnalyzer, BiasVarianceConfig, BiasVarianceResult,
101    SampleBiasVariance,
102};
103pub use config_management::{
104    ConfigError, ConfigManager, CrossValidationConfig as CVConfig, EarlyStoppingConfig as ESConfig,
105    ModelSelectionConfig, OptimizationConfig as OptiConfig, ParameterDefinition, ResourceConfig,
106    ScoringConfig as ScoreConfig,
107};
108pub use conformal_prediction::{
109    ConformalPredictionConfig, ConformalPredictionResult, ConformalPredictor, CoverageStatistics,
110    EfficiencyMetrics, JackknifeConformalPredictor, NonconformityMethod,
111};
112pub use cross_validation::{
113    BlockCrossValidator, BlockedTimeSeriesCV, BootstrapCV, CrossValidator, CustomCrossValidator,
114    GroupKFold, GroupShuffleSplit, GroupStrategy, KFold, LeaveOneGroupOut, LeaveOneOut,
115    LeavePGroupsOut, LeavePOut, MonteCarloCV, PredefinedSplit, PurgedGroupTimeSeriesSplit,
116    RegressionCrossValidator, RepeatedKFold, RepeatedStratifiedKFold, ShuffleSplit,
117    StratifiedGroupKFold, StratifiedKFold, StratifiedRegressionKFold, StratifiedShuffleSplit,
118    TimeSeriesSplit,
119};
120pub use cv_model_selection::{
121    cv_select_model, CVModelScore, CVModelSelectionConfig, CVModelSelectionResult, CVModelSelector,
122    ModelComparisonPair, ModelRanking, ModelSelectionCriteria,
123};
124pub use drift_detection::{
125    DriftDetectionConfig, DriftDetectionMethod, DriftDetectionResult, DriftDetector,
126    DriftStatistics,
127};
128pub use early_stopping::{
129    AdaptationConfig, AdaptiveEarlyStopping, ConvergenceMetrics, EarlyStoppingCallback,
130    EarlyStoppingConfig, EarlyStoppingMonitor, EarlyStoppingStrategy,
131};
132pub use ensemble_evaluation::{
133    evaluate_ensemble, DiversityAnalysis, DiversityMeasure, EnsembleEvaluationConfig,
134    EnsembleEvaluationResult, EnsembleEvaluationStrategy, EnsembleEvaluator,
135    EnsemblePerformanceMetrics, MemberContribution, MultiObjectiveAnalysis, OutOfBagScores,
136    ProgressivePerformance, StabilityAnalysis, StabilityMetric,
137};
138pub use ensemble_selection::{
139    select_ensemble, DiversityMeasures, EnsemblePerformance, EnsembleSelectionConfig,
140    EnsembleSelectionResult, EnsembleSelector, EnsembleStrategy, ModelInfo as EnsembleModelInfo,
141    ModelPerformance,
142};
143pub use epistemic_uncertainty::{
144    quantify_aleatoric_uncertainty, quantify_epistemic_uncertainty, quantify_uncertainty,
145    AleatoricUncertaintyConfig, AleatoricUncertaintyMethod, AleatoricUncertaintyQuantifier,
146    AleatoricUncertaintyResult, CalibrationMethod, EpistemicUncertaintyConfig,
147    EpistemicUncertaintyMethod, EpistemicUncertaintyQuantifier, EpistemicUncertaintyResult,
148    ReliabilityDiagram, ReliabilityMetrics, UncertaintyComponents, UncertaintyDecomposition,
149    UncertaintyDecompositionMethod, UncertaintyQuantificationConfig,
150    UncertaintyQuantificationResult, UncertaintyQuantifier,
151};
152pub use evolutionary::{
153    EvolutionarySearchCV, EvolutionarySearchResult, GeneticAlgorithmCV, GeneticAlgorithmConfig,
154    GeneticAlgorithmResult, Individual, MultiObjectiveGA, MultiObjectiveResult, ParameterDef,
155    ParameterSpace as EvolutionaryParameterSpace,
156};
157pub use grid_search::{
158    GridSearchCV, GridSearchResults, ParameterDistribution, ParameterDistributions, ParameterGrid,
159    ParameterSet, ParameterValue as GridParameterValue, RandomizedSearchCV,
160};
161pub use halving_grid_search::{
162    HalvingGridSearch, HalvingGridSearchConfig, HalvingGridSearchResults, HalvingRandomSearchCV,
163};
164pub use hierarchical_validation::{
165    hierarchical_cross_validate, ClusterInfo, HierarchicalCrossValidator, HierarchicalSplit,
166    HierarchicalStrategy, HierarchicalValidationConfig, HierarchicalValidationResult,
167};
168pub use hyperparameter_importance::{
169    analyze_parameter_sensitivity, compute_shap_importance, AblationAnalyzer, AblationConfig,
170    AblationResult, ComprehensiveImportanceResult, FANOVAAnalyzer, FANOVAConfig, FANOVAResult,
171    HyperparameterImportanceAnalyzer, ParameterSensitivity, SHAPAnalyzer, SHAPConfig, SHAPResult,
172    SensitivityAnalyzer, SensitivityConfig, SensitivityResult,
173};
174pub use imbalanced_validation::{
175    imbalanced_cross_validate, ClassStatistics, ImbalancedCrossValidator, ImbalancedSplit,
176    ImbalancedStrategy, ImbalancedValidationConfig, ImbalancedValidationResult, SamplingStrategy,
177};
178pub use incremental_evaluation::{
179    evaluate_incremental_stream, AdaptationCriterion, ConceptDriftHandling, DriftDetectorType,
180    DriftEvent, DriftType, FoldUpdateStrategy, IncrementalEvaluationConfig,
181    IncrementalEvaluationResult, IncrementalEvaluationStrategy, IncrementalEvaluator,
182    PerformanceSnapshot, StreamingStatistics,
183};
184pub use information_criteria::{
185    CrossValidatedIC, InformationCriterion, InformationCriterionCalculator,
186    InformationCriterionResult, ModelComparisonResult as ICModelComparisonResult,
187};
188pub use memory_efficient::{
189    memory_efficient_cross_validate, DataChunk, MemoryEfficiencyStats, MemoryEfficientConfig,
190    MemoryEfficientCrossValidator, MemoryError, MemoryPool, MemorySnapshot, MemoryTracker,
191    StreamingDataReader, StreamingEvaluationResult,
192};
193pub use meta_learning::{
194    meta_learning_recommend, ComplexityMeasures, DatasetCharacteristics, FeatureType,
195    MetaLearningConfig, MetaLearningEngine, MetaLearningRecommendation, MetaLearningStrategy,
196    OptimizationRecord, ParameterValue, SimilarityMetric, StatisticalMeasures, SurrogateModel,
197    TransferMethod,
198};
199pub use meta_learning_advanced::{
200    Experience as OptimizationExperience_Advanced, ExperienceReplayBuffer, ExperienceReplayConfig,
201    FewShotAlgorithm, FewShotConfig, FewShotOptimizer, FewShotResult, ImportanceWeightingMethod,
202    Learn2OptimizeConfig, Learn2OptimizeResult, LearnedOptimizer,
203    OptimizationExperience as MetaOptimizationExperience, OptimizationLearner,
204    OptimizationTask as MetaOptimizationTask, OptimizerArchitecture,
205    ParameterRange as MetaParameterRange, ParameterScale, PrioritizationStrategy, ReplayResult,
206    SamplingStrategy as ReplaySamplingStrategy, TaskCharacteristics as MetaTaskCharacteristics,
207    TransferLearningConfig, TransferLearningOptimizer, TransferResult, TransferStrategy,
208};
209pub use model_comparison::{
210    friedman_test, mcnemar_test, multiple_model_comparison, nemenyi_post_hoc_test, paired_t_test,
211    wilcoxon_signed_rank_test, ModelComparisonResult, MultipleTestingCorrection,
212    StatisticalTestResult,
213};
214pub use model_complexity::{
215    analyze_model_complexity, detect_overfitting_learning_curve, ComplexityAnalysisConfig,
216    ComplexityAnalysisResult, ComplexityMeasure, ComplexityRecommendation, ModelComplexityAnalyzer,
217    OverfittingDetector,
218};
219pub use multi_fidelity_advanced::{
220    AdaptiveFidelitySelector, AdaptiveFidelityStrategy, AllocationPlan, BudgetAllocationStrategy,
221    BudgetAllocator, CoarseToFineConfig, CoarseToFineOptimizer, CoarseToFineResult,
222    CoarseToFineStrategy, ConfigAllocation, ConfigurationWithPerformance,
223    ProgressiveAllocationConfig, ProgressiveAllocationStrategy, ProgressiveAllocator,
224};
225pub use multi_fidelity_optimization::{
226    multi_fidelity_optimize, AcquisitionFunction, CorrelationModel, CostModel, FidelityEvaluation,
227    FidelityLevel, FidelityProgression, FidelitySelectionMethod, MultiFidelityConfig,
228    MultiFidelityOptimizer, MultiFidelityResult, MultiFidelityStrategy,
229};
230pub use multilabel_validation::{
231    multilabel_cross_validate, LabelStatistics, MultiLabelCrossValidator, MultiLabelSplit,
232    MultiLabelStrategy, MultiLabelValidationConfig, MultiLabelValidationResult,
233};
234pub use neural_architecture_search::{
235    ArchitectureEvaluation, ArchitectureSearchSpace, NASConfig, NASOptimizer, NASResult,
236    NASStrategy, NeuralArchitecture,
237};
238pub use noise_injection::{
239    robustness_test, AdversarialMethod, NoiseConfig, NoiseInjector, NoiseStatistics, NoiseType,
240    RobustnessTestResult,
241};
242pub use ood_validation::{
243    validate_ood, DistributionShiftMetrics, OODConfidenceIntervals, OODDetectionMethod,
244    OODValidationConfig, OODValidationResult, OODValidator,
245};
246pub use optimizer_plugins::{
247    CustomMetric, Evaluation, HookError, HookManager, LoggingHook, MetricError, MetricRegistry,
248    MiddlewareError, MiddlewarePipeline, NormalizationMiddleware,
249    OptimizationHistory as PluginOptimizationHistory, OptimizationHook, OptimizationMiddleware,
250    OptimizerPlugin, ParameterConstraints as PluginParameterConstraints, PluginConfig, PluginError,
251    PluginFactory, PluginRegistry, StopReason,
252};
253pub use parallel_optimization::{
254    parallel_optimize, BatchAcquisitionStrategy, CommunicationProtocol, ErrorHandlingStrategy,
255    EvaluationResult, LoadBalancingStrategy, ParallelOptimizationConfig,
256    ParallelOptimizationResult, ParallelOptimizer, ParallelStrategy, ProgressReportingConfig,
257    ResourceUtilization, SynchronizationStrategy, WorkerStatistics,
258};
259pub use parameter_space::{
260    CategoricalParameter, ConditionalParameter, ParameterConstraint, ParameterImportanceAnalyzer,
261    ParameterSpace,
262};
263pub use population_based_training::{
264    PBTConfig, PBTConfigFn, PBTParameterSpace, PBTParameters, PBTResult, PBTStatistics, PBTWorker,
265    PopulationBasedTraining, PopulationBasedTrainingCV,
266};
267pub use scoring::{
268    paired_ttest, ClosureScorer, CustomScorer, EnhancedScorer, ScorerRegistry, ScoringConfig,
269    ScoringResult, SignificanceTestResult, TaskType,
270};
271pub use spatial_validation::{
272    DistanceMethod, LeaveOneRegionOut, SpatialClusteringMethod, SpatialCoordinate,
273    SpatialCrossValidator, SpatialValidationConfig,
274};
275pub use temporal_validation::{
276    BlockedTemporalCV, SeasonalCrossValidator, TemporalCrossValidator, TemporalValidationConfig,
277};
278pub use threshold_tuning::{
279    optimize_threshold, FixedThresholdClassifier, OptimizationMetric, ThresholdOptimizationResult,
280    TunedThresholdClassifierCV, TunedThresholdClassifierCVTrained,
281};
282pub use train_test_split::train_test_split;
283pub use validation::{
284    cross_val_predict, cross_val_score, cross_validate, learning_curve, nested_cross_validate,
285    permutation_test_score, validation_curve, CrossValidateResult, LearningCurveResult,
286    NestedCVResult, ParamConfigFn, PermutationTestResult, Scoring, ValidationCurveResult,
287};
288pub use warm_start::{
289    EvaluationRecord, OptimizationHistory, OptimizationStatistics, TransferLearning,
290    WarmStartConfig, WarmStartInitializer, WarmStartStrategy,
291};
292pub use worst_case_validation::{
293    worst_case_validate, AdversarialAttackMethod, CorruptionType, DistributionShiftType,
294    DriftPattern, MissingPattern, NoisePattern, RobustnessMetrics, ScenarioResult,
295    WorstCaseScenario, WorstCaseScenarioGenerator, WorstCaseValidationConfig,
296    WorstCaseValidationResult, WorstCaseValidator,
297};