sklears_gaussian_process/
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//! Gaussian Process models for regression and classification
9//!
10//! This module is part of sklears, providing scikit-learn compatible
11//! machine learning algorithms in Rust.
12
13// #![warn(missing_docs)]
14
15// Module declarations
16pub mod automatic_kernel;
17// pub mod batch_bayesian_optimization;
18pub mod bayesian_optimization;
19pub mod classification;
20// pub mod constrained_bayesian_optimization;
21pub mod convolution_processes;
22pub mod deep_gp;
23pub mod features;
24pub mod fitc;
25pub mod gpr;
26pub mod heteroscedastic;
27pub mod hierarchical;
28pub mod intrinsic_coregionalization;
29pub mod kernel_optimization;
30pub mod kernel_selection;
31pub mod kernel_structure_learning;
32pub mod kernel_trait;
33pub mod kernels;
34pub mod linear_model_coregionalization;
35pub mod marginal_likelihood;
36// pub mod multi_objective;
37pub mod multi_task;
38pub mod noise_function_learning;
39pub mod nystrom;
40pub mod regression;
41pub mod robust;
42pub mod sparse_gpr;
43pub mod sparse_spectrum;
44pub mod spatial;
45pub mod structured_kernel_interpolation;
46// pub mod temporal;
47pub mod utils;
48pub mod variational;
49pub mod variational_deep_gp;
50
51// Re-exports for convenient access
52pub use automatic_kernel::{
53    AutomaticKernelConstructor, DataCharacteristics, KernelConstructionResult,
54};
55// pub use batch_bayesian_optimization::{
56//     BatchAcquisition, BatchBayesianOptimizer, BatchBayesianOptimizerBuilder, BatchConfig,
57//     BatchOptimizationResult, DistanceMetric,
58// };
59pub use bayesian_optimization::{AcquisitionFunction, BayesianOptimizer, BayesianOptimizerFitted};
60pub use classification::{
61    sigmoid, sigmoid_derivative, EpGpcTrained, ExpectationPropagationGaussianProcessClassifier,
62    GaussianProcessClassifier, GpcConfig, GpcTrained, McGpcTrained,
63    MultiClassGaussianProcessClassifier,
64};
65// pub use constrained_bayesian_optimization::{
66//     ConstrainedAcquisition, ConstrainedBayesianOptimizer, ConstrainedBayesianOptimizerBuilder,
67//     ConstraintApproximation, ConstraintConfig, ConstraintEvaluation, ConstraintFunction,
68//     FeasibilityAnalysis,
69// };
70// TODO: Re-enable when modules are fully implemented
71// pub use convolution_processes::{ConvolutionProcess, ConvolutionProcessTrained};
72// pub use deep_gp::{DeepGPConfig, DeepGPLayer, DeepGaussianProcessRegressor};
73pub use features::{RandomFourierFeatures, RandomFourierFeaturesGPR, RffGprTrained};
74// TODO: Re-enable when FITC is fully implemented
75// pub use fitc::{
76//     FitcGaussianProcessRegressor, FitcGaussianProcessRegressorConfig, FitcGprTrained,
77//     InducingPointInit as FitcInducingPointInit,
78// };
79pub use gpr::{GaussianProcessRegressor, GprTrained};
80pub use heteroscedastic::{
81    ConstantNoise, HeteroscedasticGaussianProcessRegressor, LearnableNoiseFunction, LinearNoise,
82    NeuralNetworkNoise, NoiseFunction, PolynomialNoise, Trained as HeteroscedasticGprTrained,
83};
84pub use hierarchical::{HierarchicalGPConfig, HierarchicalGaussianProcessRegressor};
85pub use intrinsic_coregionalization::{IcmTrained, IntrinsicCoregionalizationModel};
86pub use kernel_optimization::OptimizationResult as KernelOptimizationResult;
87pub use kernel_optimization::{optimize_kernel_parameters, KernelOptimizer};
88pub use linear_model_coregionalization::{LinearModelCoregionalization, LmcTrained};
89// TODO: Re-enable when kernel_selection is fully implemented
90// pub use kernel_selection::{
91//     select_best_kernel, select_kernel_aic, select_kernel_bic, select_kernel_cv,
92//     KernelSelectionConfig, KernelSelectionResult, KernelSelector, SelectionCriterion,
93// };
94pub use kernel_structure_learning::{
95    ConvergenceInfo, KernelGrammar, KernelStructureLearner, NonTerminalOperation, SearchStrategy,
96    StructureLearningResult, TerminalKernel,
97};
98pub use marginal_likelihood::OptimizationResult as MarginalLikelihoodOptimizationResult;
99pub use marginal_likelihood::{
100    cross_validate_hyperparameters, log_marginal_likelihood, log_marginal_likelihood_stable,
101    optimize_hyperparameters, MarginalLikelihoodOptimizer,
102};
103// pub use multi_objective::{
104//     MultiObjectiveAcquisition, MultiObjectiveBayesianOptimizer, MultiObjectiveConfig,
105//     ParetoFrontier, ScalarizationMethod, Trained as MultiObjectiveTrained,
106// };
107pub use multi_task::{MtgpTrained, MultiTaskGaussianProcessRegressor};
108pub use noise_function_learning::{
109    AdaptiveRegularization, AutomaticNoiseFunctionSelector, CombinationMethod,
110    EnsembleNoiseFunction, InformationCriterion, NoiseFunctionEvaluation,
111};
112pub use nystrom::{LandmarkSelection, NystromGaussianProcessRegressor, NystromGprTrained};
113pub use regression::{
114    MogprTrained, MultiOutputGaussianProcessRegressor, VariationalOptimizer,
115    VariationalSparseGaussianProcessRegressor, VsgprTrained,
116};
117pub use robust::{
118    OutlierDetectionMethod, RobustGPConfig, RobustGaussianProcessRegressor, RobustLikelihood,
119    RobustnessMetrics, Trained as RobustGprTrained,
120};
121pub use sparse_gpr::{InducingPointInit, SgprTrained, SparseGaussianProcessRegressor};
122pub use sparse_spectrum::{
123    SparseSpectrumGaussianProcessRegressor, SparseSpectrumGprTrained, SpectralApproximationInfo,
124    SpectralSelectionMethod,
125};
126pub use spatial::{
127    KrigingType, SpatialGPConfig, SpatialGaussianProcessRegressor, SpatialKernel,
128    Trained as SpatialGprTrained, Variogram,
129};
130pub use structured_kernel_interpolation::{
131    GridBoundsMethod, InterpolationMethod, SkiApproximationInfo, SkiGprTrained,
132    StructuredKernelInterpolationGPR,
133};
134// pub use temporal::{
135//     SeasonalDecomposition, StateSpaceModel, TemporalGPConfig, TemporalGaussianProcessRegressor,
136//     TemporalKernel, Trained as TemporalGprTrained,
137// };
138// TODO: Re-enable when variational is fully implemented
139// pub use variational::{
140//     SparseGaussianProcessClassifier, SgpcTrained, VariationalGaussianProcessClassifier,
141//     VariationalGpcConfig, VariationalGpcTrained,
142// };
143pub use variational_deep_gp::{
144    VariationalDeepGPBuilder, VariationalDeepGPConfig, VariationalDeepGaussianProcess,
145    VariationalLayerConfig, VariationalLayerParameters, VariationalLikelihood,
146};
147
148// Re-export common kernel types
149pub use kernels::{Kernel, ARDRBF, RBF};