MarginalSampler: Marginal Sampler Base Class

MarginalSamplerR Documentation

Marginal Sampler Base Class

Description

Abstract base class for marginal sampling strategies that do not condition on other features. Marginal samplers sample from P(X_S), the marginal distribution of features S, ignoring any dependencies with other features.

Details

This class provides a common interface for different marginal sampling approaches:

  • MarginalPermutationSampler: Shuffles features independently within the dataset

  • MarginalReferenceSampler: Samples complete rows from reference data

Both approaches sample from the marginal distribution P(X_S), but differ in how they preserve or break within-row dependencies:

  • Permutation breaks ALL dependencies (both with target and between features)

  • Reference sampling preserves WITHIN-row dependencies but breaks dependencies with test data

Comparison with ConditionalSampler:

  • MarginalSampler: Samples from P(X_S) - no conditioning

  • ConditionalSampler: Samples from P(X_S | X_{-S})- conditions on other features

This base class implements the public ⁠$sample()⁠ and ⁠$sample_newdata()⁠ methods, delegating to private .sample_marginal() which subclasses must implement.

Super class

xplainfi::FeatureSampler -> MarginalSampler

Methods

Public methods

Inherited methods

Method sample()

Sample features from their marginal distribution.

Usage
MarginalSampler$sample(feature, row_ids = NULL)
Arguments
feature

(character()) Feature name(s) to sample.

row_ids

(integer() | NULL) Row IDs from task to use.

Returns

Modified copy with sampled feature(s).


Method sample_newdata()

Sample from external data.

Usage
MarginalSampler$sample_newdata(feature, newdata)
Arguments
feature

(character()) Feature(s) to sample.

newdata

(data.table) External data to use.

Returns

Modified copy with sampled feature(s).


Method clone()

The objects of this class are cloneable with this method.

Usage
MarginalSampler$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.


xplainfi documentation built on Feb. 27, 2026, 1:08 a.m.