Exemplo n.º 1
0
 def test_with_randomizedsearchcv(self):
     from sklearn.model_selection import RandomizedSearchCV
     from sklearn.datasets import load_iris
     from sklearn.metrics import accuracy_score, make_scorer
     from scipy.stats.distributions import uniform
     import numpy as np
     lr = LogisticRegression()
     parameters = {'solver': ('liblinear', 'lbfgs'), 'penalty': ['l2']}
     ranges, cat_idx = lr.get_param_ranges()
     min_C, max_C, default_C = ranges['C']
     # specify parameters and distributions to sample from
     #the loguniform distribution needs to be taken care of properly
     param_dist = {
         "solver": ranges['solver'],
         "C": uniform(min_C, np.log(max_C))
     }
     # run randomized search
     n_iter_search = 5
     with warnings.catch_warnings():
         warnings.simplefilter("ignore")
         random_search = RandomizedSearchCV(
             lr,
             param_distributions=param_dist,
             n_iter=n_iter_search,
             cv=5,
             scoring=make_scorer(accuracy_score))
         iris = load_iris()
         random_search.fit(iris.data, iris.target)
Exemplo n.º 2
0
    def test_with_randomizedsearchcv(self):
        import numpy as np
        from scipy.stats.distributions import uniform
        from sklearn.metrics import accuracy_score, make_scorer
        from sklearn.model_selection import RandomizedSearchCV

        lr = LogisticRegression()
        ranges, cat_idx = lr.get_param_ranges()
        # specify parameters and distributions to sample from
        # the loguniform distribution needs to be taken care of properly
        param_dist = {
            "solver": ranges["solver"],
            "C": uniform(0.03125, np.log(32768))
        }
        # run randomized search
        n_iter_search = 5
        with warnings.catch_warnings():
            warnings.simplefilter("ignore")
            random_search = RandomizedSearchCV(
                lr,
                param_distributions=param_dist,
                n_iter=n_iter_search,
                cv=5,
                scoring=make_scorer(accuracy_score),
            )
            iris = load_iris()
            random_search.fit(iris.data, iris.target)
Exemplo n.º 3
0
    def test_logisticregression(self):
        from lale.lib.sklearn import LogisticRegression

        ranges, dists = LogisticRegression.get_param_ranges()
        expected_ranges = {
            "solver": ["newton-cg", "liblinear", "sag", "saga", "lbfgs"],
            "dual": (False, True, False),
            "tol": (1e-08, 0.01, 0.0001),
            "fit_intercept": (False, True, True),
            "intercept_scaling": (0.0, 1.0, 1.0),
            "max_iter": (10, 1000, 100),
            "multi_class": ["ovr", "multinomial", "auto"],
        }
        expected_dists = {"solver": (0, 4, 4), "multi_class": (0, 2, 2)}

        self.maxDiff = None
        self.assertEqual(ranges, expected_ranges)
        self.assertEqual(dists, expected_dists)