def test_init_param_prior(self): # prior must be defined as a float with a range of: 0 < prior query_strategy = PALS(prior="string") self.assertRaises(TypeError, query_strategy.query, **(self.kwargs)) query_strategy = PALS(prior=0.0) self.assertRaises(ValueError, query_strategy.query, **(self.kwargs)) query_strategy = PALS(prior=-1.0) self.assertRaises(ValueError, query_strategy.query, **(self.kwargs))
def test_init_param_budget(self): # budget must be defined as a float greater than 0 query_strategy = PALS(budget=[]) self.assertRaises(TypeError, query_strategy.query, **(self.kwargs)) query_strategy = PALS(budget="string") self.assertRaises(TypeError, query_strategy.query, **(self.kwargs)) query_strategy = PALS(budget=-1) self.assertRaises(TypeError, query_strategy.query, **(self.kwargs))
def test_init_param_m_max(self): # m_max must be defined as a integer greater than 0 query_strategy = PALS(m_max="string") self.assertRaises(TypeError, query_strategy.query, **(self.kwargs)) query_strategy = PALS(m_max=0.1) self.assertRaises(TypeError, query_strategy.query, **(self.kwargs)) query_strategy = PALS(m_max=0) self.assertRaises(ValueError, query_strategy.query, **(self.kwargs)) query_strategy = PALS(m_max=-1) self.assertRaises(ValueError, query_strategy.query, **(self.kwargs))
def test_query_param_X_cand(self): # X_cand must be defined as a two dimensinal array query_strategy = PALS() self.assertRaises( ValueError, query_strategy.query, X_cand=1, clf=self.clf, X=self.X, y=self.y, ) self.assertRaises( ValueError, query_strategy.query, X_cand=None, clf=self.clf, X=self.X, y=self.y, ) self.assertRaises( ValueError, query_strategy.query, X_cand=np.ones(5), clf=self.clf, X=self.X, y=self.y, )
def test_query_param_utility_weight(self): # sample weight needs to be a list that can be convertet to float # equal in size of y query_strategy = PALS() self.assertRaises( ValueError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=self.y, utility_weight="string", ) self.assertRaises( ValueError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=self.y, utility_weight=["string", "numbers", "test"], ) self.assertRaises( ValueError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=self.y, utility_weight=[1, 1], )
def test_query_param_y(self): # y must be defined as a one Dimensional array and must be equal in # length to X query_strategy = PALS() self.assertRaises(TypeError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=1, fit_clf=True) self.assertRaises(TypeError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=None, fit_clf=True) self.assertRaises(ValueError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=self.y[1:], fit_clf=True)
def test_query_param_X(self): # X must be defined as a two dimensinal array and must be equal in # length to y query_strategy = PALS() self.assertRaises(ValueError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=1, y=self.y, fit_clf=True) self.assertRaises( ValueError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=None, y=self.y, ) self.assertRaises(ValueError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=np.ones(5), y=self.y, fit_clf=True) self.assertRaises(ValueError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X[1:], y=self.y, fit_clf=True)
def test_query_param_clf(self): # clf must be defined as a classifier query_strategy = PALS() self.assertRaises( TypeError, query_strategy.query, X_cand=self.X_cand, clf="string", X=self.X, y=self.y, ) query_strategy = PALS() self.assertRaises( TypeError, query_strategy.query, X_cand=self.X_cand, clf=1, X=self.X, y=self.y, )
def test_query_param_fit_clf(self): # fit_clf needs to be a boolean query_strategy = PALS() self.assertRaises( TypeError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=self.y, fit_clf="string", ) self.assertRaises( TypeError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=self.y, fit_clf=1, )
def test_query_param_return_utilities(self): # return_utilities needs to be a boolean query_strategy = PALS() self.assertRaises( TypeError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=self.y, return_utilities="string", ) self.assertRaises( TypeError, query_strategy.query, X_cand=self.X_cand, clf=self.clf, X=self.X, y=self.y, return_utilities=1, )
def test_init_param_random_state(self): query_strategy = PALS(random_state="string", ) self.assertRaises(ValueError, query_strategy.query, **(self.kwargs))
def test_init_param_budget_manager(self): # budget_manager must be defined as an object of an budget manager # class query_strategy = PALS(budget_manager=[]) self.assertRaises(TypeError, query_strategy.query, **(self.kwargs))