8000 [MRG] More informative error message in OneHotEncoder(categories=None… · scikit-learn/scikit-learn@94c70ff · GitHub
[go: up one dir, main page]

Skip to content

Commit 94c70ff

Browse files
ygivenxamueller
authored andcommitted
[MRG] More informative error message in OneHotEncoder(categories=None) with negative integer values (#12180)
* Fix Issue #12179 OneHotEncoder "only non-negative integers" message should suggest using categories='auto' * Fix Issue #12179 OneHotEncoder "only non-negative integers" message should suggest using categories='auto' * Fix Issue #12179 OneHotEncoder "only non-negative integers" message should suggest using categories='auto' * Fixes #12180 Modify the error message * Fix the spacing
1 parent a3616f6 commit 94c70ff

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

sklearn/preprocessing/_encoders.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,11 @@ def _legacy_fit_transform(self, X):
421421
dtype = getattr(X, 'dtype', None)
422422
X = check_array(X, dtype=np.int)
423423
if np.any(X < 0):
424-
raise ValueError("X needs to contain only non-negative integers.")
424+
raise ValueError("OneHotEncoder in legacy mode cannot handle "
425+
"categories encoded as negative integers. "
426+
"Please set categories='auto' explicitly to "
427+
"be able to use arbitrary integer values as "
428+
"category identifiers.")
425429
n_samples, n_features = X.shape
426430
if (isinstance(self.n_values, six.string_types) and
427431
self.n_values == 'auto'):
@@ -504,7 +508,11 @@ def _legacy_transform(self, X):
504508
"""Assumes X contains only categorical features."""
505509
X = check_array(X, dtype=np.int)
506510
if np.any(X < 0):
507-
raise ValueError("X needs to contain only non-negative integers.")
511+
raise ValueError("OneHotEncoder in legacy mode cannot handle "
512+
"categories encoded as negative integers. "
513+
"Please set categories='auto' explicitly to "
514+
"be able to use arbitrary integer values as "
515+
"category identifiers.")
508516
n_samples, n_features = X.shape
509517

510518
indices = self._feature_indices_

0 commit comments

Comments
 (0)
0