@@ -150,7 +150,7 @@ def test_optimizer_PI(self):
150
150
)
151
151
152
152
optimizer = modAL .models .BayesianOptimizer (estimator = mock_estimator )
153
- optimizer ._set_max ([max_val ])
153
+ optimizer ._set_max ([0 ], [ max_val ])
154
154
155
155
np .testing .assert_almost_equal (
156
156
ndtr ((mean - max_val - tradeoff )/ std ),
@@ -169,10 +169,10 @@ def test_optimizer_EI(self):
169
169
)
170
170
171
171
optimizer = modAL .models .BayesianOptimizer (estimator = mock_estimator )
172
- optimizer ._set_max ([max_val ])
172
+ optimizer ._set_max ([0 ], [ max_val ])
173
173
174
- true_EI = (mean - optimizer .max_val - tradeoff ) * ndtr ((mean - optimizer .max_val - tradeoff )/ std )\
175
- + std * norm .pdf ((mean - optimizer .max_val - tradeoff )/ std )
174
+ true_EI = (mean - optimizer .y_max - tradeoff ) * ndtr ((mean - optimizer .y_max - tradeoff ) / std ) \
175
+ + std * norm .pdf ((mean - optimizer .y_max - tradeoff ) / std )
176
176
177
177
np .testing .assert_almost_equal (
178
178
true_EI ,
@@ -211,7 +211,7 @@ def test_selection(self):
211
211
)
212
212
213
213
optimizer = modAL .models .BayesianOptimizer (estimator = mock_estimator )
214
- optimizer ._set_max ([max_val ])
214
+ optimizer ._set_max ([0 ], [ max_val ])
215
215
216
216
modAL .acquisition .max_PI (optimizer , X , tradeoff = np .random .rand (), n_instances = n_instances )
217
217
modAL .acquisition .max_EI (optimizer , X , tradeoff = np .random .rand (), n_instances = n_instances )
@@ -532,7 +532,7 @@ def test_set_max(self):
532
532
# case 1: the estimator is not fitted yet
533
533
regressor = mock .MockEstimator ()
534
534
learner = modAL .models .BayesianOptimizer (estimator = regressor )
535
- self .assertEqual (- np .inf , learner .max_val )
535
+ self .assertEqual (- np .inf , learner .y_max )
536
536
537
537
# case 2: the estimator is fitted already
538
538
for n_samples in range (1 , 100 ):
@@ -545,17 +545,20 @@ def test_set_max(self):
545
545
estimator = regressor ,
546
546
X_training = X , y_training = y
547
547
)
548
- np .testing .assert_almost_equal (max_val , learner .max_val )
548
+ np .testing .assert_almost_equal (max_val , learner .y_max )
549
549
550
550
def test_set_new_max (self ):
551
551
for n_reps in range (100 ):
552
552
# case 1: the learner is not fitted yet
553
553
for n_samples in range (1 , 10 ):
554
+ X = np .random .rand (n_samples , 3 )
554
555
y = np .random .rand (n_samples )
556
+ max_idx = np .argmax (y )
555
557
regressor = mock .MockEstimator ()
556
558
learner = modAL .models .BayesianOptimizer (estimator = regressor )
557
- learner ._set_max (y )
558
- self .assertEqual (learner .max_val , np .max (y ))
559
+ learner ._set_max (X , y )
560
+ np .testing .assert_equal (learner .X_max , X [max_idx ])
561
+ np .testing .assert_equal (learner .y_max , y [max_idx ])
559
562
560
563
# case 2: new value is not a maximum
561
564
for n_samples in range (1 , 10 ):
@@ -568,10 +571,13 @@ def test_set_new_max(self):
568
571
X_training = X , y_training = y
569
572
)
570
573
574
+ X_new = np .random .rand ()
571
575
y_new = y - np .random .rand ()
572
- old_max = learner .max_val
573
- learner ._set_max (y_new )
574
- np .testing .assert_almost_equal (old_max , learner .max_val )
576
+ X_old_max = learner .X_max
577
+ y_old_max = learner .y_max
578
+ learner ._set_max (X_new , y_new )
579
+ np .testing .assert_equal (X_old_max , learner .X_max )
580
+ np .testing .assert_equal (y_old_max , learner .y_max )
575
581
576
582
# case 3: new value is a maximum
577
583
for n_samples in range (1 , 10 ):
@@ -584,9 +590,12 @@ def test_set_new_max(self):
584
590
X_training = X , y_training = y
585
591
)
586
592
593
+ X_new = np .random .rand (n_samples , 2 )
587
594
y_new = y + np .random .rand ()
588
- learner ._set_max (y_new )
589
- np .testing .assert_almost_equal (np .max (y_new ), learner .max_val )
595
+ max_idx = np .argmax (y_new )
596
+ learner ._set_max (X_new , y_new )
597
+ np .testing .assert_equal (X_new [max_idx ], learner .X_max )
598
+ np .testing .assert_equal (y_new [max_idx ], learner .y_max )
590
599
591
600
def test_get_max (self ):
592
601
for n_samples in range (1 , 100 ):
0 commit comments