コード例 #1
0
 def setUp(self):
     l1 = log(low=-3, high=5, base=10)
     l2 = log(low=-2, high=3, base=10)
     u = uniform(low=-1, high=1)
     qu = quantized_uniform(low=1, high=20, step=1)
     self.space = Space([{
         "algo": {
             "svm": {
                 "C": l1,
                 "kernel": {
                     "linear": None,
                     "rbf": {
                         "gamma": l2
                     }
                 },
                 "cond2": {
                     "aa": None,
                     "bb": {
                         "abc": u
                     }
                 }
             },
             "knn": {
                 "n_neighbors": qu
             }
         }
     }, {
         "cond3": 0,
         "p": l1,
         "p2": qu
     }])
コード例 #2
0
    def test_conditional_space(self):
        u = uniform(0.0, 2)
        l = uniform(1, 4)
        qu = uniform(0.01, 1)
        ql = uniform(5, 10)
        s = [{
            "k1": "a",
            "k2": "b",
            "a": u,
            "b": l
        }, {
            "k1": "a",
            "k2": "c",
            "a": qu,
            "c": ql
        }]
        space = Space(s)

        space_read = self.conn.get_space()
        self.assertEqual(space_read, None)

        self.conn.insert_space(space)
        space_read = self.conn.get_space()

        self.assertEqual(space, space_read)
        self.assertRaises(AssertionError, self.conn.insert_space, space)
コード例 #3
0
    def test_pickle(self):
        data = [{
            "abc": 0,
            "def": 2
        }, {
            "abc": 1
        }, {
            "def": 42,
            "abc": 67,
            "hij": 23
        }]
        comp = [{
            "abc": 0,
            "def": 2
        }, {
            "abc": 1
        }, {
            "def": 42,
            "abc": 67,
            "hij": 23
        }]
        space = {
            "a": uniform(1, 2),
            "b": {
                "c": {
                    "c1": uniform(0, 5)
                },
                "d": {
                    "d1": uniform(0, 6)
                }
            }
        }

        for d in data:
            self.conn.insert_result(d)

        for c in comp:
            self.conn.insert_complementary(c)

        self.conn.insert_space(Space(space))

        s = pickle.dumps(self.conn)
        l = pickle.loads(s)

        self.assertEqual(self.conn.results.equals(l.results), True)
        self.assertEqual(self.conn.complementary.equals(l.complementary), True)
        self.assertEqual(l.space, self.conn.space)
コード例 #4
0
    def test_space(self):
        s = {
            "a": uniform(1, 2),
            "b": {
                "c": {
                    "c1": uniform(0, 5)
                },
                "d": {
                    "d1": uniform(0, 6)
                }
            }
        }
        space = Space(s)

        space_read = self.conn.get_space()
        self.assertEqual(space_read, None)

        self.conn.insert_space(space)
        space_read = self.conn.get_space()

        self.assertEqual(space, space_read)
        self.assertRaises(AssertionError, self.conn.insert_space, space)
コード例 #5
0
class TestSplitSpace(unittest.TestCase):
    def setUp(self):
        l1 = log(low=-3, high=5, base=10)
        l2 = log(low=-2, high=3, base=10)
        u = uniform(low=-1, high=1)
        qu = quantized_uniform(low=1, high=20, step=1)
        self.space = Space([{
            "algo": {
                "svm": {
                    "C": l1,
                    "kernel": {
                        "linear": None,
                        "rbf": {
                            "gamma": l2
                        }
                    },
                    "cond2": {
                        "aa": None,
                        "bb": {
                            "abc": u
                        }
                    }
                },
                "knn": {
                    "n_neighbors": qu
                }
            }
        }, {
            "cond3": 0,
            "p": l1,
            "p2": qu
        }])

    def test_names(self):
        subspaces_keys = set(k for s in split_space(self.space)
                             for k in s([0] * len(s)).keys())
        self.assertSetEqual(set(self.space.names()), subspaces_keys)