Clear Filters
Clear Filters

What happens if I use fitcecoc for a two-class classification, and how is it different from fitcsvm in such a scenario?

16 views (last 30 days)
I have been using SVM-ECOC (i.e. fitcecoc) in classifying two different orientations in my data, and it;s results are much better than when I use fitcsvm in terms of decoding accuracy. I am wondering how are these two functions essentially different when dealing with such a binary classification, and why does fitcecoc performs better?

Answers (2)

Umar
Umar on 23 Jun 2024 at 0:55
Moved: Image Analyst on 23 Jun 2024 at 3:07
Hi, to the best of my knowledge if I recall in binary classification tasks like the one described, fitcecoc (Error-Correcting Output Codes) and fitcsvm (Support Vector Machine) operate differently. fitcecoc uses a strategy that decomposes the multi-class problem into multiple binary classification subproblems, which can enhance the model's ability to capture complex decision boundaries. On the other hand, fitcsvm directly builds a binary classifier without this decomposition.
The superior performance of fitcecoc in this scenario could be attributed to its ability to handle intricate relationships between classes more effectively by breaking down the problem into simpler binary decisions. This decomposition strategy can lead to better generalization and improved accuracy, especially when dealing with complex data distributions or overlapping classes.
Hope this answers your question.

the cyclist
the cyclist on 23 Jun 2024 at 2:23
Disclaimer: I have not directly tested this idea.
The defalt binary learner for fitcecoc is SVM. Therefore, I would expect the result of fitcecoc on a binary classification problem (assuming you do not change the Learner name-value parameter) to be the same as fitcsvm, to within statistical error arising from possibly different starting points, random number selections, and convergence criteria.

Community Treasure Hunt

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

Start Hunting!