pdpPairs {vivid} | R Documentation |
pdpPairs
Description
Creates a pairs plot showing bivariate pdp on upper diagonal, ice/univariate pdp on the diagonal and data on the lower diagonal
Usage
pdpPairs(
data,
fit,
response,
vars = NULL,
pal = rev(RColorBrewer::brewer.pal(11, "RdYlBu")),
fitlims = "pdp",
gridSize = 10,
nmax = 500,
class = 1,
nIce = 30,
colorVar = NULL,
comboImage = FALSE,
predictFun = NULL,
convexHull = FALSE,
probability = FALSE
)
Arguments
data |
Data frame used for fit. |
fit |
A supervised machine learning model, which understands condvis2::CVpredict |
response |
The name of the response for the fit. |
vars |
The variables to plot (and their order), defaults to all variables other than response. |
pal |
A vector of colors to show predictions, for use with scale_fill_gradientn |
fitlims |
Specifies the fit range for the color map. Options are a numeric vector of length 2, "pdp" (default), in which cases limits are calculated from the pdp, or "all", when limits are calculated from the observations and pdp. Predictions outside fitlims are squished on the color scale. |
gridSize |
The size of the grid for evaluating the predictions. |
nmax |
Uses sample of nmax data rows for the pdp. Default is 500. Use all rows if NULL. |
class |
Category for classification, a factor level, or a number indicating which factor level. |
nIce |
Number of ice curves to be plotted, defaults to 30. |
colorVar |
Which variable to colour the predictions by. |
comboImage |
If TRUE draws pdp for mixed variable plots as an image, otherwise an interaction plot. |
predictFun |
Function of (fit, data) to extract numeric predictions from fit. Uses condvis2::CVpredict by default, which works for many fit classes. |
convexHull |
If TRUE, then the convex hull is computed and any points outside the convex hull are removed. |
probability |
if TRUE, then returns the partial dependence for classification on the probability scale. If FALSE (default), then the partial dependence is returned on a near logit scale. |
Value
A pairs plot
Examples
# Load in the data:
aq <- na.omit(airquality)
f <- lm(Ozone ~ ., data = aq)
pdpPairs(aq, f, "Ozone")
# Run a ranger model:
library(ranger)
library(MASS)
Boston1 <- Boston[, c(4:6, 8, 13:14)]
Boston1$chas <- factor(Boston1$chas)
fit <- ranger(medv ~ ., data = Boston1, importance = "permutation")
pdpPairs(Boston1[1:30, ], fit, "medv")
pdpPairs(Boston1[1:30, ], fit, "medv", comboImage = TRUE)
viv <- vivi(Boston1, fit, "medv")
# show top variables only
pdpPairs(Boston1[1:30, ], fit, "medv", comboImage = TRUE, vars = rownames(viv)[1:4])
library(ranger)
rf <- ranger(Species ~ ., data = iris, probability = TRUE)
pdpPairs(iris, rf, "Species") # prediction probs for first class, setosa
pdpPairs(iris, rf, "Species", class = "versicolor") # prediction probs versicolor