Classification MARS (Multivariate Adaptive Regression Splines) Learner
mlr_learners_classif.earth.Rd
This is an alternative implementation of MARS (Multivariate Adaptive Regression Splines). The classification problem is solved by 0-1 encoding of the two-class targets and setting the decision threshold to p = 0.5 during the prediction phase. MARS is trademarked and thus not used as the name. The name "earth" stands for "Enhanced Adaptive Regression Through Hinges".
Dictionary
This Learner can be instantiated via the dictionary mlr_learners or with the associated sugar function lrn()
:
$get("classif.earth")
mlr_learnerslrn("classif.earth")
Meta Information
Task type: “classif”
Predict Types: “response”, “prob”
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::LearnerClassif
-> LearnerClassifEarth
Examples
learner = mlr3::lrn("classif.earth")
print(learner)
#> <LearnerClassifEarth:classif.earth>: Multivariate Adaptive Splines
#> * Model: -
#> * Parameters: list()
#> * Packages: mlr3, mlr3extralearners, earth
#> * Predict Types: [response], prob
#> * Feature Types: integer, numeric, factor
#> * Properties: twoclass, 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"