How do I determine the optimal C / Gamma settings in libsvm?
I am using libsvm for multi-class classification of datasets with a lot of features / attributes (about 5800 per item). I would like to choose better parameters for C and Gamma than the default that I am currently using.
I've already tried easy.py running, but for the datasets I use, the estimated time is almost forever (runs easy.py on 20, 50, 100, and 200 sample data and got a superlinear regression that projected my required runtime to take years).
Is there a way to achieve higher C and Gamma values ββfaster than the default? I am using Java Libraries if it matters.
a source to share
It is possible to accomplish this without looking for a grid, which I suppose easy.py
does.
Take a look at this article from Trevor Hastie et al: A Whole Regularization Path for a Vector Support Machine (PDF). One "SVM run" will calculate the loss for all "C" values ββin one snapshot, so you can see how this affects SVM performance.
They have an implementation of this algorithm that you can use in R via svmpath .
I believe the core of the algorithm is written in fortran but wrapped in R.
a source to share