Learn R Programming

bst (version 0.3-13)

cv.bst: Cross-Validation for Boosting

Description

Cross-validated estimation of the empirical risk/error for boosting parameter selection.

Usage

cv.bst(x,y,K=10,cost=0.5,family=c("gaussian", "hinge", "hinge2", "binom", "expo", "poisson", "tgaussianDC", "thingeDC", "tbinomDC", "binomdDC", "texpoDC", "tpoissonDC"), learner = c("ls", "sm", "tree"), ctrl = bst_control(), type = c("loss", "error"), plot.it = TRUE, main = NULL, se = TRUE, n.cores=2, ...)

Arguments

x
a data frame containing the variables in the model.
y
vector of responses. y must be in {1, -1} for binary classifications.
K
K-fold cross-validation
cost
price to pay for false positive, 0 < cost < 1; price of false negative is 1-cost.
family
family = "hinge" for hinge loss and family="gaussian" for squared error loss.
learner
a character specifying the component-wise base learner to be used: ls linear models, sm smoothing splines, tree regression trees.
ctrl
an object of class bst_control.
type
cross-validation criteria. For type="loss", loss function values and type="error" is misclassification error.
plot.it
a logical value, to plot the estimated loss or error with cross validation if TRUE.
main
title of plot
se
a logical value, to plot with standard errors.
n.cores
The number of CPU cores to use. The cross-validation loop will attempt to send different CV folds off to different cores.
...
additional arguments.

Value

object with
residmat
empirical risks in each cross-validation at boosting iterations
mstop
boosting iteration steps at which CV curve should be computed.
cv
The CV curve at each value of mstop
cv.error
The standard error of the CV curve
family
loss function types
...

See Also

bst

Examples

Run this code
## Not run: 
# x <- matrix(rnorm(100*5),ncol=5)
# c <- 2*x[,1]
# p <- exp(c)/(exp(c)+exp(-c))
# y <- rbinom(100,1,p)
# y[y != 1] <- -1
# x <- as.data.frame(x)
# cv.bst(x, y, ctrl = bst_control(mstop=50), family = "hinge", learner = "ls", type="loss")
# cv.bst(x, y, ctrl = bst_control(mstop=50), family = "hinge", learner = "ls", type="error")
# dat.m <- bst(x, y, ctrl = bst_control(mstop=50), family = "hinge", learner = "ls")
# dat.m1 <- cv.bst(x, y, ctrl = bst_control(twinboost=TRUE, coefir=coef(dat.m), 
# xselect.init = dat.m$xselect, mstop=50), family = "hinge", learner="ls")
# ## End(Not run)

Run the code above in your browser using DataLab