Skip to content

Commit 45a7df5

Browse files
committed
Fix random state not being used for sampling configurations (#1329)
* Added random state to classifiers * Added some doc strings * Removed random_state again * flake'd * Fix some test issues * Re-added seed to test * Updated test doc for unknown test * flake'd
1 parent 4b800f0 commit 45a7df5

File tree

1 file changed

+14
-36
lines changed

1 file changed

+14
-36
lines changed

test/test_pipeline/test_classification.py

Lines changed: 14 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,7 @@ def test_default_configuration(self):
173173

174174
auto = SimpleClassificationPipeline(random_state=1)
175175

176-
with ignore_warnings(classifier_warnings):
177-
auto = auto.fit(X_train, Y_train)
178-
176+
auto = auto.fit(X_train, Y_train)
179177
predictions = auto.predict(X_test)
180178

181179
acc = sklearn.metrics.accuracy_score(predictions, Y_test)
@@ -192,18 +190,13 @@ def test_default_configuration_multilabel(self):
192190
"""
193191
X_train, Y_train, X_test, Y_test = get_dataset(dataset='iris', make_multilabel=True)
194192

195-
classifier = SimpleClassificationPipeline(
196-
dataset_properties={'multilabel': True},
197-
random_state=0
198-
)
193+
classifier = SimpleClassificationPipeline(dataset_properties={'multilabel': True})
199194
cs = classifier.get_hyperparameter_search_space()
200195

201196
default = cs.get_default_configuration()
202197
classifier.set_hyperparameters(default)
203198

204-
with ignore_warnings(classifier_warnings):
205-
classifier = classifier.fit(X_train, Y_train)
206-
199+
classifier = classifier.fit(X_train, Y_train)
207200
predictions = classifier.predict(X_test)
208201

209202
acc = sklearn.metrics.accuracy_score(predictions, Y_test)
@@ -228,12 +221,10 @@ def test_default_configuration_iterative_fit(self):
228221
random_state=0
229222
)
230223
classifier.fit_transformer(X_train, Y_train)
231-
232-
with ignore_warnings(classifier_warnings):
233-
for i in range(1, 11):
234-
classifier.iterative_fit(X_train, Y_train)
235-
n_estimators = classifier.steps[-1][-1].choice.estimator.n_estimators
236-
self.assertEqual(n_estimators, i)
224+
for i in range(1, 11):
225+
classifier.iterative_fit(X_train, Y_train)
226+
n_estimators = classifier.steps[-1][-1].choice.estimator.n_estimators
227+
self.assertEqual(n_estimators, i)
237228

238229
def test_repr(self):
239230
"""Test that the default pipeline can be converted to its representation and
@@ -736,9 +727,7 @@ def test_predict_batched(self):
736727

737728
# Multiclass
738729
X_train, Y_train, X_test, Y_test = get_dataset(dataset='digits')
739-
740-
with ignore_warnings(classifier_warnings):
741-
cls.fit(X_train, Y_train)
730+
cls.fit(X_train, Y_train)
742731

743732
X_test_ = X_test.copy()
744733
prediction_ = cls.predict_proba(X_test_)
@@ -770,8 +759,7 @@ def test_predict_batched_sparse(self):
770759

771760
# Multiclass
772761
X_train, Y_train, X_test, Y_test = get_dataset(dataset='digits', make_sparse=True)
773-
with ignore_warnings(classifier_warnings):
774-
cls.fit(X_train, Y_train)
762+
cls.fit(X_train, Y_train)
775763

776764
X_test_ = X_test.copy()
777765
prediction_ = cls.predict_proba(X_test_)
@@ -800,8 +788,7 @@ def test_predict_proba_batched(self):
800788
cls = SimpleClassificationPipeline(include={'classifier': ['sgd']})
801789
X_train, Y_train, X_test, Y_test = get_dataset(dataset='digits')
802790

803-
with ignore_warnings(classifier_warnings):
804-
cls.fit(X_train, Y_train)
791+
cls.fit(X_train, Y_train)
805792

806793
X_test_ = X_test.copy()
807794
prediction_ = cls.predict_proba(X_test_)
@@ -821,9 +808,7 @@ def test_predict_proba_batched(self):
821808
X_train, Y_train, X_test, Y_test = get_dataset(dataset='digits')
822809
Y_train = np.array(list([(list([1 if i != y else 0 for i in range(10)]))
823810
for y in Y_train]))
824-
825-
with ignore_warnings(classifier_warnings):
826-
cls.fit(X_train, Y_train)
811+
cls.fit(X_train, Y_train)
827812

828813
X_test_ = X_test.copy()
829814
prediction_ = cls.predict_proba(X_test_)
@@ -857,9 +842,7 @@ def test_predict_proba_batched_sparse(self):
857842
X_train, Y_train, X_test, Y_test = get_dataset(dataset='digits', make_sparse=True)
858843
X_test_ = X_test.copy()
859844

860-
with ignore_warnings(classifier_warnings):
861-
cls.fit(X_train, Y_train)
862-
845+
cls.fit(X_train, Y_train)
863846
prediction_ = cls.predict_proba(X_test_)
864847

865848
# The object behind the last step in the pipeline
@@ -878,13 +861,10 @@ def test_predict_proba_batched_sparse(self):
878861
include={'classifier': ['lda']}
879862
)
880863
X_train, Y_train, X_test, Y_test = get_dataset(dataset='digits', make_sparse=True)
881-
882864
X_test_ = X_test.copy()
883865
Y_train = np.array([[1 if i != y else 0 for i in range(10)] for y in Y_train])
884866

885-
with ignore_warnings(classifier_warnings):
886-
cls.fit(X_train, Y_train)
887-
867+
cls.fit(X_train, Y_train)
888868
prediction_ = cls.predict_proba(X_test_)
889869

890870
# The object behind the last step in the pipeline
@@ -909,9 +889,7 @@ def test_pipeline_clonability(self):
909889
X_train, Y_train, X_test, Y_test = get_dataset(dataset='iris')
910890

911891
auto = SimpleClassificationPipeline()
912-
913-
with ignore_warnings(classifier_warnings):
914-
auto = auto.fit(X_train, Y_train)
892+
auto = auto.fit(X_train, Y_train)
915893

916894
auto_clone = clone(auto)
917895
auto_clone_params = auto_clone.get_params()

0 commit comments

Comments
 (0)