stanfordmlgroup / ngboost

Natural Gradient Boosting for Probabilistic Prediction
Apache License 2.0
1.65k stars 215 forks source link

What are the limitations to add a base learner? #28

Closed civilinformer closed 4 years ago

civilinformer commented 4 years ago

I would like to know what are the limitations in adding base learners. I see in ngboost/ngboost/learners.py only two learners implemented, each taken from sklearn. Is it the case that we can add any base learner from sklearn simply by adding to this file some learner and the specifying it at NGBoost instantiation time? If this is not the case what is the limitation? Why aren't more base learners implemented?

civilinformer commented 4 years ago

I went ahead and cloned the distribution and hacked into it and tried it with a different non-linear base learner and it indeed worked. Thanks for working on this! It is very interesting.

I am puzzled by why the results differ so much between runs but I'll save that for a different issue down the road.

avati commented 4 years ago

Yes any base learner will work. Not all base learners give good performance with boosting, but it should work nonetheless.