MCPcopy Create free account
hub / github.com/modAL-python/modAL / TestCommittee

Class TestCommittee

tests/core_tests.py:1371–1529  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1369
1370
1371class TestCommittee(unittest.TestCase):
1372
1373 def test_set_classes(self):
1374 # 1. test unfitted learners
1375 for n_learners in range(1, 10):
1376 learner_list = [modAL.models.learners.ActiveLearner(estimator=mock.MockEstimator(fitted=False))
1377 for idx in range(n_learners)]
1378 committee = modAL.models.learners.Committee(
1379 learner_list=learner_list)
1380 self.assertEqual(committee.classes_, None)
1381 self.assertEqual(committee.n_classes_, 0)
1382
1383 # 2. test fitted learners
1384 for n_classes in range(1, 10):
1385 learner_list = [modAL.models.learners.ActiveLearner(estimator=mock.MockEstimator(classes_=np.asarray([idx])))
1386 for idx in range(n_classes)]
1387 committee = modAL.models.learners.Committee(
1388 learner_list=learner_list)
1389 np.testing.assert_equal(
1390 committee.classes_,
1391 np.unique(range(n_classes))
1392 )
1393
1394 def test_predict(self):
1395 for n_learners in range(1, 10):
1396 for n_instances in range(1, 10):
1397 prediction = np.random.randint(
1398 10, size=(n_instances, n_learners))
1399 committee = modAL.models.learners.Committee(
1400 learner_list=[mock.MockActiveLearner(
1401 mock.MockEstimator(classes_=np.asarray([0])),
1402 predict_return=prediction[:, learner_idx]
1403 )
1404 for learner_idx in range(n_learners)]
1405 )
1406 np.testing.assert_equal(
1407 committee.vote(np.random.rand(n_instances, 5)),
1408 prediction
1409 )
1410
1411 def test_predict_proba(self):
1412 for n_samples in range(1, 100):
1413 for n_learners in range(1, 10):
1414 for n_classes in range(1, 10):
1415 vote_proba_output = np.random.rand(
1416 n_samples, n_learners, n_classes)
1417 # assembling the mock learners
1418 learner_list = [mock.MockActiveLearner(
1419 predict_proba_return=vote_proba_output[:,
1420 learner_idx, :],
1421 predictor=mock.MockEstimator(
1422 classes_=list(range(n_classes)))
1423 ) for learner_idx in range(n_learners)]
1424 committee = modAL.models.learners.Committee(
1425 learner_list=learner_list)
1426 np.testing.assert_almost_equal(
1427 committee.predict_proba(np.random.rand(n_samples, 1)),
1428 np.mean(vote_proba_output, axis=1)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…