how can we know the most imortant predictor in Discriminant analysis
6 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
回答(1 个)
Ilya
2014-2-26
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 个评论
Ilya
2014-3-21
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
2019-7-18
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!