Пример #1
0
    def test_init_param_cost_matrix(self):
        alce = ALCE(classes=self.classes, cost_matrix='A')
        self.assertTrue(hasattr(alce, 'cost_matrix'))
        self.assertRaises(ValueError, alce.query, self.X_cand, self.X, self.y)

        zero_cost_matrix = np.zeros((len(self.classes), len(self.classes)))
        alce = ALCE(classes=self.classes, cost_matrix=zero_cost_matrix)
        self.assertRaises(ValueError, alce.query, self.X_cand, self.X, self.y)
Пример #2
0
    def test_init_param_embed_dim(self):
        alce = ALCE(classes=self.classes,
                    cost_matrix=self.cost_matrix,
                    embed_dim=1.5)
        self.assertTrue(hasattr(alce, 'embed_dim'))
        self.assertRaises(TypeError, alce.query, self.X_cand, self.X, self.y)

        alce = ALCE(classes=self.classes,
                    cost_matrix=self.cost_matrix,
                    embed_dim=0)
        self.assertRaises(ValueError, alce.query, self.X_cand, self.X, self.y)
Пример #3
0
 def test_query_param_X(self):
     alce = ALCE(self.classes, self.regressor, self.cost_matrix)
     self.assertRaises(ValueError,
                       alce.query,
                       X_cand=self.X_cand,
                       X=np.ones((5, 3)),
                       y=self.y)
     _, result = alce.query(self.X_cand,
                            X=self.X,
                            y=[MISSING_LABEL] * len(self.X),
                            return_utilities=True)
     np.testing.assert_array_equal(result, np.ones((1, len(self.X_cand))))
Пример #4
0
 def test_query_param_y(self):
     alce = ALCE(self.classes, self.regressor, self.cost_matrix)
     self.assertRaises(ValueError,
                       alce.query,
                       X_cand=self.X_cand,
                       X=self.X,
                       y=[0, 1, 4, 0, 2, 1])
Пример #5
0
 def test_query_param_sample_weight(self):
     alce = ALCE(classes=self.classes, cost_matrix=self.cost_matrix)
     self.assertRaises(ValueError,
                       alce.query,
                       X_cand=self.X_cand,
                       X=self.X,
                       y=self.y,
                       sample_weight='string')
Пример #6
0
 def test_query_param_return_utilities(self):
     alce = ALCE(self.classes, self.regressor, self.cost_matrix)
     self.assertRaises(TypeError,
                       alce.query,
                       X_cand=self.X_cand,
                       return_utilities=None)
     self.assertRaises(TypeError,
                       alce.query,
                       X_cand=self.X_cand,
                       return_utilities=[])
     self.assertRaises(TypeError,
                       alce.query,
                       X_cand=self.X_cand,
                       return_utilities=0)
Пример #7
0
 def test_query_param_batch_size(self):
     alce = ALCE(self.classes, self.regressor, self.cost_matrix)
     self.assertRaises(TypeError,
                       alce.query,
                       self.X_cand,
                       self.X,
                       self.y,
                       batch_size=1.0)
     self.assertRaises(ValueError,
                       alce.query,
                       self.X_cand,
                       self.X,
                       self.y,
                       batch_size=0)
Пример #8
0
 def test_init_param_nn_params(self):
     alce = ALCE(classes=self.classes,
                 cost_matrix=self.cost_matrix,
                 nn_params=0)
     self.assertTrue(hasattr(alce, 'nn_params'))
     self.assertRaises(TypeError, alce.query, self.X_cand, self.X, self.y)
Пример #9
0
 def test_init_param_missing_label(self):
     alce = ALCE(classes=self.classes,
                 cost_matrix=self.cost_matrix,
                 missing_label=[1, 2, 3])
     self.assertTrue(hasattr(alce, 'missing_label'))
     self.assertRaises(TypeError, alce.query, self.X_cand, self.X, self.y)
Пример #10
0
 def test_init_param_classes(self):
     alce = ALCE(classes=[0, 1], cost_matrix=self.cost_matrix)
     self.assertTrue(hasattr(alce, 'classes'))
     self.assertRaises(ValueError, alce.query, self.X_cand, self.X, self.y)
Пример #11
0
 def test_init_param_base_regressor(self):
     alce = ALCE(classes=self.classes,
                 base_regressor=self.pwc,
                 cost_matrix=self.cost_matrix)
     self.assertTrue(hasattr(alce, 'base_regressor'))
     self.assertRaises(TypeError, alce.query, self.X_cand, self.X, self.y)
Пример #12
0
    def test_mds_params(self):
        np.random.seed(14)
        X = np.random.random((10, 2))
        y = np.random.randint(0, 2, 10)
        X_cand = np.random.random((15, 2))

        alce = ALCE(self.classes,
                    self.regressor,
                    self.cost_matrix,
                    random_state=14,
                    mds_params={
                        'n_jobs': 1,
                        'verbose': 2
                    })
        cand1 = alce.query(X_cand, X, y)
        alce = ALCE(self.classes,
                    self.regressor,
                    self.cost_matrix,
                    random_state=14,
                    mds_params={'n_jobs': 2})
        cand2 = alce.query(X_cand, X, y)
        np.testing.assert_array_equal(cand1, cand2)

        alce = ALCE(self.classes,
                    self.regressor,
                    self.cost_matrix,
                    mds_params={'dissimilarity': 'wrong'})
        self.assertRaises(ValueError, alce.query, X_cand, X, y)

        alce = ALCE(base_regressor=self.regressor,
                    classes=[0, 1],
                    mds_params={'dissimilarity': 'precomputed'})
        query_indices = alce.query([[0], [100], [200]], [[0], [200]], [0, 1])
        np.testing.assert_array_equal(query_indices, [1])
Пример #13
0
 def test_query(self):
     alce = ALCE(base_regressor=self.regressor, classes=[0, 1])
     query_indices = alce.query([[0], [100], [200]], [[0], [200]], [0, 1])
     np.testing.assert_array_equal(query_indices, [1])