A general framework for constructing partial dependence (i.e., marginal effect) plots from various types machine learning models in R.
Switch branches/tags
Nothing to show
Clone or download

README.md

pdp

CRAN_Status_Badge Build Status AppVeyor Build Status Coverage Status Downloads Total Downloads lifecycle

Overview

pdp is an R package for constructing partial dependence plots (PDPs) and individual conditional expectation (ICE) curves. PDPs and ICE curves are part of a larger framework referred to as interpretable machine learning (IML), which also includes (but not limited to) variable importance plots (VIPs). While VIPs (available in the R package vip) help visualize feature impact (either locally or globally), PDPs and ICE curves help visualize feature effects. An in-progress, but comprehensive, overview of IML can be found at the following URL: https://github.com/christophM/interpretable-ml-book.

A detailed introduction to pdp has been published in The R Journal: “pdp: An R Package for Constructing Partial Dependence Plots”, https://journal.r-project.org/archive/2017/RJ-2017-016/index.html. You can track development at https://github.com/bgreenwell/pdp. To report bugs or issues, contact the main author directly or submit them to https://github.com/bgreenwell/pdp/issues. For additional documentation and examples, visit the package website.

As of right now, pdp exports four functions:

  • partial() - compute partial dependence functions and individual conditional expectations (i.e., objects of class "partial" and "ice", respectively) from various fitted model objects;

  • plotPartial()" - construct lattice-based PDPs and ICE curves;

  • autoplot() - construct ggplot2-based PDPs and ICE curves;

  • topPredictors() extract most “important” predictors from various types of fitted models. (Will soon be replaced by functionality from vip.)

Installation

# The easiest way to get pdp is to install it from CRAN:
install.packages("pdp")

# Alternatively, you can install the development version from GitHub:
if (!requireNamespace("devtools")) {
  install.packages("devtools")
}
devtools::install_github("bgreenwell/pdp")