Talip7/scikit-learn-issues-multilabel huggingface dataset:
Full Python/sklearn Adaptation of py-earth

### Describe the workflow you want to enable

A full Python (not c or cython) port of py-earth, an archived sklearn project.

### Describe your proposed solution

- MARS regression is a great and really practical technique.
- py-earth implemented this, based in the R earth library.
- The archived state of py-earth means it's only possible to get working with old dependencies which limits the ability to use it with newer tools and in more current workflows..

### Describe alternatives you've considered, if relevant

- I tried to modernise py-earth, but got tripped up on lots of issues such as Python 2 to 3 conversion, the old scipy dependencies etc.
- py-earth was mostly consistent with sklearn, but not completely.
- I've created a full Python port (repo still private, as the repo is still a bit messy), as a secondary output of my PhD.
- I would like to try introduce it as a 'spiritual' successor to py-earth and collaborate with the sklearn community.
- Keen to get some guidance on approaching this, as I'm relatively new to contributing.

### Additional context

- For policy and decision contexts, the stepwise linear approach and combination of a visualisable model and change points, means MARS regression has advantages over other modelling methods.
- For changepoint analysis involving gradients, MARS is easier and nicer to work with than PELT-based changepoints (ruptures).
- What this means is that in sklearn workflows, it's potentially a useful prediction method for decision-analysis and forecasting.
- Whilst the performance of the resulting models may not be as good as other techniques, that's made up for by the advantage of explainability and the adaptive approach.

COMMENT:
Hi @edithatogo. `py-earth` is a scikit-learn-contrib package that has been archived end of 2023: https://github.com/scikit-learn-contrib/py-earth. You're asking for inclusion in scikit-learn. It certainly has largely enough citations. However I wonder if it's a widely used ml algorithm today. Since it was placed in contrib in the first place possibly means that it was considered a bit too niche (just guessing here). Maybe @lorentzenchr has a better overview ?

Labels: New Feature, Needs Decision
Full Python/sklearn Adaptation of py-earth

### Describe the workflow you want to enable

A full Python (not c or cython) port of py-earth, an archived sklearn project.

### Describe your proposed solution

- MARS regression is a great and really practical technique.
- py-earth implemented this, based in the R earth library.
- The archived state of py-earth means it's only possible to get working with old dependencies which limits the ability to use it with newer tools and in more current workflows..

### Describe alternatives you've considered, if relevant

- I tried to modernise py-earth, but got tripped up on lots of issues such as Python 2 to 3 conversion, the old scipy dependencies etc.
- py-earth was mostly consistent with sklearn, but not completely.
- I've created a full Python port (repo still private, as the repo is still a bit messy), as a secondary output of my PhD.
- I would like to try introduce it as a 'spiritual' successor to py-earth and collaborate with the sklearn community.
- Keen to get some guidance on approaching this, as I'm relatively new to contributing.

### Additional context

- For policy and decision contexts, the stepwise linear approach and combination of a visualisable model and change points, means MARS regression has advantages over other modelling methods.
- For changepoint analysis involving gradients, MARS is easier and nicer to work with than PELT-based changepoints (ruptures).
- What this means is that in sklearn workflows, it's potentially a useful prediction method for decision-analysis and forecasting.
- Whilst the performance of the resulting models may not be as good as other techniques, that's made up for by the advantage of explainability and the adaptive approach.

COMMENT:
@edithatogo, we are currently in the process of onboarding `pygam` to the German Center of Open Source AI (a European open source umbrella), with a high priority on updating the `scikit-learn` interfaces to compatibility.

https://github.com/dswah/pyGAM/
https://gcos.ai/

We also maintain a wider range of `scikit-learn` conformant and interoperable libraries.

So, how about this suggestion: while `scikit-learn` core devs decide whether MARS is worthy of inclusion in `scikit-learn` directly, we can release your package separately in affiliation with us, and in close collboration with `pygam`? We could think about shared maintenance burden as well, since both are relatively similar statistical methods with an `scikit-learn` interface.

We can also put the estimator(s) on trajectory of inclusion to `scikit-learn`, in case maintainers think it is useful to have (there are other statistical models as well), and if there are any "quality gaps" they highlight, we can work on it in the separate package and repository.

What do you think? If of interest, and if you want to have a sync chat, ping me on the `sktime` discord https://discord.com/invite/54ACzaFsn7, or send an email (fkiraly at gcos dot ai)

Labels: New Feature, Needs Decision
Full Python/sklearn Adaptation of py-earth

### Describe the workflow you want to enable

A full Python (not c or cython) port of py-earth, an archived sklearn project.

### Describe your proposed solution

- MARS regression is a great and really practical technique.
- py-earth implemented this, based in the R earth library.
- The archived state of py-earth means it's only possible to get working with old dependencies which limits the ability to use it with newer tools and in more current workflows..

