Skip to contents

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".

Details

Methods for variance estimations are not yet implemented.

Dictionary

This Learner can be instantiated via the dictionary mlr_learners or with the associated sugar function lrn():

mlr_learners$get("classif.earth")
lrn("classif.earth")

Meta Information

  • Task type: “classif”

  • Predict Types: “response”, “prob”

  • Feature Types: “integer”, “numeric”, “factor”

  • Required Packages: mlr3, mlr3extralearners, earth

Parameters

IdTypeDefaultLevelsRange
wpuntyped-
offsetuntyped-
keepxylogicalFALSETRUE, FALSE-
tracecharacter00, .3, .5, 1, 2, 3, 4, 5-
degreeinteger1\([1, \infty)\)
penaltynumeric2\([-1, \infty)\)
nkuntyped-
threshnumeric0.001\((-\infty, \infty)\)
minspannumeric0\([0, \infty)\)
endspannumeric0\([0, \infty)\)
newvar.penaltynumeric0\([0, \infty)\)
fast.kinteger20\([0, \infty)\)
fast.betainteger1\([0, 1]\)
linpredsuntypedFALSE-
alloweduntyped--
pmethodcharacterbackwardbackward, none, exhaustive, forward, seqrep, cv-
npruneinteger-\([0, \infty)\)
nfoldinteger0\([0, \infty)\)
ncrossinteger1\([0, \infty)\)
stratifylogicalTRUETRUE, FALSE-
varmod.methodcharacternonenone, const, lm, rlm, earth, gam, power, power0, x.lm, x.rlm, ...-
varmod.exponentnumeric1\((-\infty, \infty)\)
varmod.convnumeric1\([0, 1]\)
varmod.clampnumeric0.1\((-\infty, \infty)\)
varmod.minspannumeric-3\((-\infty, \infty)\)
Scale.ylogicalFALSETRUE, FALSE-
Adjust.endspannumeric2\((-\infty, \infty)\)
Auto.linpredslogicalTRUETRUE, FALSE-
Force.weightslogicalFALSETRUE, FALSE-
Use.beta.cachelogicalTRUETRUE, FALSE-
Force.xtx.prunelogicalFALSETRUE, FALSE-
Get.leverageslogicalTRUETRUE, FALSE-
Exhaustive.tolnumeric1e-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

Author

pkopper

Super classes

mlr3::Learner -> mlr3::LearnerClassif -> LearnerClassifEarth

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class.

Usage


Method clone()

The objects of this class are cloneable with this method.

Usage

LearnerClassifEarth$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

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"