예제 #1
0
def test_estimator_entry_point():
    config = Config.fromdict(
        {'estimator': {
            'entry_point': 'sklearn.cluster.KMeans',
        }},
        check_fields=False)
    assert isinstance(config.estimator(), KMeans)
예제 #2
0
def test_search_engine_moe_2():
    config = Config.fromdict({
        'strategy': {'name': 'moe', 'params': {'url': 'abc'}}
    }, check_fields=False)
    strat = config.strategy()
    assert isinstance(strat, MOE)
    assert strat.url == 'abc'
예제 #3
0
def test_search_space():
    config = Config.fromdict({
        'search_space': {
            'intvar': {'type': 'int', 'min': 1, 'max': 2},
            'logivar': {'type': 'int', 'min': 1, 'max': 2, 'warp': 'log'},
            'fvar': {'type': 'float', 'min': 1, 'max': 3.5},
            'logfvar': {'type': 'float', 'min': 1, 'max': 2.5, 'warp': 'log'},
            'enumvar': {'type': 'enum', 'choices': [1, False]},
            'jumpivar': {'type': 'jump',  'min': 1, 'max': 3, 'num': 3, 'var_type': int},
            'jumpfvar': {'type': 'jump',  'min': 1, 'max': 3, 'num': 3, 'var_type': float},
            'logjumpivar': {'type': 'jump',  'min': 10, 'max': 1000, 'num': 3, 'warp': 'log', 'var_type': int},
            'logjumpfvar': {'type': 'jump',  'min': 10, 'max': 1000, 'num': 3, 'warp': 'log', 'var_type': float}
        }}, check_fields=False)

    searchspace = config.search_space()
    assert searchspace['intvar'] == IntVariable('intvar', 1, 2, warp=None)
    assert searchspace['logivar'] == IntVariable('logivar', 1, 2, warp='log')
    assert searchspace['fvar'] == FloatVariable('fvar', 1, 3.5, warp=None)
    assert searchspace['logfvar'] == FloatVariable('logfvar', 1, 2.5,
                                                   warp='log')
    assert searchspace['enumvar'] == EnumVariable('enumvar', [1, False])
    assert searchspace['jumpivar'] == EnumVariable('jumpivar', [1, 2, 3])
    assert searchspace['jumpfvar'] == EnumVariable('jumpfvar', [1.0, 2.0, 3.0])
    assert searchspace['logjumpivar'] == EnumVariable('logjumpivar', [10, 100, 1000])
    assert searchspace['logjumpfvar'] == EnumVariable('logjumpfvar', [10.0, 100.0, 1000.0])
예제 #4
0
def test_estimator_entry_point():
    config = Config.fromdict({
        'estimator': {
            'entry_point': 'sklearn.cluster.KMeans',
        }
    }, check_fields=False)
    assert isinstance(config.estimator(), KMeans)
예제 #5
0
def test_estimator_eval_2():
    config = Config.fromdict(
        {'estimator': {
            'eval': 'KMeans()',
            'eval_scope': ['sklearn'],
        }},
        check_fields=False)
    assert isinstance(config.estimator(), KMeans)
예제 #6
0
def test_stratified_cv():
    from sklearn.cross_validation import StratifiedShuffleSplit
    config = Config.fromdict({
        'cv': {'name': 'stratifiedshufflesplit', 'params': {'n_iter': 10}}
    }, check_fields=False)
    cv = config.cv(range(100), np.random.randint(2, size=100))
    assert isinstance(cv, StratifiedShuffleSplit)
    assert cv.n_iter == 10
예제 #7
0
def test_estimator_eval_2():
    config = Config.fromdict({
        'estimator': {
            'eval': 'KMeans()',
            'eval_scope': ['sklearn'],
        }
    }, check_fields=False)
    assert isinstance(config.estimator(), KMeans)
