Implementation of Multivariate Adaptive Regression Splines
mlr_learners_regr.earth.Rd
This is an alternative implementation of MARS (Multivariate Adaptive Regression Splines). MARS is trademarked and thus not used as the name. The name "earth" stands for "Enhanced Adaptive Regression Through Hinges".
Calls earth::earth()
from earth.
Dictionary
This Learner can be instantiated via the dictionary mlr_learners or with the associated sugar function lrn()
:
$get("regr.earth")
mlr_learnerslrn("regr.earth")
Meta Information
Task type: “regr”
Predict Types: “response”, “se”
Feature Types: “integer”, “numeric”, “factor”
Required Packages: mlr3, mlr3extralearners, earth
Parameters
Id | Type | Default | Levels | Range |
wp | untyped | - | ||
offset | untyped | - | ||
keepxy | logical | FALSE | TRUE, FALSE | - |
trace | character | 0 | 0, .3, .5, 1, 2, 3, 4, 5 | - |
degree | integer | 1 | \([1, \infty)\) | |
penalty | numeric | 2 | \([-1, \infty)\) | |
nk | untyped | - | ||
thresh | numeric | 0.001 | \((-\infty, \infty)\) | |
minspan | numeric | 0 | \([0, \infty)\) | |
endspan | numeric | 0 | \([0, \infty)\) | |
newvar.penalty | numeric | 0 | \([0, \infty)\) | |
fast.k | integer | 20 | \([0, \infty)\) | |
fast.beta | integer | 1 | \([0, 1]\) | |
linpreds | untyped | FALSE | - | |
allowed | untyped | - | - | |
pmethod | character | backward | backward, none, exhaustive, forward, seqrep, cv | - |
nprune | integer | - | \([0, \infty)\) | |
nfold | integer | 0 | \([0, \infty)\) | |
ncross | integer | 1 | \([0, \infty)\) | |
stratify | logical | TRUE | TRUE, FALSE | - |
varmod.method | character | none | none, const, lm, rlm, earth, gam, power, power0, x.lm, x.rlm, ... | - |
varmod.exponent | numeric | 1 | \((-\infty, \infty)\) | |
varmod.conv | numeric | 1 | \([0, 1]\) | |
varmod.clamp | numeric | 0.1 | \((-\infty, \infty)\) | |
varmod.minspan | numeric | -3 | \((-\infty, \infty)\) | |
Scale.y | logical | FALSE | TRUE, FALSE | - |
Adjust.endspan | numeric | 2 | \((-\infty, \infty)\) | |
Auto.linpreds | logical | TRUE | TRUE, FALSE | - |
Force.weights | logical | FALSE | TRUE, FALSE | - |
Use.beta.cache | logical | TRUE | TRUE, FALSE | - |
Force.xtx.prune | logical | FALSE | TRUE, FALSE | - |
Get.leverages | logical | TRUE | TRUE, FALSE | - |
Exhaustive.tol | numeric | 1e-10 | \((-\infty, \infty)\) |
References
Milborrow, Stephen, Hastie, T, Tibshirani, R (2014). “Earth: multivariate adaptive regression spline models.” R package version, 3(7).
Friedman, H J (1991). “Multivariate adaptive regression splines.” The annals of statistics, 19(1), 1--67.
See also
as.data.table(mlr_learners)
for a table of available Learners in the running session (depending on the loaded packages).Chapter in the mlr3book: https://mlr3book.mlr-org.com/basics.html#learners
mlr3learners for a selection of recommended learners.
mlr3cluster for unsupervised clustering learners.
mlr3pipelines to combine learners with pre- and postprocessing steps.
mlr3tuning for tuning of hyperparameters, mlr3tuningspaces for established default tuning spaces.
Super classes
mlr3::Learner
-> mlr3::LearnerRegr
-> LearnerRegrEarth
Examples
learner = mlr3::lrn("regr.earth")
print(learner)
#> <LearnerRegrEarth:regr.earth>: Multivariate Adaptive Regression Splines
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, mlr3extralearners, earth
#> * Predict Types: [response], se
#> * Feature Types: integer, numeric, factor
#> * Properties: weights
# available parameters:
learner$param_set$ids()
#> [1] "wp" "offset" "keepxy" "trace"
#> [5] "degree" "penalty" "nk" "thresh"
#> [9] "minspan" "endspan" "newvar.penalty" "fast.k"
#> [13] "fast.beta" "linpreds" "allowed" "pmethod"
#> [17] "nprune" "nfold" "ncross" "stratify"
#> [21] "varmod.method" "varmod.exponent" "varmod.conv" "varmod.clamp"
#> [25] "varmod.minspan" "Scale.y" "Adjust.endspan" "Auto.linpreds"
#> [29] "Force.weights" "Use.beta.cache" "Force.xtx.prune" "Get.leverages"
#> [33] "Exhaustive.tol"