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

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.

Author

Luca Scrucca

See also

Examples

if (FALSE) { 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")] }