Open
Description
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.