This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Class: CompactClassificationDiscriminant

Number of nonzero linear coefficients


ncoeffs = nLinearCoeffs(obj)
ncoeffs = nLinearCoeffs(obj,delta)


ncoeffs = nLinearCoeffs(obj) returns the number of nonzero linear coefficients in the linear discriminant model obj.

ncoeffs = nLinearCoeffs(obj,delta) returns the number of nonzero linear coefficients for threshold parameter delta.

Input Arguments


Discriminant analysis classifier, produced using fitcdiscr.


Scalar or vector value of the Delta parameter. See Gamma and Delta.

Output Arguments


Nonnegative integer, the number of nonzero coefficients in the discriminant analysis model obj.

If you call nLinearCoeffs with a delta argument, ncoeffs is the number of nonzero linear coefficients for threshold parameter delta. If delta is a vector, ncoeffs is a vector with the same number of elements.

If obj is a quadratic discriminant model, ncoeffs is the number of predictors in obj.


Gamma and Delta

Regularization is the process of finding a small set of predictors that yield an effective predictive model. For linear discriminant analysis, there are two parameters, γ and δ, that control regularization as follows. cvshrink helps you select appropriate values of the parameters.

Let Σ represent the covariance matrix of the data X, and let X^ be the centered data (the data X minus the mean by class). Define


The regularized covariance matrix Σ˜ is


Whenever γ ≥ MinGamma, Σ˜ is nonsingular.

Let μk be the mean vector for those elements of X in class k, and let μ0 be the global mean vector (the mean of the rows of X). Let C be the correlation matrix of the data X, and let C˜ be the regularized correlation matrix:


where I is the identity matrix.

The linear term in the regularized discriminant analysis classifier for a data point x is


The parameter δ enters into this equation as a threshold on the final term in square brackets. Each component of the vector [C˜1D1/2(μkμ0)] is set to zero if it is smaller in magnitude than the threshold δ. Therefore, for class k, if component j is thresholded to zero, component j of x does not enter into the evaluation of the posterior probability.

The DeltaPredictor property is a vector related to this threshold. When δ ≥ DeltaPredictor(i), all classes k have


Therefore, when δ ≥ DeltaPredictor(i), the regularized classifier does not use predictor i.


expand all

Find the number of nonzero coefficients in a discriminant analysis classifier for various Delta values.

Create a discriminant analysis classifier from the fishseriris data.

load fisheriris
obj = fitcdiscr(meas,species);

Find the number of nonzero coefficients in obj.

ncoeffs = nLinearCoeffs(obj)
ncoeffs =


Find the number of nonzero coefficients for delta = 1, 2, 4, and 8.

delta = [1 2 4 8];
ncoeffs = nLinearCoeffs(obj,delta)
ncoeffs =


The DeltaPredictor property gives the values of delta where the number of nonzero coefficients changes.

ncoeffs2 = nLinearCoeffs(obj,obj.DeltaPredictor)
ncoeffs2 =

Was this topic helpful?