Exemplo n.º 1
0
def sgd_regression(name,
    loss=None,            #default - 'hinge'
    penalty=None,         #default - 'l2'
    alpha=None,           #default - 0.0001
    l1_ratio=None,        #default - 0.15, must be within [0, 1]
    fit_intercept=None,   #default - True
    n_iter=None,          #default - 5
    shuffle=None,         #default - False
    random_state=None,    #default - None
    epsilon=None,         #default - 0.1
    learning_rate=None,   #default - 'invscaling'
    eta0=None,            #default - 0.01
    power_t=None,         #default - 0.5
    warm_start=False,
    verbose=0,
    ):

    def _name(msg):
      return '%s.%s_%s' % (name, 'sgd', msg)
    
    rval = scope.sklearn_SGDRegressor(
        loss=hp.pchoice(
            _name('loss'),
            [ (0.25, 'squared_loss'), 
              (0.25, 'huber'), 
              (0.25, 'epsilon_insensitive'), 
              (0.25, 'squared_epsilon_insensitive') ] ) if loss is None else loss,
        penalty=hp.pchoice(
            _name('penalty'),
            [ (0.40, 'l2'), 
              (0.35, 'l1'),
              (0.25, 'elasticnet') ] ) if penalty is None else penalty,
        alpha=hp.loguniform(
            _name('alpha'),
            np.log(1e-7),
            np.log(1)) if alpha is None else alpha,
        l1_ratio=hp.uniform(
            _name('l1_ratio'),
            0, 1 ) if l1_ratio is None else l1_ratio,
        fit_intercept=hp.pchoice(
            _name('fit_intercept'),
            [ (0.8, True), (0.2, False) ]) if fit_intercept is None else fit_intercept,
        epsilon=hp.loguniform(
            _name('epsilon'),
            np.log(1e-7),
            np.log(1)) if epsilon is None else epsilon,
        learning_rate='invscaling' if learning_rate is None else learning_rate,
        eta0=hp.loguniform(
            _name('eta0'),
            np.log(1e-5),
            np.log(1e-1)) if eta0 is None else eta0,
        power_t=hp.uniform(
            _name('power_t'),
            0, 1) if power_t is None else power_t,
        verbose=verbose,
        random_state=random_state,
        )
    return rval
Exemplo n.º 2
0
def sgd_regression(
    name,
    loss=None,  #default - 'hinge'
    penalty=None,  #default - 'l2'
    alpha=None,  #default - 0.0001
    l1_ratio=None,  #default - 0.15, must be within [0, 1]
    fit_intercept=None,  #default - True
    n_iter=None,  #default - 5
    shuffle=None,  #default - False
    random_state=None,  #default - None
    epsilon=None,  #default - 0.1
    learning_rate=None,  #default - 'invscaling'
    eta0=None,  #default - 0.01
    power_t=None,  #default - 0.5
    warm_start=False,
    verbose=0,
):
    def _name(msg):
        return '%s.%s_%s' % (name, 'sgd', msg)

    rval = scope.sklearn_SGDRegressor(
        loss=hp.pchoice(_name('loss'), [(0.25, 'squared_loss'),
                                        (0.25, 'huber'),
                                        (0.25, 'epsilon_insensitive'),
                                        (0.25, 'squared_epsilon_insensitive')])
        if loss is None else loss,
        penalty=hp.pchoice(_name('penalty'), [(0.40, 'l2'), (0.35, 'l1'),
                                              (0.25, 'elasticnet')])
        if penalty is None else penalty,
        alpha=hp.loguniform(_name('alpha'), np.log(1e-7), np.log(1))
        if alpha is None else alpha,
        l1_ratio=hp.uniform(_name('l1_ratio'), 0, 1)
        if l1_ratio is None else l1_ratio,
        fit_intercept=hp.pchoice(_name('fit_intercept'), [(0.8, True),
                                                          (0.2, False)])
        if fit_intercept is None else fit_intercept,
        epsilon=hp.loguniform(_name('epsilon'), np.log(1e-7), np.log(1))
        if epsilon is None else epsilon,
        learning_rate='invscaling' if learning_rate is None else learning_rate,
        eta0=hp.loguniform(_name('eta0'), np.log(1e-5), np.log(1e-1))
        if eta0 is None else eta0,
        power_t=hp.uniform(_name('power_t'), 0, 1)
        if power_t is None else power_t,
        verbose=verbose,
        random_state=random_state,
    )
    return rval
