Learn R Programming

mclust (version 5.4.5)

cvMclustDA: MclustDA cross-validation

Description

K-fold cross-validation for discriminant analysis based on Gaussian finite mixture modeling.

Usage

cvMclustDA(object, nfold = 10, 
           metric = c("error", "brier"),
           prop = object$prop,
           verbose = interactive(), …)

Arguments

object

An object of class 'MclustDA' resulting from a call to MclustDA.

nfold

An integer specifying the number of folds.

metric

A character string specifying the statistic to be used in the cross-validation resampling process. Possible values are "error" for the classification error, and "brier" for the Brier score.

prop

A vector of class prior probabilities, which if not provided default to the class proportions in the training data.

verbose

A logical controlling if a text progress bar is displayed during the cross-validation procedure. By default is TRUE if the session is interactive, and FALSE otherwise.

Further arguments passed to or from other methods.

Value

The function returns a list with the following components:

classification

a factor of cross-validated class labels.

z

a matrix containing the cross-validated probabilites for class assignement.

error

the cross-validation classification error if metric = "error", NA otherwise.

brier

the cross-validation Brier score if metric = "brier", NA otherwise.

se

the standard error of the cross-validated statistic.

See Also

summary.MclustDA, plot.MclustDA, predict.MclustDA, classError, BrierScore

Examples

Run this code
# NOT RUN {
X <- iris[,-5]
Class <- iris[,5]

# common EEE covariance structure (which is essentially equivalent to linear discriminant analysis)
irisMclustDA <- MclustDA(X, Class, modelType = "EDDA", modelNames = "EEE")
cv <- cvMclustDA(irisMclustDA)  # default 10-fold CV
cv[c("error", "se")]

cv <- cvMclustDA(irisMclustDA, nfold = length(Class))  # LOO-CV
cv[c("error", "se")] 

cv <- cvMclustDA(irisMclustDA, metric = "brier")  # 10-fold CV with Brier score metric
cv[c("brier", "se")]

# general covariance structure selected by BIC
irisMclustDA <- MclustDA(X, Class)
cv <- cvMclustDA(irisMclustDA)  # default 10-fold CV
cv[c("error", "se")]
cv <- cvMclustDA(irisMclustDA, metric = "brier")  # 10-fold CV with Brier score metric
cv[c("brier", "se")]
# }

Run the code above in your browser using DataLab