The FME is a forward difference in prediction due to a specified change in feature values.
Public fields
feature
vector of features
predictor
Predictor
objectstep.size
vector of step sizes for features specified by "feature"
data.step
the data.table with the data matrix after the step
ep.method
string specifying extrapolation detection method
compute.nlm
logical specifying if NLM should be computed
nlm.intervals
number of intervals for computing NLMs
step.type
"numerical"
or"categorical"
extrapolation.ids
vector of observation ids classified as extrapolation points
results
data.table with FMEs and NLMs computed
ame
Average Marginal Effect (AME) of observations in
results
anlm
Average Non-linearity Measure (ANLM) of observations in
results
computed
logical specifying if compute() has been run
Methods
Method new()
Create a new ForwardMarginalEffect object.
Usage
ForwardMarginalEffect$new(
predictor,
features,
ep.method = "none",
compute.nlm = FALSE,
nlm.intervals = 1
)
Arguments
predictor
Predictor
object.features
A named list with the feature name(s) and step size(s).
ep.method
String specifying extrapolation detection method.
compute.nlm
Compute NLM with FMEs? Defaults to
FALSE
.nlm.intervals
How many intervals for NLM computation. Defaults to
1
.
Examples
# Train a model:
library(mlr3verse)
library(ranger)
data(bikes, package = "fmeffects")
forest = lrn("regr.ranger")$train(as_task_regr(x = bikes, target = "count"))
# Create an `ForwardMarginalEffect` object:
effects = ForwardMarginalEffect$new(makePredictor(forest, bikes),
features = list("temp" = 1, "humidity" = 0.01),
ep.method = "envelope")
Method compute()
Computes results, i.e., FME (and NLMs) for non-extrapolation points, for a ForwardMarginalEffect
object.
Method plot()
Plots results, i.e., FME (and NLMs) for non-extrapolation points, for an FME
object.
Arguments
with.nlm
Plots NLMs if computed, defaults to
FALSE
.bins
Numeric vector giving number of bins in both vertical and horizontal directions. Applies only to univariate or bivariate numeric effects. See
ggplot2::stat_summary_hex()
for details.binwidth
Numeric vector giving bin width in both vertical and horizontal directions. Overrides bins if both set. Applies only to univariate or bivariate numeric effects. See
ggplot2::stat_summary_hex()
for details.
Examples
## ------------------------------------------------
## Method `ForwardMarginalEffect$new`
## ------------------------------------------------
# Train a model:
library(mlr3verse)
library(ranger)
data(bikes, package = "fmeffects")
forest = lrn("regr.ranger")$train(as_task_regr(x = bikes, target = "count"))
# Create an `ForwardMarginalEffect` object:
effects = ForwardMarginalEffect$new(makePredictor(forest, bikes),
features = list("temp" = 1, "humidity" = 0.01),
ep.method = "envelope")
## ------------------------------------------------
## Method `ForwardMarginalEffect$compute`
## ------------------------------------------------
# Compute results:
effects$compute()
## ------------------------------------------------
## Method `ForwardMarginalEffect$plot`
## ------------------------------------------------
# Compute results:
effects$plot()