pub struct StructuredRandomFeatures<State = Untrained> {
pub n_components: usize,
pub gamma: Float,
pub structured_matrix: StructuredMatrix,
pub random_state: Option<u64>,
/* private fields */
}Expand description
Structured orthogonal random features
Uses structured random matrices to approximate RBF kernels more efficiently than standard random Fourier features. The structured approach reduces computational complexity from O(dD) to O(dlog(D)) for certain operations.
§Parameters
n_components- Number of random features to generategamma- RBF kernel parameter (default: 1.0)structured_matrix- Type of structured matrix to userandom_state- Random seed for reproducibility
§Examples
ⓘ
use sklears_kernel_approximation::structured_random_features::{Fields§
§n_components: usize§gamma: Float§structured_matrix: StructuredMatrix§random_state: Option<u64>Implementations§
Source§impl StructuredRandomFeatures<Untrained>
impl StructuredRandomFeatures<Untrained>
Sourcepub fn structured_matrix(self, matrix_type: StructuredMatrix) -> Self
pub fn structured_matrix(self, matrix_type: StructuredMatrix) -> Self
Set the structured matrix type
Sourcepub fn random_state(self, seed: u64) -> Self
pub fn random_state(self, seed: u64) -> Self
Set random state for reproducibility
Trait Implementations§
Source§impl<State: Clone> Clone for StructuredRandomFeatures<State>
impl<State: Clone> Clone for StructuredRandomFeatures<State>
Source§fn clone(&self) -> StructuredRandomFeatures<State>
fn clone(&self) -> StructuredRandomFeatures<State>
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<State: Debug> Debug for StructuredRandomFeatures<State>
impl<State: Debug> Debug for StructuredRandomFeatures<State>
Source§impl Estimator for StructuredRandomFeatures<Untrained>
impl Estimator for StructuredRandomFeatures<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 Fit<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, ()> for StructuredRandomFeatures<Untrained>
impl Fit<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, ()> for StructuredRandomFeatures<Untrained>
Source§type Fitted = StructuredRandomFeatures<Trained>
type Fitted = StructuredRandomFeatures<Trained>
The fitted model type
Source§fn fit(self, x: &Array2<Float>, _y: &()) -> Result<Self::Fitted>
fn fit(self, x: &Array2<Float>, _y: &()) -> Result<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
Auto Trait Implementations§
impl<State> Freeze for StructuredRandomFeatures<State>
impl<State> RefUnwindSafe for StructuredRandomFeatures<State>where
State: RefUnwindSafe,
impl<State> Send for StructuredRandomFeatures<State>where
State: Send,
impl<State> Sync for StructuredRandomFeatures<State>where
State: Sync,
impl<State> Unpin for StructuredRandomFeatures<State>where
State: Unpin,
impl<State> UnwindSafe for StructuredRandomFeatures<State>where
State: 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