-
-
Notifications
You must be signed in to change notification settings - Fork 26.9k
DummyClassifier.predict() does stricter input checking than DummyClassifier.fit() #8916
Copy link
Copy link
Closed
Description
Description
sklearn.dummy.DummyClassifier calls _assert_all_finite in predict, but not in fit.
Steps/Code to Reproduce
import numpy as np
import sklearn.dummy
cls = sklearn.dummy.DummyClassifier()
X = [[np.NaN]]
y = [1]
cls.fit(X, y)
cls.predict(X)
Expected Results
Either a ValueError in fit, or no ValueError at all.
Actual Results
Traceback (most recent call last):
File "/home/feurerm/projects/openml/python/testing.py", line 8, in <module>
cls.predict(X)
File "/home/feurerm/miniconda3/envs/openml3/lib/python3.6/site-packages/sklearn/dummy.py", line 174, in predict
X = check_array(X, accept_sparse=['csr', 'csc', 'coo'])
File "/home/feurerm/miniconda3/envs/openml3/lib/python3.6/site-packages/sklearn/utils/validation.py", line 407, in check_array
_assert_all_finite(array)
File "/home/feurerm/miniconda3/envs/openml3/lib/python3.6/site-packages/sklearn/utils/validation.py", line 58, in _assert_all_finite
" or a value too large for %r." % X.dtype)
ValueError: Input contains NaN, infinity or a value too large for dtype('float64').
Versions
Linux-4.4.0-78-generic-x86_64-with-debian-stretch-sid
Python 3.6.0 |Continuum Analytics, Inc.| (default, Dec 23 2016, 12:22:00)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
NumPy 1.11.3
SciPy 0.18.1
Scikit-Learn 0.18.1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels