acalejos / exgboost

Elixir bindings to the XGBoost C API (https://xgboost.readthedocs.io/en/stable/c.html) using Native Implemented Functions (NIFs)
Apache License 2.0
160 stars 7 forks source link

Add more examples #5

Open seanmor5 opened 1 year ago

seanmor5 commented 1 year ago

We should have a number of examples for different types of problems. An interesting notebook is compare and contrasting Exgboost, Axon, and Scholar on the same problems.

acalejos commented 1 year ago

Making notebooks will be much easier once we have precompiled .so to use so CMAKE doesnt have to be in the Livebook environment. Not a blocker necessarily but just in case someone wants to contribute -- just know that your environment might require some tuning.

billylanchantin commented 10 months ago

Is the lack of precompiled .so still an issue? If so, perhaps some non-notebook examples would suffice as a workaround?

acalejos commented 10 months ago

Is the lack of precompiled .so still an issue? If so, perhaps some non-notebook examples would suffice as a workaround?

Hey, thanks for asking! No, that is no longer an issue as each release now has precompiled libraries. Here's the latest release:

https://github.com/acalejos/exgboost/releases/tag/v0.3.2

They will automatically be fetched when you install with Mix.

billylanchantin commented 10 months ago

@acalejos Awesome, thank you!

Would you accept PRs for examples? One I have in mind is for Quantile Regression. The documentation references a worked example:

https://github.com/acalejos/exgboost/blob/cfc6c04c7d717fef0007ba09781ca9f6a29fea4c/lib/exgboost/parameters.ex#L418

But I couldn't find one. I ended up getting something working on my end, but I think a worked example would've helped me get there much quicker.

If you are, I was thinking of adapting this example from scikit-learn:

https://scikit-learn.org/stable/auto_examples/ensemble/plot_gradient_boosting_quantile.html

acalejos commented 10 months ago

@acalejos Awesome, thank you!

Would you accept PRs for examples? One I have in mind is for Quantile Regression. The documentation references a worked example:

https://github.com/acalejos/exgboost/blob/cfc6c04c7d717fef0007ba09781ca9f6a29fea4c/lib/exgboost/parameters.ex#L418

But I couldn't find one. I ended up getting something working on my end, but I think a worked example would've helped me get there much quicker.

If you are, I was thinking of adapting this example from scikit-learn:

https://scikit-learn.org/stable/auto_examples/ensemble/plot_gradient_boosting_quantile.html

PRs are more than welcome! That sounds like a great example to add. Looking forward to seeing it. Let me know if you run into any road blocks.