Update logical issue in decision_tree.py #13303
Merged
+3
−4
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.
Describe your change:
1)Logical Issue in predict() Function
previous code: elif self.left or self.right is not None:
doesn’t actually do what you think.
It will always be True, because self.left might exist even if self.right is None.
new code:elif self.left is not None and self.right is not None:
2)Minor Fix — Avoid Ambiguous None Return in predict()
If the tree isn’t trained, you currently print an error and return None.
Instead, you should raise a clear exception:
new code: raise ValueError("Decision tree not yet trained")
3)Naming Improvements:
fix typo in docstring name:
new code:doctest.testmod(name="mean_squared_error", verbose=True)
Checklist: