pub struct PCA {
pub n_components: Option<usize>,
pub svd_solver: SvdSolver,
pub center: bool,
pub scale: bool,
pub random_state: Option<u64>,
}Expand description
Principal Component Analysis
Fields§
§n_components: Option<usize>Number of components to keep
svd_solver: SvdSolverWhether to use SVD instead of eigendecomposition
center: boolWhether to center the data
scale: boolWhether to scale the data to unit variance
random_state: Option<u64>Random state for randomized solver
Implementations§
Source§impl PCA
impl PCA
Sourcepub fn with_n_components(self, n_components: usize) -> Self
pub fn with_n_components(self, n_components: usize) -> Self
Set the number of components to keep
Sourcepub fn with_svd_solver(self, solver: SvdSolver) -> Self
pub fn with_svd_solver(self, solver: SvdSolver) -> Self
Set the SVD solver
Sourcepub fn with_center(self, center: bool) -> Self
pub fn with_center(self, center: bool) -> Self
Enable or disable centering
Sourcepub fn with_scale(self, scale: bool) -> Self
pub fn with_scale(self, scale: bool) -> Self
Enable or disable scaling
Sourcepub fn with_random_state(self, seed: u64) -> Self
pub fn with_random_state(self, seed: u64) -> Self
Set random state for reproducibility
Sourcepub fn fit(&self, data: ArrayView2<'_, f64>) -> Result<PCAResult>
pub fn fit(&self, data: ArrayView2<'_, f64>) -> Result<PCAResult>
Fit the PCA model to the data
Sourcepub fn transform(
&self,
data: ArrayView2<'_, f64>,
result: &PCAResult,
) -> Result<Array2<f64>>
pub fn transform( &self, data: ArrayView2<'_, f64>, result: &PCAResult, ) -> Result<Array2<f64>>
Transform data using the fitted PCA model
Sourcepub fn inverse_transform(
&self,
data: ArrayView2<'_, f64>,
result: &PCAResult,
) -> Result<Array2<f64>>
pub fn inverse_transform( &self, data: ArrayView2<'_, f64>, result: &PCAResult, ) -> Result<Array2<f64>>
Inverse transform from component space back to original space
Sourcepub fn fit_transform(
&self,
data: ArrayView2<'_, f64>,
) -> Result<(Array2<f64>, PCAResult)>
pub fn fit_transform( &self, data: ArrayView2<'_, f64>, ) -> Result<(Array2<f64>, PCAResult)>
Fit and transform in one step
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PCA
impl RefUnwindSafe for PCA
impl Send for PCA
impl Sync for PCA
impl Unpin for PCA
impl UnsafeUnpin for PCA
impl UnwindSafe for PCA
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.