prune.ODT {ODRF}R Documentation

pruning of class ODT

Description

Prune ODT from bottom to top with validation data based on prediction error.

Usage

## S3 method for class 'ODT'
prune(obj, X, y, MaxDepth = 1, ...)

Arguments

obj

an object of class ODT.

X

An n by d numeric matrix (preferable) or data frame is used to prune the object of class ODT.

y

A response vector of length n.

MaxDepth

The maximum depth of the tree after pruning. (Default 1)

...

Optional parameters to be passed to the low level function.

Details

The leftmost value of the horizontal axis indicates the tree without pruning, while the rightmost value indicates the data without splitting and using the average value as the predicted value.

Value

An object of class ODT and prune.ODT.

See Also

ODT plot.prune.ODT prune.ODRF online.ODT

Examples

# Classification with Oblique Decision Tree
data(seeds)
set.seed(221212)
train <- sample(1:209, 100)
train_data <- data.frame(seeds[train, ])
test_data <- data.frame(seeds[-train, ])
index <- seq(floor(nrow(train_data) / 2))
tree <- ODT(varieties_of_wheat ~ ., train_data[index, ], split = "entropy")
prune_tree <- prune(tree, train_data[-index, -8], train_data[-index, 8])
pred <- predict(prune_tree, test_data[, -8])
# classification error
(mean(pred != test_data[, 8]))

# Regression with Oblique Decision Tree
data(body_fat)
set.seed(221212)
train <- sample(1:252, 100)
train_data <- data.frame(body_fat[train, ])
test_data <- data.frame(body_fat[-train, ])
index <- seq(floor(nrow(train_data) / 2))
tree <- ODT(Density ~ ., train_data[index, ], split = "mse")
prune_tree <- prune(tree, train_data[-index, -1], train_data[-index, 1])
pred <- predict(prune_tree, test_data[, -1])
# estimation error
mean((pred - test_data[, 1])^2)


[Package ODRF version 0.0.4 Index]