View source: R/local_interactions.R

local_interactions | R Documentation |

This function implements decomposition of model predictions with identification
of interactions.
The complexity of this function is O(2*p) for additive models and O(2*p^2) for interactions.
This function works in a similar way to step-up and step-down greedy approximations in function `break_down()`

.
The main difference is that in the first step the order of variables and interactions is determined.
And in the second step the impact is calculated.

```
local_interactions(x, ...)
## S3 method for class 'explainer'
local_interactions(x, new_observation, keep_distributions = FALSE, ...)
## Default S3 method:
local_interactions(
x,
data,
predict_function = predict,
new_observation,
label = class(x)[1],
keep_distributions = FALSE,
order = NULL,
interaction_preference = 1,
...
)
```

`x` |
an explainer created with function |

`...` |
other parameters. |

`new_observation` |
a new observation with columns that correspond to variables used in the model. |

`keep_distributions` |
if |

`data` |
validation dataset, will be extracted from |

`predict_function` |
predict function, will be extracted from |

`label` |
character - the name of the model. By default it's extracted from the 'class' attribute of the model. |

`order` |
if not |

`interaction_preference` |
an integer specifying which interactions will be present in an explanation. The larger the integer, the more frequently interactions will be presented. |

an object of the `break_down`

class.

Explanatory Model Analysis. Explore, Explain and Examine Predictive Models. https://ema.drwhy.ai

`break_down`

, `local_attributions`

```
library("DALEX")
library("iBreakDown")
set.seed(1313)
model_titanic_glm <- glm(survived ~ gender + age + fare,
data = titanic_imputed, family = "binomial")
explain_titanic_glm <- explain(model_titanic_glm,
data = titanic_imputed,
y = titanic_imputed$survived,
label = "glm")
bd_glm <- local_interactions(explain_titanic_glm, titanic_imputed[1, ],
interaction_preference = 500)
bd_glm
plot(bd_glm, max_features = 2)
## Not run:
library("randomForest")
# example with interaction
# classification for HR data
model <- randomForest(status ~ . , data = HR)
new_observation <- HR_test[1,]
explainer_rf <- explain(model,
data = HR[1:1000,1:5])
bd_rf <- local_interactions(explainer_rf,
new_observation)
bd_rf
plot(bd_rf)
# example for regression - apartment prices
# here we do not have intreactions
model <- randomForest(m2.price ~ . , data = apartments)
explainer_rf <- explain(model,
data = apartments_test[1:1000,2:6],
y = apartments_test$m2.price[1:1000])
new_observation <- apartments_test[1,]
bd_rf <- local_interactions(explainer_rf,
new_observation,
keep_distributions = TRUE)
bd_rf
plot(bd_rf)
plot(bd_rf, plot_distributions = TRUE)
## End(Not run)
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.