Skip to content
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

sktime interface to xgboostlss #80

Open
fkiraly opened this issue Jan 26, 2025 · 0 comments
Open

sktime interface to xgboostlss #80

fkiraly opened this issue Jan 26, 2025 · 0 comments

Comments

@fkiraly
Copy link

fkiraly commented Jan 26, 2025

Hi @StatMixedML, I have now written an sktime interface to xgbootslss.
sktime/skpro#522

In-principle, the estimator could be moved to xgboostlss itself and indexed in skpro, but there are a couple things that I would consider issues or design questions.

  • the unpleasant dependency set and the lack of soft dependency isolation in xgboostlss, which have already been mentioned here: update torch, optuna & scikitlearn install deps #77 - this restricts usability quite a bit, and prevents 3.12 compatibility afaik
  • there are a lot of distributions both in skpro and xgboostlss - they overlap but they are not identical (e.g., skpro does not have the zero-inflated ones, etc). A number of questions around those:
    • In your various packages the same code seems also to be copied around. This is a violation of the DRY principle across packages, and we should think about where to put the distributions.
    • by extension, it might be worth thinking about what your requirements are, and whether a merge - or partial merge - to skpro seems sensible. Obviously, it is not easy without some rearchitecting and design work.
  • the user interface of xgboostlss is also a bit hard to use - e.g., the user needs to configure a lot and execute a sequence of methods that is unexpected. Unlike xgboost, there is no simple train/predict workflow - this made xgboost very popular. In skpro, I have tried to smoothe out the interface, of course there is the open question how to do this, and what the best way for the lower level interfaces in xgboostls would be.

Happy to chat, e.g., on dev-chat on the sktime discord https://discord.com/invite/54ACzaFsn7

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

No branches or pull requests

1 participant