This learner provides fitting procedures for generalized additive models,
using the routines from mgcv through a call to the function
gam
. The mgcv package and the use of GAMs are
described thoroughly (with examples) in Wood (2017)
,
while Hastie and Tibshirani (1990)
also provided an earlier quite
thorough look at GAMs.
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
.
formula
: An optional argument specifying the formula of GAM.
Input type can be formula or string, or a list of them. If not
specified, continuous covariates will be smoothened with the smooth
terms represented using "penalized thin plate regression splines". For
a more detailed description, please consult the documentation for
gam
.
family
: An optional argument specifying the family of the GAM.
See family
and family.mgcv
for a list of available family functions. If left unspecified, it will
be inferred depending on the detected type of the outcome. For now,
GAM supports binomial and gaussian outcome types, if formula
is
unspecified. For a more detailed description of this argument, please
consult the documentation of gam
.
method
: An optional argument specifying the method for smoothing
parameter selection. The default is global cross-validation (GCV). For
more detaileds on this argument, consult the documentation of
gam
.
...
: Other parameters passed to gam
. See its
documentation for details.
Hastie TJ, Tibshirani RJ (1990).
Generalized additive models, volume 43.
CRC press.
Wood SN (2017).
Generalized additive models: an introduction with R.
CRC press.
Other Learners:
Custom_chain
,
Lrnr_HarmonicReg
,
Lrnr_arima
,
Lrnr_bartMachine
,
Lrnr_base
,
Lrnr_bayesglm
,
Lrnr_bilstm
,
Lrnr_caret
,
Lrnr_cv_selector
,
Lrnr_cv
,
Lrnr_dbarts
,
Lrnr_define_interactions
,
Lrnr_density_discretize
,
Lrnr_density_hse
,
Lrnr_density_semiparametric
,
Lrnr_earth
,
Lrnr_expSmooth
,
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)
# create task for prediction
cpp_task <- sl3_Task$new(
data = cpp_imputed,
covariates = c("bmi", "parity", "mage", "sexn"),
outcome = "haz"
)
# initialization, training, and prediction with the defaults
gam_lrnr <- Lrnr_gam$new()
gam_fit <- gam_lrnr$train(cpp_task)
gam_preds <- gam_fit$predict()