You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Motivation: as we expand the scope of models supported, it may be easier for contributors to add new distributions if we refactor the class to accept distribution-specific params and corresponding likelihood / loss / gradients / hessians as callables.
One strategy inspired by statsmodels proposed by @jasmainak in #274 is as follows:
There are also alternatives such as the scikit-learn approach which is less work for the low touch user who only needs to call fit and predict on a model object without having to construct a distr object:
model = PoissonGLM(base_param1, base_param2, poisson_param1, poisson_param2)
I wouldn't change the class signature too much any more. We made one big backwards incompatible change with this release (GLM and GLMCV). Now we should try to keep the API a little stable. Not sure I understand the second approach fully. In the first approach, you would not change anything in the GLM object except allow also objects that subclass from BaseDistribution. Users don't have to create them as you can just provide them in a module.
Motivation: as we expand the scope of models supported, it may be easier for contributors to add new distributions if we refactor the class to accept distribution-specific params and corresponding likelihood / loss / gradients / hessians as callables.
One strategy inspired by
statsmodels
proposed by @jasmainak in #274 is as follows:There are also alternatives such as the
scikit-learn
approach which is less work for the low touch user who only needs to callfit
andpredict
on a model object without having to construct adistr
object:The text was updated successfully, but these errors were encountered: