@@ -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
171209class TestUncertainties (unittest .TestCase ):
172210
0 commit comments