title: An SVM implementation supporting non-linear kernels and multi-label on a one-vs.-rest
body: <p>I'm looking for a SVM implementation with support for non-linear kernels and one-vs-rest scenario, to perform a multi-label classification. Preferably, written in Python, or that I can call from Python with wrappers.</p>
  
  <p>I was looking into sklearn, and there are two implementations to use SVM for classification:</p>
  
  <p><a href="http://scikit-learn.org/stable/modules/generated/sklearn.svm.LinearSVC.html" rel="noreferrer">sklearn.svm.LinearSVC</a>
  - supports multi-label classification with a one-vs.-rest scenario, but it's based on liblinear, and therefore only supports linear kernels.</p>
  
  <p><a href="http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html" rel="noreferrer">sklearn.svm.SVC</a>
  - based on libsvm, supports non-linear kernels, but multi-label classification is done under a one-vs.-one reduction, it trains K (K − 1) / 2 binary classifiers for a K-way multiclass problem.</p>
  
  <p>More info also here:
  <a href="http://scikit-learn.org/stable/modules/multiclass.html" rel="noreferrer">http://scikit-learn.org/stable/modules/multiclass.html</a></p>
  
  <p>Does anyone knows any other SVM implementations directly supporting multi-label classification and non-linear kernels ? </p>
  
  <p>One possible solution could also be to adapt the code based on sklearn.svm.SVC, to perform One-vs-Rest, was this already attempted before?</p>