This is a barebone implementation of Friedman's partial dependence
intended for developers. To get more information on partial dependence, see
partial_dependence()
.
.pd(
object,
v,
data,
grid,
pred_fun = stats::predict,
trafo = NULL,
which_pred = NULL,
w = NULL,
...
)
Fitted model.
Variable name in data
to calculate partial dependence.
Matrix or data.frame.
Vector or factor of values to calculate partial dependence for.
Prediction function, by default stats::predict
.
The function takes three arguments (names irrelevant): object
, data
, and ...
.
How should predictions be transformed?
A function or NULL
(default). Examples are log
(to switch to link scale)
or exp
(to switch from link scale to the original scale).
Applied after which_pred
.
If the predictions are multivariate: which column to pick
(integer or column name). By default NULL
(picks last column). Applied before
trafo
.
Optional vector with case weights.
Further arguments passed to pred_fun()
, e.g., type = "response"
in
a glm()
or (typically) prob = TRUE
in classification models.
Vector of partial dependence values in the same order as grid
.
Friedman, Jerome H. 2001, Greedy Function Approximation: A Gradient Boosting Machine. Annals of Statistics 29 (5): 1189-1232. doi:10.1214/aos/1013203451.
fit <- lm(Sepal.Length ~ ., data = iris)
.pd(fit, "Sepal.Width", data = iris, grid = hist(iris$Sepal.Width)$mids)
#> [1] 5.368602 5.467780 5.566958 5.666136 5.765313 5.864491 5.963669 6.062847
#> [9] 6.162025 6.261202 6.360380 6.459558
.pd(fit, "Species", data = iris, grid = levels(iris$Species))
#> [1] 6.425687 5.702125 5.402189