how can we know the most imortant predictor in Discriminant analysis

17 views (last 30 days)
hey every one i used the classify function in matlab to implement Discriminant analysis to classify three groups how can we know the most important predictors or the important of each predictors (variables) we used in Discriminant analysis.
thanks for advance

Answers (1)

Ilya
Ilya on 26 Feb 2014
After the training data are standardized to zero mean and unit variance, you can use the coefficient magnitude as a measure of the predictor importance. If you switch to the new ClassificationDiscriminant class, this measure is stored in the DeltaPredictor property.
Otherwise use the sequentialfs function to rank predictors. Unless the number of predictors is very large, I would recommend backward elimination over forward addition.
  3 Comments
Ilya
Ilya on 21 Mar 2014
Take a look at the doc or help for classify. coeff is 5th output, not 3rd.
abs(coeff(1,2).linear)
gives you the magnitude of coefficients for separation of classes 1 and 2. The larger the magnitude, the more important the predictor.
This advice does not apply to quadratic discriminant.
Sand
Sand on 18 Jul 2019
Dear IIya,
I came across this old post as I would like to find linear coefficient of my linear discriminant classifier.
This is what I simply did
load fisheriris
LDAClassifier = ClassificationDiscriminant.fit( meas(51:end,:), species(51:end), 'DiscrimType', 'linear');
LDAClassifier.DeltaPredictor
ans =
1.0298 0.8875 1.7863 1.4821
That is fine, however, if I use a ClassificationPartitionedModel
LDAClassifier = ClassificationDiscriminant.fit( meas(51:end,:), species(51:end), 'DiscrimType', 'linear', 'Leaveout', 'on');
DeltaPredictor are no longer available. How can I linear coefficients in this case?
Thank you very much for your help,
Andrea

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!