pub struct OrthogonalRandomFeatures { /* private fields */ }Expand description
Orthogonal Random Features for improved variance.
Uses orthogonalized random matrices for better approximation quality, especially for smaller n_components.
Reference: Yu et al. (2016). “Orthogonal Random Features.”
Implementations§
Source§impl OrthogonalRandomFeatures
impl OrthogonalRandomFeatures
Sourcepub fn new(input_dim: usize, config: RffConfig) -> Result<Self>
pub fn new(input_dim: usize, config: RffConfig) -> Result<Self>
Create orthogonal random features.
Note: For simplicity, this currently uses standard RFF. Full orthogonalization would require QR decomposition.
Sourcepub fn transform_batch(&self, data: &[Vec<f64>]) -> Result<Vec<Vec<f64>>>
pub fn transform_batch(&self, data: &[Vec<f64>]) -> Result<Vec<Vec<f64>>>
Transform multiple input vectors.
Sourcepub fn output_dim(&self) -> usize
pub fn output_dim(&self) -> usize
Get the output dimension.
Trait Implementations§
Source§impl Clone for OrthogonalRandomFeatures
impl Clone for OrthogonalRandomFeatures
Source§fn clone(&self) -> OrthogonalRandomFeatures
fn clone(&self) -> OrthogonalRandomFeatures
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 moreAuto Trait Implementations§
impl Freeze for OrthogonalRandomFeatures
impl RefUnwindSafe for OrthogonalRandomFeatures
impl Send for OrthogonalRandomFeatures
impl Sync for OrthogonalRandomFeatures
impl Unpin for OrthogonalRandomFeatures
impl UnwindSafe for OrthogonalRandomFeatures
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 more