def extra_trees(name,
                n_estimators=None,
                criterion=None,
                max_features=None,
                max_depth=None,
                min_samples_split=None,
                min_samples_leaf=None,
                bootstrap=None,
                oob_score=None,
                n_jobs=1,
                random_state=None,
                verbose=False):

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

    bootstrap_oob = hp.choice(_name('bootstrap_oob'),
                              [(True, True),
                               (True, False),
                               (False, False)])

    rval = scope.sklearn_ExtraTreesClassifier(
        n_estimators=scope.int(hp.quniform(
            _name('n_estimators'),
            1, 50, 1)) if n_estimators is None else n_estimators,
        criterion=hp.choice(
            _name('criterion'),
            ['gini', 'entropy']) if criterion is None else criterion,
        max_features=hp.choice(
            _name('max_features'),
            ['sqrt', 'log2',
             None]) if max_features is None else max_features,
        max_depth=max_depth,
        min_samples_split=hp.quniform(
            _name('min_samples_split'),
            1, 10, 1) if min_samples_split is None else min_samples_split,
        min_samples_leaf=hp.quniform(
            _name('min_samples_leaf'),
            1, 5, 1) if min_samples_leaf is None else min_samples_leaf,
        bootstrap=bootstrap_oob[0] if bootstrap is None else bootstrap,
        oob_score=bootstrap_oob[1] if oob_score is None else oob_score,
        #bootstrap=hp.choice(
        #    _name('bootstrap'),
        #    [ True, False ] ) if bootstrap is None else bootstrap,
        #oob_score=hp.choice(
        #    _name('oob_score'),
        #    [ True, False ] ) if oob_score is None else oob_score,
        n_jobs=n_jobs,
        random_state=_random_state(_name('rstate'), random_state),
        verbose=verbose,
        )
    return rval
Beispiel #2
0
def extra_trees(name, criterion=None, **kwargs):
    '''
    Return a pyll graph with hyperparamters that will construct
    a sklearn.ensemble.ExtraTreesClassifier model.

    Args:
        criterion([str]): choose 'gini' or 'entropy'.
    
    See help(hpsklearn.components._trees_hp_space) for info on additional 
    available random forest/extra trees arguments.    
    '''

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

    hp_space = _trees_hp_space(_name, **kwargs)
    hp_space['criterion'] = (_trees_criterion(_name('criterion'))
                             if criterion is None else criterion)
    return scope.sklearn_ExtraTreesClassifier(**hp_space)
Beispiel #3
0
def extra_trees(name, criterion=None, **kwargs):
    '''
    Return a pyll graph with hyperparamters that will construct
    a sklearn.ensemble.ExtraTreesClassifier model.

    Args:
        criterion([str]): choose 'gini' or 'entropy'.
    
    See help(hpsklearn.components._trees_hp_space) for info on additional 
    available random forest/extra trees arguments.    
    '''

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

    hp_space = _trees_hp_space(_name, **kwargs)
    hp_space['criterion'] = (_trees_criterion(_name('criterion'))
                             if criterion is None else criterion)
    return scope.sklearn_ExtraTreesClassifier(**hp_space)
Beispiel #4
0
def extra_trees(name,
                n_estimators=None,
                criterion=None,
                max_features=None,
                max_depth=None,
                min_samples_split=None,
                min_samples_leaf=None,
                bootstrap=None,
                oob_score=None,
                n_jobs=1,
                random_state=None,
                verbose=False):
    def _name(msg):
        return '%s.%s_%s' % (name, 'extra_trees', msg)

    bootstrap_oob = hp.choice(_name('bootstrap_oob'), [(True, True),
                                                       (True, False),
                                                       (False, False)])

    rval = scope.sklearn_ExtraTreesClassifier(
        n_estimators=scope.int(hp.quniform(_name('n_estimators'), 1, 50, 1))
        if n_estimators is None else n_estimators,
        criterion=hp.choice(_name('criterion'), ['gini', 'entropy'])
        if criterion is None else criterion,
        max_features=hp.choice(_name('max_features'), ['sqrt', 'log2', None])
        if max_features is None else max_features,
        max_depth=max_depth,
        min_samples_split=hp.quniform(_name('min_samples_split'), 1, 10, 1)
        if min_samples_split is None else min_samples_split,
        min_samples_leaf=hp.quniform(_name('min_samples_leaf'), 1, 5, 1)
        if min_samples_leaf is None else min_samples_leaf,
        bootstrap=bootstrap_oob[0] if bootstrap is None else bootstrap,
        oob_score=bootstrap_oob[1] if oob_score is None else oob_score,
        n_jobs=n_jobs,
        random_state=_random_state(_name('rstate'), random_state),
        verbose=verbose,
    )
    return rval