explain.tidyfit.models {tidyfit} | R Documentation |
An interface for variable importance measures for a fitted tidyfit.models frames
Description
A generic method for calculating XAI and variable importance methods for tidyfit.models frames.
Usage
## S3 method for class 'tidyfit.models'
explain(
object,
use_package = NULL,
use_method = NULL,
...,
.keep_grid_id = FALSE
)
Arguments
object |
|
use_package |
the package to use to calculate variable importance. See 'Details' for possible options. |
use_method |
the method from 'use_package' that should be used to calculate variable importance. |
... |
additional arguments passed to the importance method |
.keep_grid_id |
boolean. By default the grid ID column is dropped, if there is only one unique setting per model or group. |
Details
WARNING This function is currently in an experimental stage.
The function uses the 'model_object' column in a tidyfit.model
frame to return variable importance measures for each model.
Possible packages and methods include:
sensitivity
package:
The package provides methods to assess variable importance in linear regressions ('lm') and classifications ('glm').
Usage: use_package="sensitivity"
Methods:
"lmg" (Shapley regression),
"pmvd" (Proportional marginal variance decomposition),
"src" (standardized regression coefficients),
"pcc" (partial correlation coefficients),
"johnson" (Johnson indices)
See ?sensitivity::lmg
for more information and additional arguments.
iml
package:
Integration with iml is currently in progress. The methods can be used for 'nnet', 'rf', 'lasso', 'enet', 'ridge', 'adalasso', 'glm' and 'lm'.
Usage: use_package="iml"
Methods:
"Shapley" (SHAP values)
"LocalModel" (LIME)
"FeatureImp" (Permutation-based feature importance)
The argument 'which_rows' (vector of integer indexes) can be used to explain specific rows in the data set for Shapley and LocalModel methods.
randomForest
package:
This uses the native importance method of the randomForest package and can be used with 'rf' and 'quantile_rf' regression and classification.
Usage: use_package="randomForest"
Methods:
"mean_decrease_accuracy"
Value
A 'tibble'.
Author(s)
Johann Pfitzinger
References
Molnar C, Bischl B, Casalicchio G (2018). “iml: An R package for Interpretable Machine Learning.” JOSS, 3(26), 786. doi:10.21105/joss.00786.
Iooss B, Veiga SD, Janon A, Pujol G, Broto wcfB, Boumhaout K, Clouvel L, Delage T, Amri RE, Fruth J, Gilquin L, Guillaume J, Herin M, Idrissi MI, Le Gratiet L, Lemaitre P, Marrel A, Meynaoui A, Nelson BL, Monari F, Oomen R, Rakovec O, Ramos B, Rochet P, Roustant O, Sarazin G, Song E, Staum J, Sueur R, Touati T, Verges V, Weber F (2024). sensitivity: Global Sensitivity Analysis of Model Outputs and Importance Measures. R package version 1.30.0, https://CRAN.R-project.org/package=sensitivity.
A. Liaw and M. Wiener (2002). Classification and Regression by randomForest. R News 2(3), 18–22.
Examples
data <- dplyr::group_by(tidyfit::Factor_Industry_Returns, Industry)
fit <- regress(data, Return ~ ., m("lm"), .mask = "Date")
explain(fit, use_package = "sensitivity", use_method = "src")
data <- dplyr::filter(tidyfit::Factor_Industry_Returns, Industry == Industry[1])
fit <- regress(data, Return ~ ., m("lm"), .mask = c("Date", "Industry"))
explain(fit, use_package = "iml", use_method = "Shapley", which_rows = c(1))