2
$\begingroup$

I'm using libSVM for a binary classification problem. After a test instance is assigned a label (1 or -1), I also want to know how likely it is assigned such a label.

I'm thinking about calculating the distance from the instance to the hyperplane in the feature space. The larger the distance is, the more likely the label assignment is correct.

Is my idea correct? Or is there already such an option in libSVM for my purpose?

$\endgroup$
1

1 Answer 1

1
$\begingroup$

The usual approach is to use Platt's method of fitting a univariate logistic regression model to the output of the SVM. However, if you want a probabilistic output, it is probably better to go for kernel logistic regression, which estimates the probabilities directly, rather than training a discriminative classifier and post-processing the output.

Gaussian process classification would also be another method that may be better suited, see the excellent book by Rasmussen and Williams, and the equally excellent MATLAB toolbox that goes with it.

$\endgroup$
2
  • $\begingroup$ Thanks. One more question, is there a c/c++ library for the Gaussian process classification? $\endgroup$
    – user11869
    Oct 22, 2012 at 17:50
  • $\begingroup$ I suspect there is something suitable in the list of software packages here: gaussianprocess.org/#code . I use the GPML Matlab toolbox myself, so I can't offer a useful opinion on the other packages. $\endgroup$ Oct 22, 2012 at 18:05

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.