-
Notifications
You must be signed in to change notification settings - Fork 3
Implements chooseUnorderedCategoricalSplit #12
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
Implements chooseUnorderedCategoricalSplit #12
Conversation
286573c to
2829936
Compare
|
@jkbradley Rewrote this to consider all subsets for splitting unordered categorical, do you mind reviewing? Also, see TODOs in PR heading; can those wait for another PR or do you want them in this one? |
|
Thanks! I'll take a look.
Definitely should not do it here. I'm not sure if this will be better than the currently heuristic of imposing an ordering.
I agree we should wait on this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remove "possibly"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
|
That's all for now. My comments are just cleanups, but I think it can be simplified a bit. Thanks! |
|
@jkbradley Updated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This modifies fullImpurityAgg. It should create a copy first (or share 1 copy for the whole loop and overwrite on each iteration).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
|
@feynmanliang Thank you for the updates! Just a couple new comments. |
|
@jkbradley Updated |
|
Thanks for updating! This LGTM. I'll merge it. |
Implements chooseUnorderedCategoricalSplit
TODOs:
featureArityis too large (heuristic here?)ImpurityAggregatorSingles for each category from the left and rightImpurityStatss when we should just be making a single add/remove from left/right (ditto forleftCountandrightCount)