How can I determine feature importance of an SVM classifier?
126 views (last 30 days)
Show older comments
MathWorks Support Team
on 14 Jun 2018
Edited: MathWorks Support Team
on 28 Sep 2021
I would like to calculate feature importance for a SVM classifier, e.g. by using the metric "mean decrease accuracy".
This means I need to know how the accuracy of my classifier (calculated by cross validation) changes if I leave out features one by one.
I found functions for classification trees, but nor for SVM. How could I calculate this for SVMs?
Accepted Answer
MathWorks Support Team
on 2 Sep 2021
Edited: MathWorks Support Team
on 28 Sep 2021
In general, unless you are using a linear kernel SVM, it is not possible to use the parameters of an SVM model to analyze the importance of your features. You can refer to the following external discussions for more information about this reasoning:
Nevertheless, you can still analyze the feature importance for your classification problem (not specific to SVM) by doing some dimensional reduction or feature extraction.
For instance, you can perform neighborhood component analysis using the "fscnca" function in MATLAB to identify relevant features for your classification:
Another popular technique for feature selection is sequential feature selection which can help you select features for classifying high dimensional data:
You can also refer to the following documentation link for other dimensionality reduction and feature extraction techniques in MATLAB:
0 Comments
More Answers (0)
See Also
Categories
Find more on Classification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!