8000 Friendly error on KNeighbors(n_neighbors<=0 ) · scikit-learn/scikit-learn@bb4704e · GitHub
[go: up one dir, main page]

Skip to content

Commit bb4704e

Browse files
committed
Friendly error on KNeighbors(n_neighbors<=0 )
1 parent 5291b8d commit bb4704e

File tree

2 files changed

+5
-12
lines changed

2 files changed

+5
-12
lines changed

sklearn/neighbors/base.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,12 +260,7 @@ def _fit(self, X):
260260
% self.algorithm)
261261

262262
if self.n_neighbors is not None:
263-
try:
264-
self.n_neighbors = int(self.n_neighbors)
265-
except ValueError:
266-
raise ValueError("n_neighbors is not convertible to int")
267-
268-
if self.n_neighbors < 1:
263+
if self.n_neighbors <= 0:
269264
raise ValueError(
270265
"Expected n_neighbors > 0. Got %d" %
271266
self.n_neighbors

sklearn/neighbors/tests/test_neighbors.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -815,12 +815,10 @@ def test_neighbors_badargs():
815815
assert_raises(ValueError,
816816
nbrs.predict,
817817
[])
818-
nbrs = cls(n_neighbors='blah')
819-
assert_raises(ValueError,
820-
nbrs.fit,
821-
X, y)
822-
nbrs = cls(n_neighbors=-1)
823-
assert_raises(ValueError,
818+
if isinstance(cls, neighbors.KNeighborsClassifier) or \
819+
isinstance(cls, neighbors.KNeighborsRegressor):
820+
nbrs = cls(n_neighbors=-1)
821+
assert_raises(ValueError,
824822
nbrs.fit,
825823
X, y)
826824

0 commit comments

Comments
 (0)
0