Skip to contents

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.

Details

Methods for variance estimations are not yet implemented.

Dictionary

This Learner can be instantiated via lrn():

lrn("regr.earth")

Meta Information

  • Task type: “regr”

  • Predict Types: “response”, “se”

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

  • Required Packages: mlr3, mlr3extralearners, earth

Parameters

IdTypeDefaultLevelsRange
wpuntypedNULL-
offsetuntypedNULL-
keepxylogicalFALSETRUE, FALSE-
tracecharacter00, .3, .5, 1, 2, 3, 4, 5-
degreeinteger1\([1, \infty)\)
penaltynumeric2\([-1, \infty)\)
nkuntypedNULL-
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::LearnerRegr -> LearnerRegrEarth

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

LearnerRegrEarth$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

# Define the Learner
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

# Define a Task
task = mlr3::tsk("mtcars")

# Create train and test set
ids = mlr3::partition(task)

# Train the learner on the training ids
learner$train(task, row_ids = ids$train)

print(learner$model)
#> Selected 4 of 10 terms, and 2 of 10 predictors
#> Termination condition: GRSq -Inf at 10 terms
#> Importance: hp, wt, disp-unused, am-unused, carb-unused, cyl-unused, ...
#> Number of terms at each degree of interaction: 1 3 (additive model)
#> GCV 7.876681    RSS 73.51569    GRSq 0.8283484    RSq 0.9158907


# Make predictions for the test rows
predictions = learner$predict(task, row_ids = ids$test)

# Score the predictions
predictions$score()
#> regr.mse 
#> 6.819932