mlr-org / mlr3

mlr3: Machine Learning in R - next generation
https://mlr3.mlr-org.com
GNU Lesser General Public License v3.0
914 stars 84 forks source link

who is author of Resampling? #982

Closed tdhock closed 7 months ago

tdhock commented 7 months ago

First of all, thanks very much for maintaining mlr3, which I find very useful.

I was expecting to see an \author markup in https://github.com/mlr-org/mlr3/blob/dc2a983fb5b59dd0a009727b193227857cb7b9ea/man/Resampling.Rd but I do not see any indication of who is the author. Can you please tell me who is the author of Resampling and ResamplingCV, so I can give proper credit in https://github.com/tdhock/mlr3resampling/blob/main/DESCRIPTION ? (I copied and modified Resampling and ResamplingCV in my mlr3resampling package)

I see in mlr3 DESCRIPTION the following authors currently, so should I just copy all of them?

Authors@R:
  c(
    person("Michel", "Lang", , "michellang@gmail.com", role = c("cre", "aut"),
           comment = c(ORCID = "0000-0001-9754-0393")),
    person("Bernd", "Bischl", , "bernd_bischl@gmx.net", role = "aut",
           comment = c(ORCID = "0000-0001-6002-6980")),
    person("Jakob", "Richter", , "jakob1richter@gmail.com", role = "aut",
           comment = c(ORCID = "0000-0003-4481-5554")),
    person("Patrick", "Schratz", , "patrick.schratz@gmail.com", role = "aut",
           comment = c(ORCID = "0000-0003-0748-6624")),
    person("Giuseppe", "Casalicchio", , "giuseppe.casalicchio@stat.uni-muenchen.de", role = "ctb",
           comment = c(ORCID = "0000-0001-5324-5966")),
    person("Stefan", "Coors", , "mail@stefancoors.de", role = "ctb",
           comment = c(ORCID = "0000-0002-7465-2146")),
    person("Quay", "Au", , "quayau@gmail.com", role = "ctb",
           comment = c(ORCID = "0000-0002-5252-8902")),
    person("Martin", "Binder", , "mlr.developer@mb706.com", role = "aut"),
    person("Florian", "Pfisterer", , "pfistererf@googlemail.com", role = "aut",
           comment = c(ORCID = "0000-0001-8867-762X")),
    person("Raphael", "Sonabend", , "raphaelsonabend@gmail.com", role = "aut",
           comment = c(ORCID = "0000-0001-9225-4654")),
    person("Lennart", "Schneider", , "lennart.sch@web.de", role = "ctb",
           comment = c(ORCID = "0000-0003-4152-5308")),
    person("Marc", "Becker", , "marcbecker@posteo.de", role = "aut",
           comment = c(ORCID = "0000-0002-8115-0400")),
    person("Sebastian", "Fischer", , "sebf.fischer@gmail.com", role = "ctb",
           comment = c(ORCID = "0000-0002-9609-3197"))
  )
larskotthoff commented 7 months ago

I think the most appropriate thing would be to give credit to all mlr3 authors.

That said, could this be part of mlr3 instead of a separate package? We're happy to accept pull requests!

tdhock commented 7 months ago

hi Lars, thanks for your quick response. I will add all authors to my DESCRIPTION file then. What are the rules for scope/inclusion in mlr3 vs another package? It seemed to me, that since there are so many other packages (mlr3learners, mlr3misc, etc) the goal was to keep mlr3 minimal, and provide non-essential functionality in other packages, is that right? In particular I would like to include a vignette to explain the new ResamplingSameOtherCV class, and it looks like mlr3 does not have any vignettes?

larskotthoff commented 7 months ago

Well, it kind of depends on the case -- what functionality does your package add? I had a brief look and it seems that the functionality might be useful in the core package.

tdhock commented 7 months ago

it adds a new class, ResamplingSameOther, similar to Resampling, but which works differently, so you can quantify the extent to which you can train on one data subset, and accurately predict on another data subset. ResamplingSameOther has a very different implementation of instantiate/train_set/test_set methods, but the other methods are pretty much the same as the usual Resampling, so I imagine that if I were to propose adding this to mlr3, it would mean modifying Resampling, making it even more virtual, moving its instantiate/train_set/test_set methods to a new virtual class (ResamplingClassic?), etc, which seems complicated and maybe out of scope of mlr3?

tdhock commented 7 months ago

anyway my package is still very experimental, so maybe we can reopen discussion later after it matures.

larskotthoff commented 7 months ago

Feel free to join our mattermost to discuss further!