Skip to content

Commit 6bc0cb7

Browse files
committed
modAL.acquisition UCB tested
1 parent 58c71fb commit 6bc0cb7

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

tests/core_tests.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,44 @@ def test_EI(self):
167167
modAL.acquisition.EI(optimizer, np.random.rand(n_samples, 2), tradeoff)
168168
)
169169

170+
def test_UCB(self):
171+
for n_samples in range(1, 100):
172+
mean = np.random.rand(n_samples, )
173+
std = np.random.rand(n_samples, )
174+
beta = np.random.rand()
175+
176+
mock_estimator = mock.MockEstimator(
177+
predict_return=(mean, std)
178+
)
179+
180+
optimizer = modAL.models.BayesianOptimizer(estimator=mock_estimator)
181+
182+
true_UCB = mean + beta*std
183+
184+
np.testing.assert_almost_equal(
185+
true_UCB,
186+
modAL.acquisition.UCB(optimizer, np.random.rand(n_samples, 2), beta)
187+
)
188+
189+
def test_selection(self):
190+
for n_samples in range(1, 100):
191+
for n_instances in range(1, n_samples):
192+
X = np.random.rand(n_samples, 3)
193+
mean = np.random.rand(n_samples, )
194+
std = np.random.rand(n_samples, )
195+
max_val = np.random.rand()
196+
197+
mock_estimator = mock.MockEstimator(
198+
predict_return=(mean, std)
199+
)
200+
201+
optimizer = modAL.models.BayesianOptimizer(estimator=mock_estimator)
202+
optimizer._set_max([max_val])
203+
204+
modAL.acquisition.max_PI(optimizer, X, tradeoff=np.random.rand(), n_instances=n_instances)
205+
modAL.acquisition.max_EI(optimizer, X, tradeoff=np.random.rand(), n_instances=n_instances)
206+
modAL.acquisition.max_UCB(optimizer, X, beta=np.random.rand(), n_instances=n_instances)
207+
170208

171209
class TestUncertainties(unittest.TestCase):
172210

0 commit comments

Comments
 (0)