Fix to inelegant failure of RandomTreesEmbedding.transform when not fitted #12965
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
RandomTreesEmbedding.transform fails with a message about .one_hot_encoder_ missing when it hasn't first been fit. This message doesn't tell the user what to do to fix the problem. I've added a check for .one_hot_encoder_ using the standard check_is_fitted method that is used by most other classes with a fit and predict/transform. This should make it clear that the instance isn't yet fit.
Fixes #12959
What does this implement/fix? Explain your changes.
The current error message that comes from use of a non-fitted RandomTreesEmbedding.transform doesn't help the user locate the problem. I've added a check_is_fitted() call just before the transform call to check if the fit has been performed and otherwise tell the user to do a fit first.
Any other comments?
This code and community is awesome.