Skip to main content

KernelFunction

Enum KernelFunction 

Source
pub enum KernelFunction {
    Linear,
    Rbf {
        gamma: Float,
    },
    Polynomial {
        degree: i32,
        gamma: Float,
        coef0: Float,
    },
    Sigmoid {
        gamma: Float,
        coef0: Float,
    },
    Laplacian {
        gamma: Float,
    },
    ChiSquared {
        gamma: Float,
    },
}
Expand description

Kernel functions for Kernel PCA

Variants§

§

Linear

Linear kernel: K(x, y) = <x, y>

§

Rbf

RBF (Gaussian) kernel: K(x, y) = exp(-gamma * ||x - y||^2)

Fields

§gamma: Float
§

Polynomial

Polynomial kernel: K(x, y) = (gamma * <x, y> + coef0)^degree

Fields

§degree: i32
§gamma: Float
§coef0: Float
§

Sigmoid

Sigmoid kernel: K(x, y) = tanh(gamma * <x, y> + coef0)

Fields

§gamma: Float
§coef0: Float
§

Laplacian

Laplacian kernel: K(x, y) = exp(-gamma * ||x - y||_1)

Fields

§gamma: Float
§

ChiSquared

Chi-squared kernel: K(x, y) = exp(-gamma * sum((x_i - y_i)^2 / (x_i + y_i)))

Fields

§gamma: Float

Implementations§

Source§

impl KernelFunction

Source

pub fn compute(&self, x: &Array1<Float>, y: &Array1<Float>) -> Float

Compute kernel value between two vectors

Source

pub fn compute_matrix( &self, x: &Array2<Float>, y: &Array2<Float>, ) -> Array2<Float>

Compute kernel matrix between two sets of vectors

Source§

impl KernelFunction

Kernel selection and validation utilities

Source

pub fn validate(&self) -> Result<()>

Validate kernel parameters for numerical stability

Source

pub fn evaluate_performance( &self, x: &Array2<Float>, n_components: usize, cv_folds: usize, ) -> Result<Float>

Evaluate kernel performance on given data using cross-validation

Source

pub fn select_best_kernel( kernels: &[KernelFunction], x: &Array2<Float>, n_components: usize, cv_folds: usize, ) -> Result<(KernelFunction, Float)>

Select best kernel from a list of candidates using cross-validation

Source

pub fn generate_kernel_grid() -> Vec<KernelFunction>

Generate a grid of kernel candidates for hyperparameter tuning

Trait Implementations§

Source§

impl Clone for KernelFunction

Source§

fn clone(&self) -> KernelFunction

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for KernelFunction

Source§

impl Debug for KernelFunction

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for KernelFunction

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V