How do the multiclass SVM model function 'fitcecoc' work?
이전 댓글 표시
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?
답변 (1개)
Dinesh Yadav
2020년 3월 9일
0 개 추천
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.
댓글 수: 4
tinkiewinkie
2020년 3월 9일
Dinesh Yadav
2020년 3월 9일
편집: Dinesh Yadav
2020년 3월 9일
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.
Hope it Clears your doubt.
tinkiewinkie
2020년 3월 9일
Dinesh Yadav
2020년 3월 9일
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.
카테고리
도움말 센터 및 File Exchange에서 Classification Ensembles에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!