covartech / PRT

Pattern Recognition Toolbox for MATLAB
http://covartech.github.io/
MIT License
145 stars 70 forks source link

SVM multiclass problem with probability estimates #29

Closed giuliano0 closed 9 years ago

giuliano0 commented 9 years ago

Hello,

As far as I could dig in, I could not find a way of training a M-Ary classifier using prtClassLibSvm as a base classifier and output not the class, but the probability estimates for each of the classes.

What am I missing? Thanks.

peterTorrione commented 9 years ago

Hello Giuliano,

Does LIBSVM support multi-class probabalistic classification? I do not think it does... See:

http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#multi_class_classification_and_probability_output_via_error_correcting_codes

Since our code is built on LIBSVM, that might be difficult. As a work-around, you might consider something like this:

class = prtPreProcZmuv + prtClassBinaryToMaryOneVsAll('baseClassifier',prtClassLibSvm);

Which I think will output the results of one-vs-all classifications for LibSVM.

If this isn't working for you, let us know what you have tried.

giuliano0 commented 9 years ago

In fact, Wu et al (http://www.csie.ntu.edu.tw/~cjlin/papers/svmprob/svmprob.pdf) have already devised such a tool, as the link you gave me, but everything is some kind of extension.

Anyway, I wanted to know if PRT had an implementation of such a tool already and I wasn't finding it.

I'll try something out. Thanks!

kennethmorton commented 9 years ago

We have not integrated with anything like that at this time. For now your best option with the PRT is to use the one vs all wrapper. We will look into including some sort of M-ary SVM in the future.

Kenny