pub struct ExplainabilityCallback { /* private fields */ }Expand description
Callback for computing feature attributions during training
Integrates with aprender’s interpret module to provide explainability insights during model evaluation.
§Example
ⓘ
use entrenar::train::{ExplainabilityCallback, ExplainMethod};
let callback = ExplainabilityCallback::new(ExplainMethod::PermutationImportance)
.with_top_k(5)
.with_eval_samples(100);Implementations§
Source§impl ExplainabilityCallback
impl ExplainabilityCallback
Sourcepub fn new(method: ExplainMethod) -> Self
pub fn new(method: ExplainMethod) -> Self
Sourcepub fn with_top_k(self, k: usize) -> Self
pub fn with_top_k(self, k: usize) -> Self
Set number of top features to track
Sourcepub fn with_eval_samples(self, n: usize) -> Self
pub fn with_eval_samples(self, n: usize) -> Self
Set number of samples to use for evaluation
Sourcepub fn with_feature_names(self, names: Vec<String>) -> Self
pub fn with_feature_names(self, names: Vec<String>) -> Self
Set feature names for interpretability
Sourcepub fn method(&self) -> ExplainMethod
pub fn method(&self) -> ExplainMethod
Get attribution method
Sourcepub fn eval_samples(&self) -> usize
pub fn eval_samples(&self) -> usize
Get eval samples setting
Sourcepub fn results(&self) -> &[FeatureImportanceResult]
pub fn results(&self) -> &[FeatureImportanceResult]
Get all computed results
Sourcepub fn feature_names(&self) -> Option<&[String]>
pub fn feature_names(&self) -> Option<&[String]>
Get feature names if set
Sourcepub fn record_importances(
&mut self,
epoch: usize,
importances: Vec<(usize, f32)>,
)
pub fn record_importances( &mut self, epoch: usize, importances: Vec<(usize, f32)>, )
Record feature importances for an epoch
Call this during on_epoch_end with computed importances
Sourcepub fn compute_permutation_importance<P>(
&self,
predict_fn: P,
x: &[Vector<f32>],
y: &[f32],
) -> Vec<(usize, f32)>
pub fn compute_permutation_importance<P>( &self, predict_fn: P, x: &[Vector<f32>], y: &[f32], ) -> Vec<(usize, f32)>
Compute permutation importance using aprender
§Arguments
predict_fn- Model prediction functionx- Feature vectorsy- Target values
Sourcepub fn compute_integrated_gradients<F>(
&self,
model_fn: F,
sample: &Vector<f32>,
baseline: &Vector<f32>,
) -> Vec<(usize, f32)>
pub fn compute_integrated_gradients<F>( &self, model_fn: F, sample: &Vector<f32>, baseline: &Vector<f32>, ) -> Vec<(usize, f32)>
Compute integrated gradients using aprender
§Arguments
model_fn- Model prediction functionsample- Input sample to explainbaseline- Baseline input (typically zeros)
Sourcepub fn compute_saliency<F>(
&self,
model_fn: F,
sample: &Vector<f32>,
) -> Vec<(usize, f32)>
pub fn compute_saliency<F>( &self, model_fn: F, sample: &Vector<f32>, ) -> Vec<(usize, f32)>
Compute saliency map using aprender
§Arguments
model_fn- Model prediction functionsample- Input sample to explain
Sourcepub fn consistent_top_features(&self) -> Vec<(usize, f32)>
pub fn consistent_top_features(&self) -> Vec<(usize, f32)>
Get top features that have been consistently important across epochs
Trait Implementations§
Source§impl Debug for ExplainabilityCallback
impl Debug for ExplainabilityCallback
Source§impl TrainerCallback for ExplainabilityCallback
impl TrainerCallback for ExplainabilityCallback
Source§fn on_epoch_end(&mut self, ctx: &CallbackContext) -> CallbackAction
fn on_epoch_end(&mut self, ctx: &CallbackContext) -> CallbackAction
Called after each epoch
Source§fn on_train_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_train_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called before training starts
Source§fn on_train_end(&mut self, _ctx: &CallbackContext)
fn on_train_end(&mut self, _ctx: &CallbackContext)
Called after training ends
Source§fn on_epoch_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_epoch_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called before each epoch
Source§fn on_step_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_step_begin(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called before each training step
Source§fn on_step_end(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_step_end(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called after each training step
Source§fn on_validation(&mut self, _ctx: &CallbackContext) -> CallbackAction
fn on_validation(&mut self, _ctx: &CallbackContext) -> CallbackAction
Called when validation is performed
Auto Trait Implementations§
impl Freeze for ExplainabilityCallback
impl RefUnwindSafe for ExplainabilityCallback
impl Send for ExplainabilityCallback
impl Sync for ExplainabilityCallback
impl Unpin for ExplainabilityCallback
impl UnwindSafe for ExplainabilityCallback
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
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 more