sortinghat (version 0.1)

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

Description

We provide a wrapper function to estimate the error rate of a classifier using any of the following estimators:#' [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Usage

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

Value

  • an estimate of the classifier's error rate

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.

Examples

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)