### Describe alternatives you've considered, if relevant

- I tried to modernise py-earth, but got tripped up on lots of issues such as Python 2 to 3 conversion, the old scipy dependencies etc.
- py-earth was mostly consistent with sklearn, but not completely.
- I've created a full Python port (repo still private, as the repo is still a bit messy), as a secondary output of my PhD.
- I would like to try introduce it as a 'spiritual' successor to py-earth and collaborate with the sklearn community.
- Keen to get some guidance on approaching this, as I'm relatively new to contributing.

### Additional context

- For policy and decision contexts, the stepwise linear approach and combination of a visualisable model and change points, means MARS regression has advantages over other modelling methods.
- For changepoint analysis involving gradients, MARS is easier and nicer to work with than PELT-based changepoints (ruptures).
- What this means is that in sklearn workflows, it's potentially a useful prediction method for decision-analysis and forecasting.
- Whilst the performance of the resulting models may not be as good as other techniques, that's made up for by the advantage of explainability and the adaptive approach.

COMMENT:
Sounds good to me, will reach out :)

Labels: New Feature, Needs Decision
Full Python/sklearn Adaptation of py-earth

### Describe the workflow you want to enable

A full Python (not c or cython) port of py-earth, an archived sklearn project.

### Describe your proposed solution

- MARS regression is a great and really practical technique.
- py-earth implemented this, based in the R earth library.
- The archived state of py-earth means it's only possible to get working with old dependencies which limits the ability to use it with newer tools and in more current workflows..

### Describe alternatives you've considered, if relevant

- I tried to modernise py-earth, but got tripped up on lots of issues such as Python 2 to 3 conversion, the old scipy dependencies etc.
- py-earth was mostly consistent with sklearn, but not completely.
- I've created a full Python port (repo still private, as the repo is still a bit messy), as a secondary output of my PhD.
- I would like to try introduce it as a 'spiritual' successor to py-earth and collaborate with the sklearn community.
- Keen to get some guidance on approaching this, as I'm relatively new to contributing.

### Additional context

- For policy and decision contexts, the stepwise linear approach and combination of a visualisable model and change points, means MARS regression has advantages over other modelling methods.
- For changepoint analysis involving gradients, MARS is easier and nicer to work with than PELT-based changepoints (ruptures).
- What this means is that in sklearn workflows, it's potentially a useful prediction method for decision-analysis and forecasting.
- Whilst the performance of the resulting models may not be as good as other techniques, that's made up for by the advantage of explainability and the adaptive approach.

COMMENT:
also, do you know if there is a GH repository for this?
https://pypi.org/project/py-earth2/

Labels: New Feature, Needs Decision
Full Python/sklearn Adaptation of py-earth

### Describe the workflow you want to enable

A full Python (not c or cython) port of py-earth, an archived sklearn project.

### Describe your proposed solution

- MARS regression is a great and really practical technique.
- py-earth implemented this, based in the R earth library.
- The archived state of py-earth means it's only possible to get working with old dependencies which limits the ability to use it with newer tools and in more current workflows..

### Describe alternatives you've considered, if relevant

- I tried to modernise py-earth, but got tripped up on lots of issues such as Python 2 to 3 conversion, the old scipy dependencies etc.
- py-earth was mostly consistent with sklearn, but not completely.
- I've created a full Python port (repo still private, as the repo is still a bit messy), as a secondary output of my PhD.
- I would like to try introduce it as a 'spiritual' successor to py-earth and collaborate with the sklearn community.
- Keen to get some guidance on approaching this, as I'm relatively new to contributing.

### Additional context

- For policy and decision contexts, the stepwise linear approach and combination of a visualisable model and change points, means MARS regression has advantages over other modelling methods.
- For changepoint analysis involving gradients, MARS is easier and nicer to work with than PELT-based changepoints (ruptures).
- What this means is that in sklearn workflows, it's potentially a useful prediction method for decision-analysis and forecasting.
- Whilst the performance of the resulting models may not be as good as other techniques, that's made up for by the advantage of explainability and the adaptive approach.

COMMENT:
FYI @felixgwilliams

Labels: New Feature, Needs Decision
Full Python/sklearn Adaptation of py-earth

### Describe the workflow you want to enable

A full Python (not c or cython) port of py-earth, an archived sklearn project.

### Describe your proposed solution

- MARS regression is a great and really practical technique.
- py-earth implemented this, based in the R earth library.
- The archived state of py-earth means it's only possible to get working with old dependencies which limits the ability to use it with newer tools and in more current workflows..

### Describe alternatives you've considered, if relevant

- I tried to modernise py-earth, but got tripped up on lots of issues such as Python 2 to 3 conversion, the old scipy dependencies etc.
- py-earth was mostly consistent with sklearn, but not completely.
- I've created a full Python port (repo still private, as the repo is still a bit messy), as a secondary output of my PhD.
- I would like to try introduce it as a 'spiritual' successor to py-earth and collaborate with the sklearn community.
- Keen to get some guidance on approaching this, as I'm relatively new to contributing.

