Skip to content

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

Closed
fabianegli wants to merge 1 commit intoscikit-learn:masterfrom
fabianegli:issue_7146
Closed

Throw an error with explicit message if n_estimators is not an integer.#7454
fabianegli wants to merge 1 commit intoscikit-learn:masterfrom
fabianegli:issue_7146

Conversation

@fabianegli
Copy link
Copy Markdown
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
Copy Markdown
Member

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

@raghavrv
Copy link
Copy Markdown
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