Skip to content

Commit 555bcc8

Browse files
ahojnnesogrisel
authored andcommitted
Raise ValueError for non-integer absolute min_samples value
1 parent 6e2fb82 commit 555bcc8

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

sklearn/linear_model/ransac.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,9 @@ def fit(self, X, y):
153153
elif 0 < self.min_samples < 1:
154154
min_samples = np.ceil(self.min_samples * X.shape[0])
155155
elif self.min_samples >= 1:
156+
if self.min_samples % 1 != 0:
157+
raise ValueError("Absolute number of samples must be an "
158+
"integer value.")
156159
min_samples = self.min_samples
157160
else:
158161
raise ValueError("Value for `min_samples` must be scalar and "

sklearn/linear_model/tests/test_ransac.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,12 +201,15 @@ def test_ransac_min_n_samples():
201201
residual_threshold=5, random_state=0)
202202
ransac_estimator3 = RANSACRegressor(base_estimator, min_samples=-1,
203203
residual_threshold=5, random_state=0)
204+
ransac_estimator4 = RANSACRegressor(base_estimator, min_samples=5.2,
205+
residual_threshold=5, random_state=0)
204206

205207
ransac_estimator1.fit(X, y)
206208
ransac_estimator2.fit(X, y)
207209

208210
assert_equal(ransac_estimator1.predict(X), ransac_estimator2.predict(X))
209211
assert_raises(ValueError, ransac_estimator3.fit, X, y)
212+
assert_raises(ValueError, ransac_estimator4.fit, X, y)
210213

211214

212215
def test_ransac_multi_dimensional_targets():

0 commit comments

Comments
 (0)