# How do the multiclass SVM model function 'fitcecoc' work?

95 views (last 30 days)
tinkiewinkie on 5 Mar 2020
Commented: Dinesh Yadav on 9 Mar 2020
Mdl = fitcecoc(X,Y)
Suppose I have 4 classes as below: As seen from the table below, suppose for learner 1, the svm predicted it as Cat. For learner 2 it was predicted as Fish. For learner 3 it is predicted as Cat. For learner 4 it is predicted as Fish. For learner 5 it is predicted as Rabbit. For learner 6 it is predicted as Rabbit. How do the ECOC svm determine if it is cat, fish or rabbit in this case?

Dinesh Yadav on 9 Mar 2020
Kindly go through the documentation of fitcecoc and go through the sub sections Coding Design and Error Correcting Output Codes Model part to understand how it works.

Show 1 older comment
Dinesh Yadav on 9 Mar 2020
The above example is using one vs one SVM multiclass classification. One vs One classification works in a way lets say there are 4 classes, for each pair of classes there will be one binary learner. Therefore total no of binay learners is 4C2 i.e. (4x3)/2 = 6 (as shown in above case). +1 corresponds to belonging to that particular class and -1 says it does not belong to that class. With each +1 and -1 there is also a probability associated which is not shown here. So going by above example for one data point learner 1 and 3 says its a Cat, learner 2 and 4 says its a Fish and learner 5 and 6 says its a Rabbit. So whichever learner has the highest probability wins the final decision.
You can get the probabilty by computing the confusion matrix.
tinkiewinkie on 9 Mar 2020
From what I understand, confusion matrix only gives me the final result of the classifcation (post-classification) how many of which are classified correctly and how many are classified wrongly. From your explanation, the probability you mentioned is a decision maker that is still within the classification process itself. May I know how I should compute the probability in this case?
Dinesh Yadav on 9 Mar 2020
Sorry my bad it wont be probability but classification score. Also i have taken above data point as test data point not training. The score would be computed as in doc under Error Correcting Output Codes Model.