screen.earth | R Documentation |
Performs feature selection via "Multivariate Adaptive Regression Splines"/
"Fast MARS" using earth
's implementation.
screen.earth(
Y,
X,
family,
obsWeights,
id,
selector = c("cutoff.biggest.diff", "cutoff.k", "cutoff.k.percent"),
k = switch(selector, cutoff.k = ceiling(0.5 * ncol(X)), cutoff.k.percent = 0.5, NULL),
importanceType = c("nsubsets", "rss", "gcv"),
degree = 2,
penalty = 3,
kForward = max(21, 2 * ncol(X) + 1),
pMethod = "cv",
nFold = 5,
...
)
Y |
Outcome (numeric vector). See |
X |
Predictor variable(s) (data.frame or matrix). See
|
family |
Error distribution to be used in the model:
|
obsWeights |
Passed on via |
id |
Cluster identification variable. Currently unused. |
selector |
A string corresponding to a subset selecting function
implemented in the FSelector package. One of:
|
k |
Passed through to the |
importanceType |
Variable importance criterion. One of:
|
degree |
Maximum degree of interaction. Default: 2. 1 would indicate no interaction terms should be used. |
penalty |
Generalized Cross Validation (GCV) penalty per knot. Default: 3. |
kForward |
Maximum number of terms created by the forward pass
(including the intercept). Default: twice the number of features (in
|
pMethod |
Pruning method. Default: |
nFold |
Number of cross-validation folds. Must be |
... |
Currently unused. |
A logical vector with length equal to ncol(X)
.
data(iris)
Y <- as.numeric(iris$Species=="setosa")
X <- iris[,-which(colnames(iris)=="Species")]
screen.earth(Y, X, binomial(), selector = "cutoff.k.percent", k = 0.75)
data(mtcars)
Y <- mtcars$mpg
X <- mtcars[,-which(colnames(mtcars)=="mpg")]
screen.earth(Y, X, gaussian(), importanceType = "rss")
# based on examples in SuperLearner package
set.seed(1)
n <- 250
p <- 20
X <- matrix(rnorm(n*p), nrow = n, ncol = p)
X <- data.frame(X)
Y <- X[, 1] + sqrt(abs(X[, 2] * X[, 3])) + X[, 2] - X[, 3] + rnorm(n)
library(SuperLearner)
sl = SuperLearner(Y, X, family = gaussian(), cvControl = list(V = 2),
SL.library = list(c("SL.glm", "All"),
c("SL.glm", "screen.earth")))
sl
sl$whichScreen
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.