How can I determine feature importance of an SVM classifier?

138 次查看(过去 30 天)
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? 

采纳的回答

MathWorks Support Team
编辑:MathWorks Support Team 2021-9-28
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 个)

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by