shap-rs 0.1.0

Native Rust implementations of model-agnostic, linear, and TreeSHAP explainers
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use ndarray::{array, Array2, ArrayView2, Axis};
use shap_rs::{
    explainers::PermutationExplainer, Background, FnModel, ParallelExplainerExt, Result,
};

fn main() -> Result<()> {
    let model = FnModel::new(|x: ArrayView2<'_, f64>| Ok(x.sum_axis(Axis(1)).insert_axis(Axis(1))));
    let explainer = PermutationExplainer::new(model, Background::new(Array2::zeros((1, 2)))?);
    let explanation = explainer.explain_parallel(array![[1.0, 2.0], [3.0, 4.0]].view(), 1)?;
    println!("{:?}", explanation.values());
    Ok(())
}