- Add option to keep resamples for each repeated fold in
caretStack
andcaretList
, rather than aggregating to one resample per row in the original data. This can give your stacking model more variance to work with, but can lead to a lot more issues with aligning predictions from different models, particularly ones that use different resampling strategies. - Add an option to include original features from the raw data in the stack, if stacking on a new dataset rather than on stacked predictions.
- Added
aggregate_resamples
option tocaretStack
and related functions to control whether resamples are aggregated. - Speed up the example for
autoplot
so it runs in <1 second on most platforms.
- Multiclass support!
caretList
,caretStack
, andcaretEnsemble
. - The greedy optimizer is back!
caretEnsemble
now uses a greedy optimizer by default. This optimizer can never be worse than the worst single model.caretStack
still supports all caret models, includingglm
.
- Refactored some internals for scalability (e.g.
data.table
for predictions, trim some un-needed data by default). - Moved all the S3 methods to
caretStack
, which now supportsprint
,summary
,plot
,dotplot
, andautoplot
.caretEnsemble
inherits fromcaretStack
, and therefore also supports all of these methods. - Allow ensembling of mixed lists of classification and regression models.
- Allow ensemble of models with different resampling strategies, so long as they were trained on the same data.
- Allow transfer learning for ensembling models trained on different datasets.
- Added permutation importance as the default importance method for
caretLists
andcaretStacks
. - Add a default
trainControl
constructor to make it easier to build good controls for trainingcaretLists
for stacking withcaretStack
. - Expanded test coverage to 100%.
- Sped up test suite (unit tests now run in 20 seconds).
- Delinted codebase: now conforms with all available linters save the object name linter.
- Added a makefile for easier local package development.
- Fixed badges in the readme.
- Added a pkgdown site.
- Switched to GitHub Actions (from Travis) for CI.
- Internal refactoring, optimization, and bug fixes.
- Fix broken package documentation with new roxygen2.
- Replace deprecated linters with the new versions.
- Fix broken tests on r-devel.
- Minor fixes to support R 4.0.
caretEnsemble
now inherits fromcaretStack
.- Removed the optimizers and now use a
glm
forcaretEnsemble
(optimizers will be added back ascaret.train
models in a future release). - Cleaned up namespace (all dependencies are explicit imports, rather than implicit imports or dependencies).
- Removed S3 functions that are not really S3 functions (e.g.
autoplot
andfortify
). We will either make those true S3 classes, or inherit from the packages that define them in a future release. - Fixed the build on Travis and locally.
- Change output for predict functions to better align with other predict methods in R (
predict.caretEnsemble
andpredict.caretStack
). - Update documentation for predict methods to better explain the model disagreement calculation.
- Speed and memory improvements by switching to
data.table
for some internals. - Modified the formula for a weighted standard deviation in the model disagreement calculation.
caretEnsemble
is a new package for making ensembles of caret models.