Kernel

Trait Kernel 

Source
pub trait Kernel:
    Debug
    + Send
    + Sync {
    // Required methods
    fn compute_kernel_matrix(
        &self,
        X1: &Array2<f64>,
        X2: Option<&Array2<f64>>,
    ) -> SklResult<Array2<f64>>;
    fn kernel(&self, x1: &ArrayView1<'_, f64>, x2: &ArrayView1<'_, f64>) -> f64;
    fn get_params(&self) -> Vec<f64>;
    fn set_params(&mut self, params: &[f64]) -> SklResult<()>;
    fn clone_box(&self) -> Box<dyn Kernel>;

    // Provided methods
    fn compute_kernel_gradient(
        &self,
        X1: &Array2<f64>,
        X2: Option<&Array2<f64>>,
    ) -> SklResult<Vec<Array2<f64>>> { ... }
    fn kernel_gradient(
        &self,
        x1: &ArrayView1<'_, f64>,
        x2: &ArrayView1<'_, f64>,
    ) -> SklResult<Vec<f64>> { ... }
}
Expand description

Kernel trait for Gaussian Process models

All kernel functions implement this trait to provide consistent interface for computing kernel matrices, gradients, and parameter management.

Required Methods§

Source

fn compute_kernel_matrix( &self, X1: &Array2<f64>, X2: Option<&Array2<f64>>, ) -> SklResult<Array2<f64>>

Compute the kernel matrix between X1 and X2

Source

fn kernel(&self, x1: &ArrayView1<'_, f64>, x2: &ArrayView1<'_, f64>) -> f64

Compute the kernel between two points

Source

fn get_params(&self) -> Vec<f64>

Get hyperparameters

Source

fn set_params(&mut self, params: &[f64]) -> SklResult<()>

Set hyperparameters

Source

fn clone_box(&self) -> Box<dyn Kernel>

Clone the kernel

Provided Methods§

Source

fn compute_kernel_gradient( &self, X1: &Array2<f64>, X2: Option<&Array2<f64>>, ) -> SklResult<Vec<Array2<f64>>>

Compute the gradient of the kernel matrix with respect to hyperparameters Returns a vector of gradient matrices, one for each hyperparameter

Source

fn kernel_gradient( &self, x1: &ArrayView1<'_, f64>, x2: &ArrayView1<'_, f64>, ) -> SklResult<Vec<f64>>

Compute the gradient of the kernel function with respect to hyperparameters for a single pair of points

Trait Implementations§

Source§

impl Clone for Box<dyn Kernel>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more

Implementors§