pub struct RandomFourierFeaturesGPR<S = Untrained> { /* private fields */ }Expand description
Random Fourier Features Gaussian Process Regressor
This implementation combines Random Fourier Features with linear regression to approximate Gaussian Process regression at O(nD) computational complexity. The approach maintains uncertainty estimates through Bayesian linear regression in the feature space.
§Examples
use sklears_gaussian_process::{RandomFourierFeaturesGPR, kernels::RBF};
use sklears_core::traits::{Fit, Predict};
// SciRS2 Policy - Use scirs2-autograd for ndarray types and operations
use scirs2_core::ndarray::array;
let X = array![[1.0], [2.0], [3.0], [4.0], [5.0], [6.0]];
let y = array![1.0, 4.0, 9.0, 16.0, 25.0, 36.0];
let rff_gpr = RandomFourierFeaturesGPR::new()
.n_components(50)
.gamma(1.0)
.alpha(1e-3);
let fitted = rff_gpr.fit(&X.view(), &y.view()).unwrap();
let predictions = fitted.predict(&X.view()).unwrap();Implementations§
Source§impl RandomFourierFeaturesGPR<Untrained>
impl RandomFourierFeaturesGPR<Untrained>
Sourcepub fn n_components(self, n_components: usize) -> Self
pub fn n_components(self, n_components: usize) -> Self
Set the number of random features
Sourcepub fn random_state(self, random_state: Option<u64>) -> Self
pub fn random_state(self, random_state: Option<u64>) -> Self
Set the random state
Source§impl RandomFourierFeaturesGPR<RffGprTrained>
impl RandomFourierFeaturesGPR<RffGprTrained>
Sourcepub fn predict_with_std(
&self,
X: &ArrayView2<'_, f64>,
) -> SklResult<(Array1<f64>, Array1<f64>)>
pub fn predict_with_std( &self, X: &ArrayView2<'_, f64>, ) -> SklResult<(Array1<f64>, Array1<f64>)>
Predict with uncertainty estimates
Sourcepub fn log_marginal_likelihood(&self) -> f64
pub fn log_marginal_likelihood(&self) -> f64
Get the log marginal likelihood
Sourcepub fn weights_covariance(&self) -> &Array2<f64>
pub fn weights_covariance(&self) -> &Array2<f64>
Get the posterior covariance of weights
Sourcepub fn rff_transformer(&self) -> &RandomFourierFeatures
pub fn rff_transformer(&self) -> &RandomFourierFeatures
Get the fitted Random Fourier Features transformer
Trait Implementations§
Source§impl<S: Clone> Clone for RandomFourierFeaturesGPR<S>
impl<S: Clone> Clone for RandomFourierFeaturesGPR<S>
Source§fn clone(&self) -> RandomFourierFeaturesGPR<S>
fn clone(&self) -> RandomFourierFeaturesGPR<S>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<S: Debug> Debug for RandomFourierFeaturesGPR<S>
impl<S: Debug> Debug for RandomFourierFeaturesGPR<S>
Source§impl Default for RandomFourierFeaturesGPR<Untrained>
impl Default for RandomFourierFeaturesGPR<Untrained>
Source§impl Estimator for RandomFourierFeaturesGPR<Untrained>
impl Estimator for RandomFourierFeaturesGPR<Untrained>
Source§type Error = SklearsError
type Error = SklearsError
Error type for the estimator
Source§fn validate_config(&self) -> Result<(), SklearsError>
fn validate_config(&self) -> Result<(), SklearsError>
Validate estimator configuration with detailed error context
Source§fn check_compatibility(
&self,
n_samples: usize,
n_features: usize,
) -> Result<(), SklearsError>
fn check_compatibility( &self, n_samples: usize, n_features: usize, ) -> Result<(), SklearsError>
Check if estimator is compatible with given data dimensions
Source§fn metadata(&self) -> EstimatorMetadata
fn metadata(&self) -> EstimatorMetadata
Get estimator metadata
Source§impl Estimator for RandomFourierFeaturesGPR<RffGprTrained>
impl Estimator for RandomFourierFeaturesGPR<RffGprTrained>
Source§type Error = SklearsError
type Error = SklearsError
Error type for the estimator
Source§fn validate_config(&self) -> Result<(), SklearsError>
fn validate_config(&self) -> Result<(), SklearsError>
Validate estimator configuration with detailed error context
Source§fn check_compatibility(
&self,
n_samples: usize,
n_features: usize,
) -> Result<(), SklearsError>
fn check_compatibility( &self, n_samples: usize, n_features: usize, ) -> Result<(), SklearsError>
Check if estimator is compatible with given data dimensions
Source§fn metadata(&self) -> EstimatorMetadata
fn metadata(&self) -> EstimatorMetadata
Get estimator metadata
Source§impl Fit<ArrayBase<ViewRepr<&f64>, Dim<[usize; 2]>>, ArrayBase<ViewRepr<&f64>, Dim<[usize; 1]>>> for RandomFourierFeaturesGPR<Untrained>
impl Fit<ArrayBase<ViewRepr<&f64>, Dim<[usize; 2]>>, ArrayBase<ViewRepr<&f64>, Dim<[usize; 1]>>> for RandomFourierFeaturesGPR<Untrained>
Source§type Fitted = RandomFourierFeaturesGPR<RffGprTrained>
type Fitted = RandomFourierFeaturesGPR<RffGprTrained>
The fitted model type
Source§fn fit(
self,
X: &ArrayView2<'_, f64>,
y: &ArrayView1<'_, f64>,
) -> SklResult<Self::Fitted>
fn fit( self, X: &ArrayView2<'_, f64>, y: &ArrayView1<'_, f64>, ) -> SklResult<Self::Fitted>
Fit the model to the provided data with validation
Source§fn fit_with_validation(
self,
x: &X,
y: &Y,
_x_val: Option<&X>,
_y_val: Option<&Y>,
) -> Result<(Self::Fitted, FitMetrics), SklearsError>where
Self: Sized,
fn fit_with_validation(
self,
x: &X,
y: &Y,
_x_val: Option<&X>,
_y_val: Option<&Y>,
) -> Result<(Self::Fitted, FitMetrics), SklearsError>where
Self: Sized,
Fit with custom validation and early stopping
Source§impl Predict<ArrayBase<ViewRepr<&f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>> for RandomFourierFeaturesGPR<RffGprTrained>
impl Predict<ArrayBase<ViewRepr<&f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>> for RandomFourierFeaturesGPR<RffGprTrained>
Source§fn predict(&self, X: &ArrayView2<'_, f64>) -> SklResult<Array1<f64>>
fn predict(&self, X: &ArrayView2<'_, f64>) -> SklResult<Array1<f64>>
Make predictions on the provided data
Source§fn predict_with_uncertainty(
&self,
x: &X,
) -> Result<(Output, UncertaintyMeasure), SklearsError>
fn predict_with_uncertainty( &self, x: &X, ) -> Result<(Output, UncertaintyMeasure), SklearsError>
Make predictions with confidence intervals
Auto Trait Implementations§
impl<S> Freeze for RandomFourierFeaturesGPR<S>where
S: Freeze,
impl<S> RefUnwindSafe for RandomFourierFeaturesGPR<S>where
S: RefUnwindSafe,
impl<S> Send for RandomFourierFeaturesGPR<S>where
S: Send,
impl<S> Sync for RandomFourierFeaturesGPR<S>where
S: Sync,
impl<S> Unpin for RandomFourierFeaturesGPR<S>where
S: Unpin,
impl<S> UnwindSafe for RandomFourierFeaturesGPR<S>where
S: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> StableApi for Twhere
T: Estimator,
impl<T> StableApi for Twhere
T: Estimator,
Source§const STABLE_SINCE: &'static str = "0.1.0"
const STABLE_SINCE: &'static str = "0.1.0"
API version this type was stabilized in
Source§const HAS_EXPERIMENTAL_FEATURES: bool = false
const HAS_EXPERIMENTAL_FEATURES: bool = false
Whether this API has any experimental features