예제 #8
0
def test_cv_1():
    from sklearn.cross_validation import ShuffleSplit
    for name in ['shufflesplit', 'ShuffleSplit']:
        config = Config.fromdict({
            'cv': {'name': name, 'params': {'n_iter': 10}}
        }, check_fields=False)
        cv = config.cv(range(100))
        assert isinstance(cv, ShuffleSplit)
        assert cv.n_iter == 10
예제 #9
0
def test_estimator_pickle():
    with tempfile.NamedTemporaryFile('w+b', 0) as f:

        cPickle.dump(KMeans(), f)

        config = Config.fromdict({
            'estimator': {'pickle': f.name}
        }, check_fields=False)
        assert isinstance(config.estimator(), KMeans)
예제 #10
0
def test_estimator_pickle():
    with tempfile.NamedTemporaryFile('w+b', 0) as f:

        cPickle.dump(KMeans(), f)

        config = Config.fromdict({'estimator': {
            'pickle': f.name
        }},
                                 check_fields=False)
        assert isinstance(config.estimator(), KMeans)
예제 #11
0
def test_estimator_entry_point_params():
    config = Config.fromdict({
        'estimator': {
            'entry_point': 'sklearn.cluster.KMeans',
            'params': {
                'n_clusters': 15
            }
        }
    }, check_fields=False)
    assert isinstance(config.estimator(), KMeans)
    assert config.estimator().n_clusters == 15
예제 #12
0
def test_estimator_entry_point_params():
    config = Config.fromdict(
        {
            'estimator': {
                'entry_point': 'sklearn.cluster.KMeans',
                'params': {
                    'n_clusters': 15
                }
            }
        },
        check_fields=False)
    assert isinstance(config.estimator(), KMeans)
    assert config.estimator().n_clusters == 15
예제 #13
0
def test_stratified_cv():
    from sklearn.model_selection import StratifiedShuffleSplit
    config = Config.fromdict(
        {'cv': {
            'name': 'stratifiedshufflesplit',
            'params': {
                'n_splits': 10
            }
        }},
        check_fields=False)
    cv = config.cv(range(100), np.random.randint(2, size=100))
    assert isinstance(cv, StratifiedShuffleSplit)
    assert cv.n_splits == 10
예제 #14
0
def test_search_space():
    config = Config.fromdict({
        'search_space': {
            'intvar': {'type': 'int', 'min': 1, 'max': 2},
            'fvar': {'type': 'float', 'min': 1, 'max': 3.5},
            'logvar': {'type': 'float', 'min': 1, 'max': 2.5, 'warp': 'log'},
            'enumvar': {'type': 'enum', 'choices': [1, False]},
        }}, check_fields=False)
    searchspace = config.search_space()
    assert searchspace['intvar'] == IntVariable('intvar', 1, 2)
    assert searchspace['fvar'] == FloatVariable('fvar', 1, 3.5, warp=None)
    assert searchspace['logvar'] == FloatVariable('logvar', 1, 2.5, warp='log')
    assert searchspace['enumvar'] == EnumVariable('enumvar', [1, False])
예제 #15
0
def test_cv_1():
    from sklearn.model_selection import ShuffleSplit
    for name in ['shufflesplit', 'ShuffleSplit']:
        config = Config.fromdict(
            {'cv': {
                'name': name,
                'params': {
                    'n_splits': 10
                }
            }},
            check_fields=False)
        cv = config.cv(range(100))
        assert isinstance(cv, ShuffleSplit)
        assert cv.n_splits == 10
예제 #16
0
def test_search_engine_bayes():
    config = Config.fromdict({'strategy': {
        'name': 'bayes'
    }},
                             check_fields=False)
    assert isinstance(config.strategy(), Bayes)
예제 #17
0
def test_scoring():
    config = Config.fromdict({'scoring': 'sdfsfsdf'}, check_fields=False)
    assert config.scoring() is 'sdfsfsdf'
예제 #18
0
def test_scoring():
    config = Config.fromdict({
        'scoring': 'sdfsfsdf'
    }, check_fields=False)
    assert config.scoring() is 'sdfsfsdf'
