-
Notifications
You must be signed in to change notification settings - Fork 53
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
[ENH] Cyclic boosting interface #144
[ENH] Cyclic boosting interface #144
Conversation
looks good! Did this get closed by accident? |
@fkiraly |
My opinion, it's best to have reviews here - general best practice recommendation to have all discussion in the "host repo" and not in the fork, as the host repo is indexed by various tools, while fork repos are in general not (and can also disappear more easily). It's marked as draft too, so no danger of getting it merged. Also feel free to ask any of the skpro contribs for review! |
@fkiraly |
@fkiraly |
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.
Excellent, thanks!
Could you perhaps add a test that uses the manual feature typing to test_cyclic_boosting
, so we have that covered?
Otherwise, I have no additional requests, very nice.
Once you think you are ready, pleas switch this PR to "ready for review".
I have finished :) |
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.
Nice!
All green for merge if tests pass.
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.
Fails with test_cyclic_boosting_with_manual_paramaters - ValueError: The SPT values need to be monotonically increasing.
- error seems genuine.
The quantile predictions need to be ordered correctly for the QPD to make sense. And as we are dealing with statistical models, it can happen that this is not the case, especially in low-statistics tests. So, I would suggest to just tune the respective test ;). |
that, or adding a coercion? |
Yeah, I have implemented a potential coercion in QPD_RegressorChain in Cyclic Boosting. But a simpler approach would do as well here, I think. |
I modified SPT's value checking from replacement by mean to sorting. |
Seems lik there are sporadic timeouts of |
All test have passed :) |
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.
🎉 🎆 🎉 🎆 🎉
Minor question, non-blocking, should the QPD not go in the "non-parametric" section of the distributions? They are called "quantile parameterized" but afaik are typically considered non-parametric since they are explicit in terms of quantiles (which are interpolated) rather than intrinsic simple parameters. |
Just looking through open convos at the moment, and I found this by @FelixWick:
Apologies, I overlooked this - are you suggesting that the interface be changed in general for all estimators, with a rename of |
Yes, that sounds reasonable. |
No, that was not a general comment, just for Naoki's implementation. But I think he fixed it. Right, @setoguchi-naoki ? |
Ok, moving to the non-parametric taxon then. |
Yes, it is only for my predict_quantiles implementation now. |
Reference Issues/PRs
#132
What does this implement/fix? Explain your changes.
① The interface for Cyclic boosting
J-qpd estimation by quantile regression with Cyclic boosting, Output distribution's parameters are given by j-qpd's loc and scale
② New distribution class, Johnson quantile parameterized-distribution
Does your contribution introduce a new dependency? If yes, which one?
cyclic_boosting package>=1.2.1
What should a reviewer concentrate their feedback on?
Please check skpro.distributions.qpd especially, I'd like to get the feedback J_QPD_S' method behaivier mutch or not to skpro's manner
Did you add any tests for the change?
No
Any other comments?
PR checklist
For all contributions
How to: add yourself to the all-contributors file in the
skpro
root directory (not theCONTRIBUTORS.md
). Common badges:code
- fixing a bug, or adding code logic.doc
- writing or improving documentation or docstrings.bug
- reporting or diagnosing a bug (get this pluscode
if you also fixed the bug in the PR).maintenance
- CI, test framework, release.See here for full badge reference
For new estimators
docs/source/api_reference/taskname.rst
, follow the pattern.Examples
section.python_dependencies
tag and ensureddependency isolation, see the estimator dependencies guide.