Variable importance via oscillations

CRAN_Status_Badge Build Status Coverage Status DrWhy-eXtrAI


The vivo package helps to calculate

- instance level variable importance (local sensitivity).

The measure is based on Ceteris Paribus profiles and can be calculated in eight variants. Select the variant that suits your needs by setting parameters: absolute_deviation, point and density.

- model level variable importance (global sensitivity).

The measure is based on Partial Dependence Profiles.

vivo package

The main functions are global_variable_importance() and local_variable_importance().

vivo is a part of DrWhy collection of tools for Visual Exploration, Explanation and Debugging of Predictive Models.




From GitHub



Local variable importance

Ceteris Paribus is a latin phrase meaning „other things held constant” or „all else unchanged”. Ceteris Paribus Plots show how the model response depends on changes in a single input variable, keeping all other variables unchanged. They work for any Machine Learning model and allow for model comparisons to better understand how a black model works.

The measure is based on Ceteris Paribus profiles oscillations. In particular, the larger influence of an explanatory variable on prediction at a particular instance, the larger the deviation along the corresponding Ceteris Paribus profile. For a variable that exercises little or no influence on model prediction, the profile will be flat or will barely change.

Global variable importance

Here we have a similar intuition as above, but we are looking at Partial Dependence Profiles, because they show how the prediction changes for the model, not only for observation.

How to use


The package was created as a part of master’s diploma thesis at Warsaw University of Technology at Faculty of Mathematics and Information Science by Anna Kozak.