def liblinear_svc(name,
                  C=None,
                  loss=None,
                  penalty=None,
                  dual=None,
                  tol=None,
                  multi_class=None,
                  fit_intercept=None,
                  intercept_scaling=None,
                  class_weight=None,
                  random_state=None,
                  verbose=False):

    def _name(msg):
        return '%s.%s_%s' % (name, 'linear_svc', msg)

    """
    The combination of penalty='l1' and loss='l1' is not supported
    penalty='l2' and ploss='l1' is only supported when dual='true'
    penalty='l1' is only supported when dual='false'
    """
    loss_penalty_dual = hp.choice(_name('loss_penalty_dual'),
                                  [('l1', 'l2', True),
                                   ('l2', 'l2', True),
                                   ('l2', 'l1', False),
                                   ('l2', 'l2', False)])

    rval = scope.sklearn_LinearSVC(
        C=_svc_C(name + '.liblinear') if C is None else C,
        loss=loss_penalty_dual[0] if loss is None else loss,
        penalty=loss_penalty_dual[1] if penalty is None else penalty,
        dual=loss_penalty_dual[2] if dual is None else dual,
        tol=_svc_tol(name + '.liblinear') if tol is None else tol,
        multi_class=hp.choice(
            _name('multi_class'),
            ['ovr', 'crammer_singer']) if multi_class is None else multi_class,
        fit_intercept=hp.choice(
            _name('fit_intercept'),
            [True, False]) if fit_intercept is None else fit_intercept,
        random_state=_random_state(_name('rstate'), random_state),
        verbose=verbose,
        )
    return rval
Example #2
0
def liblinear_svc(name,
                  C=None,
                  loss=None,
                  penalty=None,
                  dual=None,
                  tol=None,
                  multi_class=None,
                  fit_intercept=None,
                  intercept_scaling=None,
                  class_weight=None,
                  random_state=None,
                  verbose=False):
    def _name(msg):
        return '%s.%s_%s' % (name, 'linear_svc', msg)

    """
    The combination of penalty='l1' and loss='l1' is not supported
    penalty='l2' and ploss='l1' is only supported when dual='true'
    penalty='l1' is only supported when dual='false'
    """
    loss_penalty_dual = hp.choice(_name('loss_penalty_dual'),
                                  [('l1', 'l2', True), ('l2', 'l2', True),
                                   ('l2', 'l1', False), ('l2', 'l2', False)])

    rval = scope.sklearn_LinearSVC(
        C=_svc_C(name + '.liblinear') if C is None else C,
        loss=loss_penalty_dual[0] if loss is None else loss,
        penalty=loss_penalty_dual[1] if penalty is None else penalty,
        dual=loss_penalty_dual[2] if dual is None else dual,
        tol=_svc_tol(name + '.liblinear') if tol is None else tol,
        multi_class=hp.choice(_name('multi_class'), ['ovr', 'crammer_singer'])
        if multi_class is None else multi_class,
        fit_intercept=hp.choice(_name('fit_intercept'), [True, False])
        if fit_intercept is None else fit_intercept,
        random_state=_random_state(_name('rstate'), random_state),
        verbose=verbose,
    )
    return rval
Example #3
0
def liblinear_svc(name,
                  C=None,
                  loss=None,
                  penalty=None,
                  dual=None,
                  tol=None,
                  multi_class=None,
                  fit_intercept=True,
                  intercept_scaling=None,
                  class_weight='choose',
                  random_state=None,
                  verbose=False,
                  max_iter=1000):

    def _name(msg):
        return '%s.%s_%s' % (name, 'linear_svc', msg)

    loss_penalty_dual = _svm_loss_penalty_dual(_name('loss_penalty_dual'))

    rval = scope.sklearn_LinearSVC(
        C=_svm_C(_name('C')) if C is None else C,
        loss=loss_penalty_dual[0] if loss is None else loss,
        penalty=loss_penalty_dual[1] if penalty is None else penalty,
        dual=loss_penalty_dual[2] if dual is None else dual,
        tol=_svm_tol(_name('tol')) if tol is None else tol,
        multi_class=(hp.choice(_name('multiclass'), ['ovr', 'crammer_singer'])
                     if multi_class is None else multi_class),
        fit_intercept=fit_intercept,
        intercept_scaling=(_svm_int_scaling(_name('intscaling'))
                           if intercept_scaling is None else intercept_scaling),
        class_weight=(_class_weight(_name('clsweight'))
                      if class_weight == 'choose' else class_weight),
        random_state=_random_state(_name('rstate'), random_state),
        verbose=verbose,
        max_iter=max_iter,
    )
    return rval
Example #4
0
def liblinear_svc(name,
                  C=None,
                  loss=None,
                  penalty=None,
                  dual=None,
                  tol=None,
                  multi_class=None,
                  fit_intercept=True,
                  intercept_scaling=None,
                  class_weight='choose',
                  random_state=None,
                  verbose=False,
                  max_iter=1000):

    def _name(msg):
        return '%s.%s_%s' % (name, 'linear_svc', msg)

    loss_penalty_dual = _svm_loss_penalty_dual(_name('loss_penalty_dual'))

    rval = scope.sklearn_LinearSVC(
        C=_svm_C(_name('C')) if C is None else C,
        loss=loss_penalty_dual[0] if loss is None else loss,
        penalty=loss_penalty_dual[1] if penalty is None else penalty,
        dual=loss_penalty_dual[2] if dual is None else dual,
        tol=_svm_tol(_name('tol')) if tol is None else tol,
        multi_class=(hp.choice(_name('multiclass'), ['ovr', 'crammer_singer'])
                     if multi_class is None else multi_class),
        fit_intercept=fit_intercept,
        intercept_scaling=(_svm_int_scaling(_name('intscaling'))
                           if intercept_scaling is None else intercept_scaling),
        class_weight=(_class_weight(_name('clsweight'))
                      if class_weight == 'choose' else class_weight),
        random_state=_random_state(_name('rstate'), random_state),
        verbose=verbose,
        max_iter=max_iter,
    )
    return rval