Skip to content

Throw an error with explicit message if n_estimators is not an integer. #7454

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

fabianegli
Copy link
Contributor

Reference Issue

What does this implement/fix? Explain your changes.

Added type checking of n_estimators and made the corresponding error message explicit about the type issue.

I used the Type checking currently proposed in issue #7394

Any other comments?

I got the intended behavior when testing with rf.fit(n_estimators=100), which works as expeced, and rf.fit(n_estimators='100') which throws the type error as expected.

Example error message with traceback:

Traceback (most recent call last):
File "", line 1, in
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/ensemble/forest.py", line 247, in fit
self._validate_estimator()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/sklearn/ensemble/base.py", line 61, in _validate_estimator
"got {0}.".format(type(self.n_estimators)))
ValueError: n_estimators must be an integer, got <class 'str'>.

@agramfort
Copy link
Member

you need to add a test and see why travis is not happy

@raghavrv
Copy link
Member

Travis failure is a flake8 issue. You need to add a test for both normal python ints as well as numpy scalar integer like the one at #7394

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants