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

Usability Improvements #76

Merged
merged 15 commits into from
Oct 20, 2017
Merged

Usability Improvements #76

merged 15 commits into from
Oct 20, 2017

Conversation

jeremyrcoyle
Copy link
Collaborator

@jeremyrcoyle jeremyrcoyle commented Oct 11, 2017

A range of inter-related usability improvements:

  • SuperLearner3 implementation that matches arguments from SuperLearner package. Not yet feature complete. This may be removed if it is too difficult to support both SuperLearner learners and sl3 learners in the same function call in a user-friendly way.
  • Tasks have defined outcome_types, which are guessed from the data if not specified.
  • Support for binomial and multinomial outcomes types for some learners
  • Support for offsets
  • Learners have properties that mark support for various features (e.g. certain outcome types, weights, offsets, etc).
  • sl3_list_learners lists learners and allows searching list by property sets
  • New learners:
    • Lrnr_glmnet - glmnet
    • Lrnr_solnp - optimize arbitrary loss function + metalearner function combinations
  • make_learner function to construct learners
  • Implemented args_to_list and call_with_args to simplify learner parameter handling
  • Overhauled all learners to implement new features where appropriate
  • Learner fits respond to coef properly if their internal fit objects do
  • Benchmarking script
  • Further tests

@jeremyrcoyle jeremyrcoyle changed the title WIP Usability Improvements Usability Improvements Oct 19, 2017
@nhejazi
Copy link
Member

nhejazi commented Oct 19, 2017

Awesome! Looks like this will resolve #38 and #14 -- any other issues that I'm missing?

@jeremyrcoyle
Copy link
Collaborator Author

jeremyrcoyle commented Oct 19, 2017

There's still some missing features to implement before I'm happy marking #38 done. Still trying to decide if it makes sense to go through all the trouble to match the legacy syntax.

In addition to #14, this resolves #40, #24, #22, and #5

@osofr
Copy link
Collaborator

osofr commented Oct 19, 2017

Fantastic!

Copy link
Member

@nhejazi nhejazi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This all looks great to me! I've tried to do a bit of elementary testing/playing and everything that I've tried (though limited) works well. Thanks for all the hard work on this @jeremyrcoyle!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants