SAGE with conditional sampling (features are "marginalized" conditionally). Uses ConditionalARFSampler as default ConditionalSampler.
Super classes
xplainfi::FeatureImportanceMethod -> xplainfi::SAGE -> ConditionalSAGE
Public fields
sampler(ConditionalSampler) Sampler for conditional marginalization.
Methods
Method new()
Creates a new instance of the ConditionalSAGE class.
Usage
ConditionalSAGE$new(
task,
learner,
measure = NULL,
resampling = NULL,
features = NULL,
n_permutations = 10L,
sampler = NULL,
batch_size = 5000L,
n_samples = 100L,
early_stopping = FALSE,
se_threshold = 0.01,
min_permutations = 10L,
check_interval = 1L
)Arguments
task, learner, measure, resampling, features, n_permutations, batch_size, n_samples, early_stopping, se_threshold, min_permutations, check_intervalPassed to SAGE.
sampler(ConditionalSampler) Optional custom sampler. Defaults to ConditionalARFSampler.
Examples
library(mlr3)
task = tgen("friedman1")$generate(n = 100)
# \donttest{
# Using default ConditionalARFSampler (also handles all mixed data)
sage = ConditionalSAGE$new(
task = task,
learner = lrn("regr.ranger", num.trees = 50),
measure = msr("regr.mse"),
n_permutations = 3L,
n_samples = 20
)
#> ℹ No <ConditionalSampler> provided, using <ConditionalARFSampler> with default settings.
#> ℹ No <Resampling> provided, using `resampling = rsmp("holdout", ratio = 2/3)`
#> (test set size: 33)
sage$compute()
# }
# \donttest{
# For alternative conditional samplers:
custom_sampler = ConditionalGaussianSampler$new(
task = task
)
sage_custom = ConditionalSAGE$new(
task = task,
learner = lrn("regr.ranger", num.trees = 50),
measure = msr("regr.mse"),
n_permutations = 5L,
n_samples = 20,
sampler = custom_sampler
)
#> ℹ No <Resampling> provided, using `resampling = rsmp("holdout", ratio = 2/3)`
#> (test set size: 33)
sage_custom$compute()
# }