예제 #19
0
def test_random_seed():
    config = Config.fromdict({'random_seed': 42}, check_fields=False)
    assert config.random_seed() == 42
예제 #20
0
def test_search_engine_hyperopt_tpe():
    config = Config.fromdict({'strategy': {
        'name': 'hyperopt_tpe'
    }},
                             check_fields=False)
    assert isinstance(config.strategy(), HyperoptTPE)
예제 #21
0
def test_search_engine_hyperopt_tpe():
    config = Config.fromdict({
        'strategy': {'name': 'hyperopt_tpe'}
    }, check_fields=False)
    assert isinstance(config.strategy(), HyperoptTPE)
예제 #22
0
def test_search_space():
    config = Config.fromdict(
        {
            'search_space': {
                'intvar': {
                    'type': 'int',
                    'min': 1,
                    'max': 2
                },
                'logivar': {
                    'type': 'int',
                    'min': 1,
                    'max': 2,
                    'warp': 'log'
                },
                'fvar': {
                    'type': 'float',
                    'min': 1,
                    'max': 3.5
                },
                'logfvar': {
                    'type': 'float',
                    'min': 1,
                    'max': 2.5,
                    'warp': 'log'
                },
                'enumvar': {
                    'type': 'enum',
                    'choices': [1, False]
                },
                'jumpivar': {
                    'type': 'jump',
                    'min': 1,
                    'max': 3,
                    'num': 3,
                    'var_type': int
                },
                'jumpfvar': {
                    'type': 'jump',
                    'min': 1,
                    'max': 3,
                    'num': 3,
                    'var_type': float
                },
                'logjumpivar': {
                    'type': 'jump',
                    'min': 10,
                    'max': 1000,
                    'num': 3,
                    'warp': 'log',
                    'var_type': int
                },
                'logjumpfvar': {
                    'type': 'jump',
                    'min': 10,
                    'max': 1000,
                    'num': 3,
                    'warp': 'log',
                    'var_type': float
                }
            }
        },
        check_fields=False)

    searchspace = config.search_space()
    assert searchspace['intvar'] == IntVariable('intvar', 1, 2, warp=None)
    assert searchspace['logivar'] == IntVariable('logivar', 1, 2, warp='log')
    assert searchspace['fvar'] == FloatVariable('fvar', 1, 3.5, warp=None)
    assert searchspace['logfvar'] == FloatVariable('logfvar',
                                                   1,
                                                   2.5,
                                                   warp='log')
    assert searchspace['enumvar'] == EnumVariable('enumvar', [1, False])
    assert searchspace['jumpivar'] == EnumVariable('jumpivar', [1, 2, 3])
    assert searchspace['jumpfvar'] == EnumVariable('jumpfvar', [1.0, 2.0, 3.0])
    assert searchspace['logjumpivar'] == EnumVariable('logjumpivar',
                                                      [10, 100, 1000])
    assert searchspace['logjumpfvar'] == EnumVariable('logjumpfvar',
                                                      [10.0, 100.0, 1000.0])
예제 #23
0
def test_search_engine_bayes():
    config = Config.fromdict({
        'strategy': {'name': 'bayes'}
    }, check_fields=False)
    assert isinstance(config.strategy(), Bayes)
예제 #24
0
def test_strategy_random():
    config = Config.fromdict({
        'strategy': {'name': 'random'}
    }, check_fields=False)
    assert isinstance(config.strategy(), RandomSearch)
예제 #25
0
def test_random_seed():
    config = Config.fromdict({
        'random_seed': 42
    }, check_fields=False)
    assert config.random_seed() == 42
예제 #26
0
def test_search_engine_moe_1():
    config = Config.fromdict({
        'strategy': {'name': 'moe', 'params': {'url': 'sdfsdf'}}
    }, check_fields=False)
    assert isinstance(config.strategy(), MOE)
예제 #27
0
def test_strategy_random():
    config = Config.fromdict({'strategy': {
        'name': 'random'
    }},
                             check_fields=False)
    assert isinstance(config.strategy(), RandomSearch)