def test_vote(self): for n_members in range(1, 10): for n_instances in range(1, 100): vote_output = np.random.rand(n_instances, n_members) # assembling the Committee learner_list = [mock.MockActiveLearner(predict_return=vote_output[:, member_idx]) for member_idx in range(n_members)] committee = modAL.models.learners.CommitteeRegressor(learner_list=learner_list) np.testing.assert_array_almost_equal( committee.vote(np.random.rand(n_instances).reshape(-1, 1)), vote_output )
def test_predict(self): for n_learners in range(1, 10): for n_instances in range(1, 10): prediction = np.random.randint(10, size=(n_instances, n_learners)) committee = modAL.models.Committee(learner_list=[ mock.MockActiveLearner( mock.MockEstimator(classes_=np.asarray([0])), predict_return=prediction[:, learner_idx]) for learner_idx in range(n_learners) ]) np.testing.assert_equal( committee.vote(np.random.rand(n_instances, 5)), prediction)
def test_vote_proba(self): for n_samples in range(1, 100): for n_learners in range(1, 10): for n_classes in range(1, 10): vote_proba_output = np.random.rand(n_samples, n_learners, n_classes) # assembling the mock learners learner_list = [mock.MockActiveLearner( predict_proba_return=vote_proba_output[:, learner_idx, :], predictor=mock.MockEstimator(classes_=list(range(n_classes))) ) for learner_idx in range(n_learners)] committee = modAL.models.learners.Committee(learner_list=learner_list) np.testing.assert_almost_equal( committee.vote_proba(np.random.rand(n_samples, 1)), vote_proba_output )
def test_vote(self): for n_members in range(1, 10): for n_instances in range(1, 100): vote_output = np.random.randint(0, 2, size=(n_instances, n_members)) # assembling the Committee learner_list = [mock.MockActiveLearner( predict_return=vote_output[:, member_idx], predictor=mock.MockClassifier(classes_=[0]) ) for member_idx in range(n_members)] committee = modAL.models.Committee(learner_list=learner_list) np.testing.assert_array_almost_equal( committee.vote(np.random.rand(n_instances).reshape(-1, 1)), vote_output )
def test_predict(self): for n_members in range(1, 10): for n_instances in range(1, 100): vote = np.random.rand(n_instances, n_members) # assembling the Committee learner_list = [mock.MockActiveLearner(predict_return=vote[:, member_idx]) for member_idx in range(n_members)] committee = modAL.models.learners.CommitteeRegressor(learner_list=learner_list) np.testing.assert_array_almost_equal( committee.predict(np.random.rand(n_instances).reshape(-1, 1), return_std=False), np.mean(vote, axis=1) ) np.testing.assert_array_almost_equal( committee.predict(np.random.rand(n_instances).reshape(-1, 1), return_std=True), (np.mean(vote, axis=1), np.std(vote, axis=1)) )