- Fixed a couple of URLs in the package documentation.
partial()
's progress argument now only accepts a logical and defaults toFALSE
.
-
New (experimental) function
exemplar()
for constructing an "exemplar" record from a data frame or matrix-like object. See?pdp::exemplar
for details (#91). -
partial()
gained a new (experimental) feature via the newapprox
argument. Ifapprox = TRUE
, thenpartial()
will compute predictions across the predictors specified inpred.var
while holding the other predictors constant (a "poor man's partial dependence" function as Stephen Milborrow, the author of plotmo, puts it). See?pdp::partial
for details.
-
Bumped the R dependency to R (>= 3.6.0) to support the use of
grDevices::hcl.colors()
inplotPartial()
. -
Function
grid.arrange()
and the forward pipe operator%>%
are no longer automatically imported from packages gridExtra and magrittr, respectively; users are encouraged to load them manually if needed. -
Removed the
palette
andalpha
arguments fromplotPartial()
andautoplot()
; the latter just got absorbed into the...
argument. By default,plotPartial()
'scol.regions
argument now corresponds togrDevices::hcl.colors(100)
, which defaults to the same viridis color palette as before, just without the dependency. -
topPredictors()
is now deprecated and will be removed in the next update. Users are advised to use the vip package instead.
-
Added support for gradient boosted Cox proportional hazards models in gbm.
-
Removed dependency on the retired plyr package by relying directly on the foreach package. Consequently, ICE curves (
ice = TRUE
) are now slightly faster to compute (since the code refactoring avoids having to post-process ICE data from wide to long format) and the corresponding progress bar (progress = "text"
) is more honest.- As a further consequence, the
partial()
function only supports a simple text-based progress bar (progress = "text"
), but more options will possibly be added later.
- As a further consequence, the
-
Removed dependency on viridis; consequently, to keep the 'viridis' color palettes in
autoplot()
, this required bumping the ggplot2 dependency to version 3.0.0, as well as some other code tweaks under the hood (#106). -
Removed dependency on mgcv by switching to an internal C implementation of mgcv's
in.out()
function (#107). (This is used behind the scenes wheneverpartial()
is called withchull = TRUE
.) -
"partial"
is now a proper subclass of"data.frame"
(#104); thanks to @RoelVerbelen for pointing this out. -
Fixed a bug where
rug = TRUE
would not work properly for xgboost models whenever callingpartial()
withplot = TRUE
. -
Fixed a bug in
partial()
where thecats
argument was never actually passed topred_grid()
(#86). -
Fixed a bug in
partial()
for"gbm"
objects whenrecursive = TRUE
that caused factors (including ordered factors) to be coerced to characters.
-
Switched from Travis-CI to GitHub Actions for continuous integration.
-
Refactored code for easier maintenance.
-
Switched to tinytest framework and increased test coverage (#84).
-
The internal function
get_training_data()
, which is used to (attempt to) extract a fitted model's training data whenevertrain
is not specified, is (hopefully) a bit more flexible and robust in certain special cases(#90). -
Minor bug fixes in plotting functions (i.e.,
autoplot()
andplotPartial()
). -
Training data that inherits from class
"tibble"
is still not officially supported, but shouldn't cause as many errors from this point on. -
Using
autoplot()
with a factor followed by numeric inpred.var
no longer seems to be an issue (#79).
-
Added support for
e1071::naiveBayes()
, an implementation of the standard naive Bayes classifier (#42). -
Fixed a bug in
plotPartial()
that caused thecol.regions
argument to have no effect whenlevelplot = FALSE
(#58). -
Fixed a bug with categorical variables in
gbm
models whenrecursive = TRUE
(#63). -
More informative progress bars (with estimated time to completion!!) powered by the
progress
package. To use, simply callpartial()
with the optionprogress = "progress"
(#66). -
Added ORCiD ID to the author field in the
DESCRIPTION
file. -
Way cooler logo?
-
partial()
gained several new plotting options:plot.engine
, which controls the plotting engine used wheneverplot = TRUE
(current options include"lattice"
(the default) and"ggplot2"
(#71). -
The arguments to
autoplot()
andplotPartial()
are now more consistent with each other. -
The names of (most) helper functions have changed from lowerCamelCase to snake_case.
-
partial()
now works (better) with tibbles (#59). -
partial()
now treats"xgb.Booster"
objects withobjective = "reg:logistc"
as regression (#68). -
Removed use of
ggplot2::aes_string()
inautoplot()
(which is soft deprecated as ofggplot2
version 3.0.0) (#73).
-
Properly registered native routines and disabled symbol search.
-
Fixed a bug for
gbm
models using the multinomial distribution. -
Refactored code to improve structure.
-
partial()
gained three new options:inv.link
(experimental),ice
, andcenter
. The latter two have to do with constructing individual conditional expectation (ICE) curves and centered ICE (c-ICE) curves. Theinv.link
option is for transforming predictions from models that can use non-Gaussian distributions (e.g.,glm
,gbm
, andxgboost
). Note that these options were added for convenience and the same results (plus much more) can still be obtained using the flexiblepred.fun
argument. (#36). -
plotPartial()
gained five new options:center
,plot.pdp
,pdp.col
,pdp.lwd
, andpdp.lty
; see?plotPartial
for details. -
Fixed default y-axis label for
autoplot()
with two numeric predictors (#48). -
Added
CITATION
file. -
Better support for neural networks from the
nnet
package. -
Fixed a bug for
nnet::multinom()
models with binary response.
-
Fixed minor pandoc conversion issue with
README.md
. -
Added subdirectory called
tools
to hold figures forREADME.md
.
- Registered native routines and disabled symbol search.
-
Added support for
MASS::lda()
,MASS::qda()
, andmda::mars()
. -
New arguments
quantiles
,probs
, andtrim.outliers
inpartial
. These arguments make it easier to construct PDPs over the relevant range of a numeric predictor without having to specifypred.grid
, especially when outliers are present in the predictors (which can distort the plotted relationship). -
The
train
argument can now accept matrices; in particular, object of class"matrix"
or"dgCMatrix"
. This is useful, for example, when working with XGBoost models (i.e., objects of class"xgb.Booster"
). -
New logical argument
prob
indicating whether or not partial dependence values for classification problems should be returned on the original probability scale, rather than the centered logit; details for the centered logit can be found on page 370 in the second edition of The Elements of Statistical Learning. -
Fixed some typos in
NEWS.md
. -
New function
autoplot
for automatically creatingggplot2
graphics from"partial"
objects.
-
partial()
is now much faster with"gbm"
object due to a call togbm::plot.gbm()
wheneverpred.grid
is not explicitly given by the user. (gbm::plot.gbm()
exploits a computational shortcut that does not involve any passes over the training data.) -
New (experimental) function
topPredictors()
for extracting the names of the most "important" predictors. This should make it one step easier (in most cases) to construct PDPs for the most "important"" features in a fitted model. -
A new argument,
pred.fun
, allows the user to supply their own prediction function. Hence, it is possible to obtain PDPs based on the median, rather than the mean. It is also possible to obtain PDPs for classification problems on the probability scale. See?partial
for examples. -
Minor bug fixes and documentation tweaks.
-
The
...
argument in the call topartial()
now refers to additional arguments to be passed ontostats::predict()
rather thanplyr::aaply()
. For example, usingpartial()
with"gbm"
objects will require specification ofn.trees
which can now simply be passed topartial()
via the...
argument. -
Added the following arguments to
partial()
:progress
(plyr
-based progress bars),parallel
(plyr
/foreach
-based parallel execution), andparopts
(list of additional arguments passed ontoforeach
whenparallel = TRUE
). -
Various bug fixes.
-
partial()
now throws an informative error message when thepred.grid
argument refers to predictors not in the original training data. -
The column name for the predicted value has been changed from
"y"
to"yhat"
.
-
randomForest
is no longer imported. -
Added support for the
caret
package (i.e., objects of class"train"
). -
Added example data sets:
boston
(corrected Boston housing data) andpima
(corrected Pima Indians diabetes data). -
Fixed error that sometimes occurred when
chull = TRUE
causing the convex hull to not be computed. -
Refactored
plotPartial()
to be more modular. -
Added
gbm
support for most non-"binomial"
families`.
-
randomForest
is now imported. -
Added examples.
- Fixed a non canonical CRAN URL in the README file.
-
partial()
now makes sure each column ofpred.grid
has the correct class, levels, etc. -
partial()
gained a new option,levelplot
, which defaults toTRUE
. The original option,contour
, has changed and now specifies whether or not to add contour lines wheneverlevelplot = TRUE
.
-
Fixed a number of URLs.
-
More thorough documentation.
-
Fixed a couple of URLs and typos.
-
Added more thorough documentation.
-
Added support for C5.0, Cubist, nonlinear least squares, and XGBoost models.
- Initial release.