### Additional context

- For policy and decision contexts, the stepwise linear approach and combination of a visualisable model and change points, means MARS regression has advantages over other modelling methods.
- For changepoint analysis involving gradients, MARS is easier and nicer to work with than PELT-based changepoints (ruptures).
- What this means is that in sklearn workflows, it's potentially a useful prediction method for decision-analysis and forecasting.
- Whilst the performance of the resulting models may not be as good as other techniques, that's made up for by the advantage of explainability and the adaptive approach.

COMMENT:
> also, do you know if there is a GH repository for this? https://pypi.org/project/py-earth2/

This is the repository https://github.com/felixgwilliams/py-earth2 Sorry for not adding the repo link to the package metadata.

The idea was to do the minimum to get the py-earth code running with more recent pythons and dependencies. In the end, we did not use the MARS model in our project, so I haven't looked at it since. A pure python, sklearn-integrated implementation sounds like a good idea to me.

Labels: New Feature, Needs Decision
Full Python/sklearn Adaptation of py-earth

### Describe the workflow you want to enable

A full Python (not c or cython) port of py-earth, an archived sklearn project.

### Describe your proposed solution

- MARS regression is a great and really practical technique.
- py-earth implemented this, based in the R earth library.
- The archived state of py-earth means it's only possible to get working with old dependencies which limits the ability to use it with newer tools and in more current workflows..

### Describe alternatives you've considered, if relevant

- I tried to modernise py-earth, but got tripped up on lots of issues such as Python 2 to 3 conversion, the old scipy dependencies etc.
- py-earth was mostly consistent with sklearn, but not completely.
- I've created a full Python port (repo still private, as the repo is still a bit messy), as a secondary output of my PhD.
- I would like to try introduce it as a 'spiritual' successor to py-earth and collaborate with the sklearn community.
- Keen to get some guidance on approaching this, as I'm relatively new to contributing.

### Additional context

- For policy and decision contexts, the stepwise linear approach and combination of a visualisable model and change points, means MARS regression has advantages over other modelling methods.
- For changepoint analysis involving gradients, MARS is easier and nicer to work with than PELT-based changepoints (ruptures).
- What this means is that in sklearn workflows, it's potentially a useful prediction method for decision-analysis and forecasting.
- Whilst the performance of the resulting models may not be as good as other techniques, that's made up for by the advantage of explainability and the adaptive approach.

COMMENT:
So, @felixgwilliams, py-earth2 is abandoned? Also, you did not do a full python upgrade, right?

This is basically just the original project forked?

Labels: New Feature, Needs Decision
Full Python/sklearn Adaptation of py-earth

### Describe the workflow you want to enable

A full Python (not c or cython) port of py-earth, an archived sklearn project.

### Describe your proposed solution

- MARS regression is a great and really practical technique.
- py-earth implemented this, based in the R earth library.
- The archived state of py-earth means it's only possible to get working with old dependencies which limits the ability to use it with newer tools and in more current workflows..

### Describe alternatives you've considered, if relevant

- I tried to modernise py-earth, but got tripped up on lots of issues such as Python 2 to 3 conversion, the old scipy dependencies etc.
- py-earth was mostly consistent with sklearn, but not completely.
- I've created a full Python port (repo still private, as the repo is still a bit messy), as a secondary output of my PhD.
- I would like to try introduce it as a 'spiritual' successor to py-earth and collaborate with the sklearn community.
- Keen to get some guidance on approaching this, as I'm relatively new to contributing.

### Additional context

- For policy and decision contexts, the stepwise linear approach and combination of a visualisable model and change points, means MARS regression has advantages over other modelling methods.
- For changepoint analysis involving gradients, MARS is easier and nicer to work with than PELT-based changepoints (ruptures).
- What this means is that in sklearn workflows, it's potentially a useful prediction method for decision-analysis and forecasting.
- Whilst the performance of the resulting models may not be as good as other techniques, that's made up for by the advantage of explainability and the adaptive approach.

COMMENT:
@fkiraly Yes you are correct on all three points

Labels: New Feature, Needs Decision
Full Python/sklearn Adaptation of py-earth

### Describe the workflow you want to enable

A full Python (not c or cython) port of py-earth, an archived sklearn project.

### Describe your proposed solution

- MARS regression is a great and really practical technique.
- py-earth implemented this, based in the R earth library.
- The archived state of py-earth means it's only possible to get working with old dependencies which limits the ability to use it with newer tools and in more current workflows..

### Describe alternatives you've considered, if relevant

