| 1369 | |
| 1370 | |
| 1371 | class 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) |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…