Recursive Partitioning and Regression Trees
- , rpart
rpart(formula, data, weights, subset, na.action=na.rpart, method, model=F, x=F, y=T, parms, control=rpart.control(...), ...)
- a formula, as in the
- an optional data frame in which to interpret the variables named in the formula
- optional weights (currently ignored).
- optional expression saying that only a subset of the rows of the data should be used in the fit.
- The default action deletes all observations for which
yis missing, but keeps those in which one or more predictors are missing.
- one of
methodis missing then the routine tries to make an intellegent guess. If
yis a survival object, then
- keep a copy of the model frame in the result.
If the input value for
modelis a model frame (likely from an earlier call to the
rpartfunction), then this frame is used rather than constructing new data.
- keep a copy of the
xmatrix in the result.
- keep a copy of the dependent variable in the result.
- optional parameters for the splitting function. Anova splitting has no parameters. Poisson splitting has a single parameter, the coefficient of variation of the prior distribution on the rates. The default value is 1. Exponential splitting has the same p
- options that control details of the
- arguments to
rpart.controlmay also be specified in the call to
This differs from the
tree function mainly in its handling of surrogate
- an object of class
rpart, a superset of class
Breiman, Friedman, Olshen, and Stone. (1984) Classification and Regression Trees. Wadsworth.
data(kyphosis) fit <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis) fit2 <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis, parms=list(prior=c(.65,.35), split='information')) fit3 <- rpart(Kyphosis ~ Age + Number + Start, data=kyphosis, control=rpart.control(cp=.05)) par(mfrow=c(1,2)) plot(fit) text(fit,use.n=T) plot(fit2) text(fit2,use.n=T)
# Set random seed. Don't remove this line. set.seed(1) # Take a look at the iris dataset str(iris) summary(iris) # A decision tree model has been built for you tree <- rpart(Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width, data = iris, method = "class") # A dataframe containing unseen observations unseen <- data.frame(Sepal.Length = c(5.3, 7.2), Sepal.Width = c(2.9, 3.9), Petal.Length = c(1.7, 5.4), Petal.Width = c(0.8, 2.3)) # Predict the label of the unseen observations. Print out the result. predict(tree, unseen, type = "class")