I perform a multiclass SVM based on one-vs-one design, and I would like to retrieve a ranking of the feature based on feature weigths. In other words, I want to assess (a posteriori) the importance of each feature in the classification. For C classes, C(C-1)/2 binary classifications are performed and then the class selected by most classifiers is chosen for each observation. I can retrieve therefore feature weights for every binary classification. (I am using matlab command fitcecoc, and the weights are stored as beta in the created object).

To obtain a global ranking of the features, I thought of first ranking features in every binary classification by sorting the weights (in absolute value), then adding up the rank that each feature has in every binary classification, and sort these sums in ascending way. In this way, the result is slightly different from what I would obtain by directly summing up the absolute values of the weights of the C(C-1)/2 binary classifications and then rank them afterwards.

Which way do you think is more correct?

Thanks in advance.


  • $\begingroup$ feature weights are not really ranked. You can get a big weight on an unimportant feature or small weights on very important features. Also, they might very unstable. $\endgroup$
    – rep_ho
    Jul 25 '18 at 8:49
  • $\begingroup$ Thanks for your answer! But aren't weights used in a linear combination of features (+bias) to build the hyperplane? I also referred to this thread for interpretation of the weights, but I'm not an expert: stats.stackexchange.com/questions/39243/… $\endgroup$
    – Giulia
    Jul 25 '18 at 11:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.