Something that might help this is moving the default `train_wrap` argument
values (for parameters that not all solvers require to set) to the `pyx`.

On Fri, Apr 19, 2013 at 2:06 PM, Qiang Luo <notifications@github.com> wrote:

> In sklearn/svm/base.py:
>
> > @@ -612,8 +617,12 @@ def _get_solver_type(self):
> >              if self.multi_class != 'ovr':
> >                  raise ValueError("`multi_class` must be one of `ovr`, "
> >                                   "`crammer_singer`")
> > -            solver_type = "P%s_L%s_D%d" % (
> > -                self.penalty.upper(), self.loss.upper(), int(self.dual))
> > +            if self.svr:
>
> If we just want BaseLibLinear to be base, we need to move
> _get_solver_type, code for data validation to subclass and leave only
> fit(). We also need to handle epsilon, class_weight specially in different
> subclasses. Maybe we can build a dict containing all parameters in fit() of
> subclass and pass X,y,solver_type,dict to fit in BaseLibLinear.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/scikit-learn/scikit-learn/pull/1867/files#r3867422>
> .
>