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

can you provide a classification example? #12

Closed
carrielui opened this issue Oct 24, 2019 · 9 comments
Closed

can you provide a classification example? #12

carrielui opened this issue Oct 24, 2019 · 9 comments
Labels
enhancement New feature or request

Comments

@carrielui
Copy link

I would be nice to have an example of classification problem.

@avati
Copy link
Collaborator

avati commented Oct 24, 2019

Hi @carrielui, thank you for filing the request. Currently our focus has been on regression problems (since the project started under a research problem that involved probabilistic regression), though the framework could trivially be extended to classification.

What needs to be done is: implement a new ngboost.distn.Bernoulli or ngboost.distn.Categorical for binary and multi-class respectively, and classification should just work without any other changes.

Separately, we also welcome community contributions, and happy to help / guide someone to do this if it is required sooner than me getting to it.

@avati avati added enhancement New feature or request good first issue Good for newcomers and removed good first issue Good for newcomers labels Oct 24, 2019
@wptmdoorn
Copy link

wptmdoorn commented Oct 25, 2019

I actually wrote a ngboost.distn.Bernoulli class last night but I have to clean/adjust and test it. But I am happy to share it once I am done. I am currently busy with some blog post concerning the use of NGBoost in medical regression problems, but once that's covered I will work on the Bernoulli class. I expect to finish it early next week.

@avati
Copy link
Collaborator

avati commented Oct 25, 2019

Great, will look forward for the PR @wptmdoorn!

@romanvoyt
Copy link

romanvoyt commented Oct 31, 2019

Hello! I want to use ngboost in bankcruptcy prediction tasks. So, as you said above we need to create ngboost.distn.Bernoulli or ngboost.distn.Categorical. Is it important to have both of them?

I would like to help develop this anyway.

@wptmdoorn
Copy link

@romanvoyt I've been busy quite a lot but I expect to upload a first version of the Bernoulli class tonight (in about ~7-9 hours). I would be more than grateful if you would jump in on the project :) I guess ngboost.distns.Bernoulli and Categorical share a lot of common theory and implementation so I think it shouldn't hurt to implement them both.

@alejandroschuler
Copy link
Collaborator

@wptmdoorn hell yeah! I'm excited to see this functionality come to life. Would you mind also adding a classification example to the readme to mirror the regression example?

Another thing that would help us would be to have a "how to write a distribution for ngboost" tutorial, written in plain english, so that other folks can add more distributions in the future (e.g. beta, poisson). As someone who has just gone through the process yourself, but understands the perspective of a user, would you be interested in having a stab at that?

@wptmdoorn
Copy link

@alejandroschuler I would be willing to do this, but I have to admit I am fairly new to open-source projects and also the amount of math/statistics involved in this project is a lot for me, personally. Once the Bernoulli class is implemented I could give it a go (but there also might be better persons to write such a guide!)

@romanvoyt I just submitted an issue #17, giving it a first try, any help would be really welcome.

@romanvoyt
Copy link

@wptmdoorn Great. Let me check this one later, I hope I can help with it.

@tonyduan
Copy link
Collaborator

Closing this issue out since we now have a classification example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants