errorest: Wrapper function to estimate the error rate of a classifier

Description Usage Arguments Details Value Examples

View source: R/errorest-wrapper.r

Description

We provide a wrapper function to estimate the error rate of a classifier using any of the following estimators:#'

errorest_cv:

Cross-validation Error Rate

errorest_boot:

Bootstrap Error Rate

errorest_632:

.632 Estimator from Efron (1983)

errorest_632plus:

.632+ Estimator from Efron and Tibshirani (1997)

errorest_bcv:

Bootstrap Cross-validation from Fu et al. (2005)

errorest_loo_boot:

Leave-One-Out Bootstrap Error Rate

errorest_apparent:

Apparent Error Rate

Usage

1
2
3
  errorest(x, y,
    estimator = c("cv", "boot", "632", "632+", "bcv", "loo-boot", "apparent"),
    train, classify, ...)

Arguments

x

a matrix of n observations and p features

y

a vector of n class labels. (Must to be a 'factor'.)

estimator

the estimator used to compute the error rate

train

a function that builds the classifier. (See details.)

classify

a function that classifies observations from the constructed classifier from train. (See Details.)

...

additional arguments passed to the error-rate estimation code

Details

This wrapper function provides a common means to estimate classification error rates and is useful for simulation studies where multiple error-rate estimators are being considered.

For details about an individual error-rate estimator, please see its respective documentation.

Value

an estimate of the classifier's error rate

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
require('MASS')
iris_x <- data.matrix(iris[, -5])
iris_y <- iris[, 5]

# Because the \code{classify} function returns multiples objects in a list,
# we provide a wrapper function that returns only the class labels.
lda_wrapper <- function(object, newdata) { predict(object, newdata)$class }

# Cross-Validation (default)
errorest(x = iris_x, y = iris_y, train = MASS:::lda, classify = lda_wrapper)

# .632
errorest(x = iris_x, y = iris_y, estimator = "632", train = MASS:::lda,
         classify = lda_wrapper)

# Bootstrap Error Rate
# The argument 'num_bootstraps' is passed on to 'errorest_boot'
errorest(x = iris_x, y = iris_y, estimator = "boot", train = MASS:::lda,
         classify = lda_wrapper, num_bootstraps = 42)

Example output

Loading required package: MASS
[1] 0.02
[1] 0.02204862
[1] 0.01968254

sortinghat documentation built on May 30, 2017, 4:52 a.m.