templateDiscriminant

Discriminant analysis classifier template

Syntax

  • t = templateDiscriminant() example
  • t = templateDiscriminant(Name,Value) example

Description

example

t = templateDiscriminant() returns a discriminant analysis learner template suitable for training ensembles or error-correcting output code (ECOC) multiclass models.

If you specify a default template, then the software uses default values for all input arguments during training.

Specify t as a learner in fitensemble or fitcecoc.

example

t = templateDiscriminant(Name,Value) creates a template with additional options specified by one or more name-value pair arguments.

For example, you can specify the discriminant type or the regularization parameter.

If you display t in the Command Window, then all options appear empty ([]), except those that you specify using name-value pair arguments. During training, the software uses default values for empty options.

Examples

expand all

Create a Discriminant Analysis Template for Ensemble Learning

Create a nondefault discriminant analysis template for use in fitensemble.

Load Fisher's iris data set.

load fisheriris

Create a template for pseudolinear discriminant analysis.

t = templateDiscriminant('DiscrimType','pseudoLinear')
t = 

Fit template for classification Discriminant.

    DiscrimType: 'pseudoLinear'
          Gamma: []
          Delta: []
     FillCoeffs: []
     SaveMemory: []
         Method: 'Discriminant'
           Type: 'classification'

All properties of the template object are empty except for DiscrimType, Method, and Type. When trained on, the software fills in the empty properties with their respective default values.

Specify t as a weak learner for a classification ensemble.

Mdl = fitensemble(meas,species,'Subspace',100,t);

Display the in-sample (resubstitution) misclassification error.

L = resubLoss(Mdl)
L =

    0.0400

Input Arguments

expand all

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: 'DiscrimType','pseudoLinear','SaveMemory','on' specifies a template for pseudolinear discriminant analysis that does not store the full covariance matrix.

'Delta' — Linear coefficient threshold0 (default) | nonnegative scalar value

Linear coefficient threshold, specified as the comma-separated pair consisting of 'Delta' and a nonnegative scalar value. If a coefficient of obj has magnitude smaller than Delta, obj sets this coefficient to 0, and you can eliminate the corresponding predictor from the model. Set Delta to a higher value to eliminate more predictors.

Delta must be 0 for quadratic discriminant models.

Data Types: single | double

'DiscrimType' — Discriminant type'linear' (default) | 'quadratic' | 'diagLinear' | 'diagQuadratic' | 'pseudoLinear' | 'pseudoQuadratic'

Discriminant type, specified as the comma-separated pair consisting of 'DiscrimType' and one of the following:

  • 'linear'

  • 'quadratic'

  • 'diagLinear'

  • 'diagQuadratic'

  • 'pseudoLinear'

  • 'pseudoQuadratic'

Example: 'DiscrimType','quadratic'

'FillCoeffs'Coeffs property flag'on' | 'off'

Coeffs property flag, specified as the comma-separated pair consisting of 'FillCoeffs' and 'on' or 'off'. Setting the flag to 'on' populates the Coeffs property in the classifier object. This can be computationally intensive, especially when cross validating. The default is 'on', unless you specify a cross validation name-value pair, in which case the flag is set to 'off' by default.

Example: 'FillCoeffs','off'

'Gamma' — Regularization parameterscalar value in the range [0,1]

Parameter for regularizing the correlation matrix of predictors, specified as the comma-separated pair consisting of 'Gamma' and a scalar value in the range [0,1].

  • Linear discriminant — Scalar value in the range [0,1].

    • If you pass a value strictly between 0 and 1, fitcdiscr sets the discriminant type to 'Linear'.

    • If you pass 0 for Gamma and 'Linear' for DiscrimType, and if the correlation matrix is singular, fitcdiscr sets Gamma to the minimal value required for inverting the covariance matrix.

    • If you set Gamma to 1, fitcdiscr sets the discriminant type to 'DiagLinear'.

  • Quadratic discriminant — Either 0 or 1.

    • If you pass 0 for Gamma and 'Quadratic' for DiscrimType, and if one of the classes has a singular covariance matrix, fitcdiscr errors.

    • If you set Gamma to 1, fitcdiscr sets the discriminant type to 'DiagQuadratic'.

    • If you set Gamma to a value between 0 and 1 for a quadratic discriminant, fitcdiscr errors.

Example: 'Gamma',1

Data Types: single | double

'SaveMemory' — Flag to save covariance matrix'off' (default) | 'on'

Flag to save covariance matrix, specified as the comma-separated pair consisting of 'SaveMemory' and either 'on' or 'off'. If you specify 'on', then fitcdiscr does not store the full covariance matrix, but instead stores enough information to compute the matrix. The predict method computes the full covariance matrix for prediction, and does not store the matrix. If you specify 'off', then fitcdiscr computes and stores the full covariance matrix in obj.

Specify SaveMemory as 'on' when the input matrix contains thousands of predictors.

Example: 'SaveMemory','on'

Output Arguments

expand all

t — Discriminant analysis classification templatetemplate object

Discriminant analysis classification template suitable for training ensembles or error-correcting output code (ECOC) multiclass models, returned as a template object. Pass t to fitensemble or fitcecoc to specify how to create the discriminant analysis classifier for the ensemble or ECOC model, respectively.

If you display t to the Command Window, then all unspecified options appear empty ([]). However, the software replaces empty options with their corresponding default values during training.

Was this topic helpful?