Main Content

crossval

Class: ClassificationDiscriminant

Cross-validated discriminant analysis classifier

Syntax

cvmodel = crossval(obj)
cvmodel = crossval(obj,Name,Value)

Description

cvmodel = crossval(obj) creates a partitioned model from obj, a fitted discriminant analysis classifier. By default, crossval uses 10-fold cross validation on the training data to create cvmodel.

cvmodel = crossval(obj,Name,Value) creates a partitioned model with additional options specified by one or more Name,Value pair arguments.

Input Arguments

obj

Discriminant analysis classifier, produced using fitcdiscr.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

CVPartition

Object of class cvpartition, created by the cvpartition function. crossval splits the data into subsets with cvpartition.

Use only one of these options at a time: 'CVPartition', 'Holdout', 'KFold', or 'Leaveout'.

Default: []

Holdout

Holdout validation tests the specified fraction of the data, and uses the rest of the data for training. Specify a numeric scalar from 0 to 1. Use only one of these options at a time: 'CVPartition', 'Holdout', 'KFold', or 'Leaveout'.

KFold

Number of folds to use in a cross-validated classifier, a positive integer value greater than 1.

Use only one of these options at a time: 'CVPartition', 'Holdout', 'KFold', or 'Leaveout'.

Default: 10

Leaveout

Set to 'on' for leave-one-out cross validation.

Use only one of these options at a time: 'CVPartition', 'Holdout', 'KFold', or 'Leaveout'.

Examples

Create a classification model for the Fisher iris data, and then create a cross-validation model. Evaluate the quality the model using kfoldLoss.

load fisheriris
obj = fitcdiscr(meas,species);
cvmodel = crossval(obj);
L = kfoldLoss(cvmodel)

L =
    0.0200

Tips

  • Assess the predictive performance of obj on cross-validated data using the “kfold” methods and properties of cvmodel, such as kfoldLoss.

Alternatives

You can create a cross-validation classifier directly from the data, instead of creating a discriminant analysis classifier followed by a cross-validation classifier. To do so, include one of these options in fitcdiscr: 'CrossVal', 'CVPartition', 'Holdout', 'KFold', or 'Leaveout'.