JuliaAI / MLJModels.jl

Home of the MLJ model registry and tools for model queries and mode code loading
MIT License
78 stars 27 forks source link

Add two `SIRUS.jl` models #519

Closed rikhuijzer closed 11 months ago

rikhuijzer commented 1 year ago

It took a bit longer than expected, but finally regression was implemented for SIRUS.jl. I've tried to explain at the Julia Discourse why this is a useful model. Hopefully the StableRulesClassifier and StableRulesRegressor can be added to MLJModels.jl :smile:

codecov-commenter commented 1 year ago

Codecov Report

Merging #519 (7776dac) into dev (c72e67c) will decrease coverage by 0.16%. The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.

@@            Coverage Diff             @@
##              dev     #519      +/-   ##
==========================================
- Coverage   76.92%   76.76%   -0.16%     
==========================================
  Files          16       16              
  Lines        1157     1162       +5     
==========================================
+ Hits          890      892       +2     
- Misses        267      270       +3     

see 2 files with indirect coverage changes

ablaom commented 1 year ago

Congratulations! Looks like a very thorough piece of work.

I'm currently on leave so copying @OkonSamuel in here. I strongly suggest you take a look at:

OkonSamuel commented 1 year ago

Thanks @rikhuijzer I'll review this weekend.

ablaom commented 1 year ago

See also:

OkonSamuel commented 1 year ago

Thanks @rikhuijzer. This is indeed a great addition. Your code is clean :smile: Just adjust the docstrings a bit to match the mlj standard.

rikhuijzer commented 12 months ago

I hope this is now conforming the spec. I also refactored the code a bit in https://github.com/rikhuijzer/SIRUS.jl/pull/37 and things are definitely more clear now :+1:

If this PR is accepted, then I'll register the new SIRUS.jl version with the updated docstrings (v1.2.2).

OkonSamuel commented 11 months ago

I hope this is now conforming the spec. I also refactored the code a bit in rikhuijzer/SIRUS.jl#37 and things are definitely more clear now 👍

If this PR is accepted, then I'll register the new SIRUS.jl version with the updated docstrings (v1.2.2).

@rikhuijzer Thanks for addressing most of the issues raised. I'm sorry for being so meticulous here but there are just a few more things that needed to be added/removed before merging.

I'm happy to help out in a way I can.

rikhuijzer commented 11 months ago

Thank you for the review and pull request, @OkonSamuel. Apologies for the slow response. It took me a while to get to it due to PhD-project demands. I have omitted the Examples section because of the trade-off in computation time and ease of testing. If I add an example section, then I would like to add doctests, but at the same time the documenter and tests already take very long. Also, the examples should be clear for readers since it is the core feature of MLJ and since I've added it to the README.

Apart from that, I've merged your PR (thanks again for that) and added Operations and Fitted parameter sections as well as document and exported the returned object (that is, StableForest or StableRules).

OkonSamuel commented 11 months ago

Thank you for the review and pull request, @OkonSamuel. Apologies for the slow response. It took me a while to get to it due to PhD-project demands. I have omitted the Examples section because of the trade-off in computation time and ease of testing. If I add an example section, then I would like to add doctests, but at the same time the documenter and tests already take very long. Also, the examples should be clear for readers since it is the core feature of MLJ and since I've added it to the README.

Apart from that, I've merged your PR (thanks again for that) and added Operations and Fitted parameter sections as well as document and exported the returned object (that is, StableForest or StableRules).

Thanks @rikhuijzer for finding the time to add these sections. I just noticed the the Regressor models subtype Probabilistic rather than Deterministic. I have opened an issue here

rikhuijzer commented 11 months ago

I just noticed the the Regressor models subtype Probabilistic rather than Deterministic. I have opened an issue here

I love it! Another bug fixed 😄

rikhuijzer commented 11 months ago

Friendly bump, @OkonSamuel

OkonSamuel commented 11 months ago

Friendly bump, @OkonSamuel

Hello @rikhuijzer. This PR is ready to be merged. Could you tag a new release of your package? Since you made some changes that would affect mlj users. After you do that, I'll open a new PR to add your model.

rikhuijzer commented 11 months ago

Could you tag a new release of your package? Since you made some changes that would affect mlj users.

Done 👍

rikhuijzer commented 11 months ago

Friendly bump @OkonSamuel

OkonSamuel commented 11 months ago

closing in favor of #524