Exemplo n.º 3
0
def sgd_regression(name,
                   loss=None,  # default - 'squared_loss'
                   penalty=None,  # default - 'l2'
                   alpha=None,  # default - 0.0001
                   l1_ratio=None,  # default - 0.15, must be within [0, 1]
                   fit_intercept=True,  # default - True
                   n_iter=5,  # default - 5
                   shuffle=None,  # default - False
                   random_state=None,  # default - None
                   epsilon=None,  # default - 0.1
                   learning_rate=None,  # default - 'invscaling'
                   eta0=None,  # default - 0.01
                   power_t=None,  # default - 0.5
                   warm_start=False,
                   verbose=False):

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

    rval = scope.sklearn_SGDRegressor(
        loss=hp.pchoice(_name('loss'), [
            (0.25, 'squared_loss'),
            (0.25, 'huber'),
            (0.25, 'epsilon_insensitive'),
            (0.25, 'squared_epsilon_insensitive')
        ]) if loss is None else loss,
        penalty=_sgd_penalty(_name('penalty')) if penalty is None else penalty,
        alpha=_sgd_alpha(_name('alpha')) if alpha is None else alpha,
        l1_ratio=(_sgd_l1_ratio(_name('l1ratio'))
                  if l1_ratio is None else l1_ratio),
        fit_intercept=fit_intercept,
        n_iter=n_iter,
        # For regression, use the SVM epsilon instead of the SGD one.
        epsilon=_svm_epsilon(_name('epsilon')) if epsilon is None else epsilon,
        learning_rate=(_sgdr_learning_rate(_name('learning_rate'))
                       if learning_rate is None else learning_rate),
        eta0=_sgd_eta0(_name('eta0')) if eta0 is None else eta0,
        power_t=_sgd_power_t(_name('power_t')) if power_t is None else power_t,
        verbose=verbose,
        random_state=_random_state(_name('rstate'), random_state),
    )
    return rval
Exemplo n.º 4
0
def sgd_regression(name,
                   loss=None,  # default - 'squared_loss'
                   penalty=None,  # default - 'l2'
                   alpha=None,  # default - 0.0001
                   l1_ratio=None,  # default - 0.15, must be within [0, 1]
                   fit_intercept=True,  # default - True
                   n_iter=5,  # default - 5
                   shuffle=None,  # default - False
                   random_state=None,  # default - None
                   epsilon=None,  # default - 0.1
                   learning_rate=None,  # default - 'invscaling'
                   eta0=None,  # default - 0.01
                   power_t=None,  # default - 0.5
                   warm_start=False,
                   verbose=False):

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

    rval = scope.sklearn_SGDRegressor(
        loss=hp.pchoice(_name('loss'), [
            (0.25, 'squared_loss'),
            (0.25, 'huber'),
            (0.25, 'epsilon_insensitive'),
            (0.25, 'squared_epsilon_insensitive')
        ]) if loss is None else loss,
        penalty=_sgd_penalty(_name('penalty')) if penalty is None else penalty,
        alpha=_sgd_alpha(_name('alpha')) if alpha is None else alpha,
        l1_ratio=(_sgd_l1_ratio(_name('l1ratio'))
                  if l1_ratio is None else l1_ratio),
        fit_intercept=fit_intercept,
        n_iter=n_iter,
        # For regression, use the SVM epsilon instead of the SGD one.
        epsilon=_svm_epsilon(_name('epsilon')) if epsilon is None else epsilon,
        learning_rate=(_sgdr_learning_rate(_name('learning_rate'))
                       if learning_rate is None else learning_rate),
        eta0=_sgd_eta0(_name('eta0')) if eta0 is None else eta0,
        power_t=_sgd_power_t(_name('power_t')) if power_t is None else power_t,
        verbose=verbose,
        random_state=_random_state(_name('rstate'), random_state),
    )
    return rval