pub struct FnModel<F> { /* private fields */ }Expand description
A convenience implementation allowing a prediction closure to be used as a SHAP model.
This is particularly useful for model-agnostic explainers.
§Example
use ndarray::{Array2, ArrayView2};
use shap_rs::model::{FnModel, Predict};
let model = FnModel::new(|x: ArrayView2<'_, f64>| -> shap_rs::Result<Array2<f64>> {
let mut output = Array2::<f64>::zeros((x.nrows(), 1));
for i in 0..x.nrows() {
output[[i, 0]] = x[[i, 0]] + x[[i, 1]];
}
Ok(output)
});Implementations§
Source§impl<F> FnModel<F>
impl<F> FnModel<F>
Sourcepub fn with_n_features(self, n_features: usize) -> Self
pub fn with_n_features(self, n_features: usize) -> Self
Sets the expected number of input features.
Sourcepub fn with_n_outputs(self, n_outputs: usize) -> Self
pub fn with_n_outputs(self, n_outputs: usize) -> Self
Sets the number of model outputs.
Sourcepub fn configured_n_features(&self) -> Option<usize>
pub fn configured_n_features(&self) -> Option<usize>
Returns the configured feature count.
Sourcepub fn configured_n_outputs(&self) -> Option<usize>
pub fn configured_n_outputs(&self) -> Option<usize>
Returns the configured output count.
Trait Implementations§
Source§impl<F> Predict for FnModel<F>
impl<F> Predict for FnModel<F>
Source§fn predict(&self, x: ArrayView2<'_, f64>) -> Result<Array2<f64>>
fn predict(&self, x: ArrayView2<'_, f64>) -> Result<Array2<f64>>
Predict outputs for a batch of samples. Read more
Source§fn n_features(&self) -> Option<usize>
fn n_features(&self) -> Option<usize>
Returns the number of input features expected by the model. Read more
Auto Trait Implementations§
impl<F> Freeze for FnModel<F>where
F: Freeze,
impl<F> RefUnwindSafe for FnModel<F>where
F: RefUnwindSafe,
impl<F> Send for FnModel<F>where
F: Send,
impl<F> Sync for FnModel<F>where
F: Sync,
impl<F> Unpin for FnModel<F>where
F: Unpin,
impl<F> UnsafeUnpin for FnModel<F>where
F: UnsafeUnpin,
impl<F> UnwindSafe for FnModel<F>where
F: 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