This learner uses the caret package's train
function to automatically tune a predictive model. It does this by defining
a grid of model-specific tuning parameters; fitting the model according to
each tuning parameter specification, to establish a set of models fits;
calculating a resampling-based performance measure each variation; and
then selecting the model with the best performance.
A learner object inheriting from Lrnr_base with
methods for training and prediction. For a full list of learner
functionality, see the complete documentation of Lrnr_base.
method: A string specifying which caret classification or
regression model to use. Possible models can be found using
names(caret::getModelInfo()). Information about a model,
including the parameters that are tuned, can be found using
caret::modelLookup(), e.g.,
caret::modelLookup("xgbLinear"). Consult the caret
package's documentation on train for more details.
metric = NULL: An optional string specifying the summary metric to
be used to select the optimal model. If not specified, it will be set
to "RMSE" for continuous outcomes and "Accuracy" for categorical and
binary outcomes. Other options include "MAE", "Kappa", "Rsquared" and
"logLoss". Regression models are defined when metric is set as
"RMSE", "logLoss", "Rsquared", or "MAE". Classification models are
defined when metric is set as "Accuracy" or "Kappa". Custom
performance metrics can also be used. Consult the caret package's
train documentation for more details.
trControl = list(method = "cv", number = 10): A list for specifying
the arguments for trainControl object. If not
specified, it will consider "cv" with 10 folds as the resampling method,
instead of caret's default resampling method, "boot". For a
detailed description, consult the caret package's documentation
for train and trainControl.
factor_binary_outcome = TRUE: Logical indicating whether a binary
outcome should be defined as a factor instead of a numeric. This
only needs to be modified to FALSE in the following uncommon
instance: when metric is specified by the user, metric
defines a regression model, and the task's outcome is binary. Note that
train could throw warnings/errors when regression
models are considered for binary outcomes; this argument should only
be modified by advanced users in niche settings.
...: Other parameters passed to train and
additional arguments defined in Lrnr_base, such as
params like formula.
Other Learners:
Custom_chain,
Lrnr_HarmonicReg,
Lrnr_arima,
Lrnr_bartMachine,
Lrnr_base,
Lrnr_bayesglm,
Lrnr_bilstm,
Lrnr_cv_selector,
Lrnr_cv,
Lrnr_dbarts,
Lrnr_define_interactions,
Lrnr_density_discretize,
Lrnr_density_hse,
Lrnr_density_semiparametric,
Lrnr_earth,
Lrnr_expSmooth,
Lrnr_gam,
Lrnr_ga,
Lrnr_gbm,
Lrnr_glm_fast,
Lrnr_glm_semiparametric,
Lrnr_glmnet,
Lrnr_glmtree,
Lrnr_glm,
Lrnr_grfcate,
Lrnr_grf,
Lrnr_gru_keras,
Lrnr_gts,
Lrnr_h2o_grid,
Lrnr_hal9001,
Lrnr_haldensify,
Lrnr_hts,
Lrnr_independent_binomial,
Lrnr_lightgbm,
Lrnr_lstm_keras,
Lrnr_mean,
Lrnr_multiple_ts,
Lrnr_multivariate,
Lrnr_nnet,
Lrnr_nnls,
Lrnr_optim,
Lrnr_pca,
Lrnr_pkg_SuperLearner,
Lrnr_polspline,
Lrnr_pooled_hazards,
Lrnr_randomForest,
Lrnr_ranger,
Lrnr_revere_task,
Lrnr_rpart,
Lrnr_rugarch,
Lrnr_screener_augment,
Lrnr_screener_coefs,
Lrnr_screener_correlation,
Lrnr_screener_importance,
Lrnr_sl,
Lrnr_solnp_density,
Lrnr_solnp,
Lrnr_stratified,
Lrnr_subset_covariates,
Lrnr_svm,
Lrnr_tsDyn,
Lrnr_ts_weights,
Lrnr_xgboost,
Pipeline,
Stack,
define_h2o_X(),
undocumented_learner
data(cpp_imputed)
covs <- c("apgar1", "apgar5", "parity", "gagebrth", "mage", "meducyrs")
task <- sl3_Task$new(cpp_imputed, covariates = covs, outcome = "haz")
autotuned_RF_lrnr <- Lrnr_caret$new(method = "rf")
set.seed(693)
autotuned_RF_fit <- autotuned_RF_lrnr$train(task)
autotuned_RF_predictions <- autotuned_RF_fit$predict()