FeatureEffects {iml} | R Documentation |
Effect of a feature on predictions
Description
FeatureEffects
computes and plots feature effects
of multiple features at once.
Details
FeatureEffects computes the effects for all given features on the model
prediction. FeatureEffects is a convenience class that calls FeatureEffect
multiple times. See ?FeatureEffect
for details what's actually computed.
Only first-order effects can be computed with the FeatureEffects interface. If you are interested in the visualization of interactions between two features, directly use FeatureEffect.
Parallelization
Parallelization is supported via package future. To initialize future-based parallelization, select an appropriate backend and specify the amount of workers. For example, to use a PSOCK based cluster backend do:
future::plan(multisession, workers = 2) <iml function here>
Consult the resources of the future package for more parallel backend options.
Super class
iml::InterpretationMethod
-> FeatureEffects
Public fields
grid.size
(
numeric(1)
|numeric(2)
)
The size of the grid.method
(
character(1)
)
"ale" for accumulated local effects,
"pdp" for partial dependence plot,
"ice" for individual conditional expectation curves,
"pdp+ ice" for partial dependence plot and ice curves within the same plot.
effects
(list)
Named list of FeatureEffects.features
(
character()
)
The names of the features for which the effects were computed.center.at
numeric
Value at which the plot was centered. Ignored in the case of two features.
Methods
Public methods
Inherited methods
Method new()
Create a FeatureEffects object
Usage
FeatureEffects$new( predictor, features = NULL, method = "ale", center.at = NULL, grid.size = 20 )
Arguments
predictor
Predictor
The object (created withPredictor$new()
) holding the machine learning model and the data.features
(
character()
)
The names of the features for which to compute the feature effects.method
(
character(1)
)
'ale' for accumulated local effects,
'pdp' for partial dependence plot,
'ice' for individual conditional expectation curves,
'pdp+ice' for partial dependence plot and ice curves within the same plot.
center.at
(
numeric(1)
)
Value at which the plot should be centered. Ignored in the case of two features.grid.size
(
numeric(1)
|numeric(2)
)
The size of the grid for evaluating the predictions.feature
(
character(1)
|character(2)
|numeric(1)
|numeric(2)
)
The feature name or index for which to compute the effects.
Method clone()
The objects of this class are cloneable with this method.
Usage
FeatureEffects$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
References
Apley, D. W. 2016. "Visualizing the Effects of Predictor Variables in Black Box Supervised Learning Models." ArXiv Preprint.
Friedman, J.H. 2001. "Greedy Function Approximation: A Gradient Boosting Machine." Annals of Statistics 29: 1189-1232.
Goldstein, A., Kapelner, A., Bleich, J., and Pitkin, E. (2013). Peeking Inside the Black Box: Visualizing Statistical Learning with Plots of Individual Conditional Expectation, 1-22. https://doi.org/10.1080/10618600.2014.907095
See Also
Examples
# We train a random forest on the Boston dataset:
library("rpart")
data("Boston", package = "MASS")
rf <- rpart(medv ~ ., data = Boston)
mod <- Predictor$new(rf, data = Boston)
# Compute the accumulated local effects for all features
eff <- FeatureEffects$new(mod)
eff$plot()
## Not run:
# Again, but this time with a partial dependence plot
eff <- FeatureEffects$new(mod, method = "pdp")
eff$plot()
# Only a subset of features
eff <- FeatureEffects$new(mod, features = c("nox", "crim"))
eff$plot()
# You can access each FeatureEffect individually
eff.nox <- eff$effects[["nox"]]
eff.nox$plot()
# FeatureEffects also works with multiclass classification
rf <- rpart(Species ~ ., data = iris)
mod <- Predictor$new(rf, data = iris, type = "prob")
FeatureEffects$new(mod)$plot(ncol = 2)
## End(Not run)