- I tried to modernise py-earth, but got tripped up on lots of issues such as Python 2 to 3 conversion, the old scipy dependencies etc.
- py-earth was mostly consistent with sklearn, but not completely.
- I've created a full Python port (repo still private, as the repo is still a bit messy), as a secondary output of my PhD.
- I would like to try introduce it as a 'spiritual' successor to py-earth and collaborate with the sklearn community.
- Keen to get some guidance on approaching this, as I'm relatively new to contributing.

### Additional context

- For policy and decision contexts, the stepwise linear approach and combination of a visualisable model and change points, means MARS regression has advantages over other modelling methods.
- For changepoint analysis involving gradients, MARS is easier and nicer to work with than PELT-based changepoints (ruptures).
- What this means is that in sklearn workflows, it's potentially a useful prediction method for decision-analysis and forecasting.
- Whilst the performance of the resulting models may not be as good as other techniques, that's made up for by the advantage of explainability and the adaptive approach.

COMMENT:
@fkiraly thanks for your patience. This is the repo- https://github.com/edithatogo/pymars. @felixgwilliams if you or others are interested in contributing, you'd be welcome to.

Labels: New Feature, Needs Decision
Present parameters and attributes sorted alphabetically to make it easier to find them on the documentation pages.

### Describe the issue linked to the documentation

## Example
On documentation page https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html the parameters are listed out of order, with "hidden_layer_sizes" being shown at the top, followed by "activation", that should be the first parameters among the three visible on this screenshot. The "solver" parameter is kind of better positioned than the other two, but it's actually not well positioned at all, because after it we have the "alpha" parameter, which should be at the top of the list since it starts with "a". "batch_size" should appear after the parameters that start with "a", and so on.

<img width="992" height="862" alt="Image" src="https://github.com/user-attachments/assets/74910bb8-3c5f-41db-ba5d-f78e09a40c14" />

### Suggest a potential alternative/fix

Sort the parameters and attributes alphabetically by name before presenting them on the documentation pages.

COMMENT:
I'm -1 with the proposal because I really prefer the parameter to be documented in the order they appear in the function signature. As far as I'm aware, all PyData packages do it this way.

Labels: Documentation
Present parameters and attributes sorted alphabetically to make it easier to find them on the documentation pages.

### Describe the issue linked to the documentation

## Example
On documentation page https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html the parameters are listed out of order, with "hidden_layer_sizes" being shown at the top, followed by "activation", that should be the first parameters among the three visible on this screenshot. The "solver" parameter is kind of better positioned than the other two, but it's actually not well positioned at all, because after it we have the "alpha" parameter, which should be at the top of the list since it starts with "a". "batch_size" should appear after the parameters that start with "a", and so on.

<img width="992" height="862" alt="Image" src="https://github.com/user-attachments/assets/74910bb8-3c5f-41db-ba5d-f78e09a40c14" />

### Suggest a potential alternative/fix

Sort the parameters and attributes alphabetically by name before presenting them on the documentation pages.

COMMENT:
Now that the parameters are kwarg only we can reorder them in the signature, but I'm also -1 on this because usually the most important parameters are in the first position which I find useful.

Labels: Documentation
Present parameters and attributes sorted alphabetically to make it easier to find them on the documentation pages.

### Describe the issue linked to the documentation

## Example
On documentation page https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html the parameters are listed out of order, with "hidden_layer_sizes" being shown at the top, followed by "activation", that should be the first parameters among the three visible on this screenshot. The "solver" parameter is kind of better positioned than the other two, but it's actually not well positioned at all, because after it we have the "alpha" parameter, which should be at the top of the list since it starts with "a". "batch_size" should appear after the parameters that start with "a", and so on.

<img width="992" height="862" alt="Image" src="https://github.com/user-attachments/assets/74910bb8-3c5f-41db-ba5d-f78e09a40c14" />

### Suggest a potential alternative/fix

Sort the parameters and attributes alphabetically by name before presenting them on the documentation pages.

COMMENT:
If anyone is not working on it can I take it?

Labels: Documentation
Present parameters and attributes sorted alphabetically to make it easier to find them on the documentation pages.

### Describe the issue linked to the documentation

## Example
On documentation page https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html the parameters are listed out of order, with "hidden_layer_sizes" being shown at the top, followed by "activation", that should be the first parameters among the three visible on this screenshot. The "solver" parameter is kind of better positioned than the other two, but it's actually not well positioned at all, because after it we have the "alpha" parameter, which should be at the top of the list since it starts with "a". "batch_size" should appear after the parameters that start with "a", and so on.

<img width="992" height="862" alt="Image" src="https://github.com/user-attachments/assets/74910bb8-3c5f-41db-ba5d-f78e09a40c14" />

### Suggest a potential alternative/fix

Sort the parameters and attributes alphabetically by name before presenting them on the documentation pages.

COMMENT:
I am going to close this since there seems to be some consensus about not wanting this change

Labels: Documentation