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

[ENH] Multiple link function support for GLMs #383

Closed
ShreeshaM07 opened this issue Jun 12, 2024 · 3 comments · Fixed by #384
Closed

[ENH] Multiple link function support for GLMs #383

ShreeshaM07 opened this issue Jun 12, 2024 · 3 comments · Fixed by #384
Labels
enhancement feature request New feature or request interfacing algorithms Interfacing existing algorithms/estimators from third party packages module:regression probabilistic regression module

Comments

@ShreeshaM07
Copy link
Contributor

Is your feature request related to a problem? Please describe.

The existing GLMRegressor supports only the Gaussian family and in that specifically only the Identity link function. There are many other family like Poisson, Binomial, Negative Binomial , Gamma that can be implemented and each of these having a set of safe link functions of their own. So the idea would be to support these different family and their link function in order to make the GLMRegressor of more broader use.

Describe the solution you'd like

Currently the _glm.py in skpro is only using the Gaussian family and its default link function interfaced from statsmodels. However we can extend this to support multiple link functions and different families by either adding an adapter for this to convert the available families in statsmodels to skpro BaseDistributions available.

@ShreeshaM07 ShreeshaM07 added the feature request New feature or request label Jun 12, 2024
@ShreeshaM07
Copy link
Contributor Author

I was thinking of extending the previously written code for GLMRegressor by adding parameters family and link where family will have the type of distribution like Normal,Poisson or Gamma and the link will be the various available links for the respective family. They will be passed as strings and then converted to the object instance internally maybe with an adapter class.

FYI @fkiraly, @julian-fong .

@julian-fong
Copy link
Contributor

Sounds good to me! Actually this is potentially a dup of #230. Some of the ideas there may coincide with this issue

@fkiraly
Copy link
Collaborator

fkiraly commented Jun 12, 2024

Actually this is potentially a dup of #230. Some of the ideas there may coincide with this issue

I'd say, subset - #230 is more of an umbrella issue. I will add a link to this issue there.

@fkiraly fkiraly added enhancement module:regression probabilistic regression module interfacing algorithms Interfacing existing algorithms/estimators from third party packages labels Jun 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement feature request New feature or request interfacing algorithms Interfacing existing algorithms/estimators from third party packages module:regression probabilistic regression module
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants