https://github.com/ascillitoe/eq-prtree
A dash app to train polynomial regression trees.
https://github.com/ascillitoe/eq-prtree
dash decision-trees machine-learning model-trees plotly polynomials python
Last synced: about 1 year ago
JSON representation
A dash app to train polynomial regression trees.
- Host: GitHub
- URL: https://github.com/ascillitoe/eq-prtree
- Owner: ascillitoe
- License: gpl-3.0
- Created: 2021-06-20T10:27:10.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2021-06-21T13:41:16.000Z (almost 5 years ago)
- Last Synced: 2025-01-28T22:33:44.606Z (over 1 year ago)
- Topics: dash, decision-trees, machine-learning, model-trees, plotly, polynomials, python
- Language: Python
- Homepage: http://prtree.ascillitoe.com
- Size: 208 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# eq-PRTree
This is a python [Dash](https://plotly.com/dash/) app, (soon to be) accesible at [prtree.ascillitoe.com](https://prtree.ascillitoe.com/). It demonstrates the utility of polynomial regression trees (PRTrees); a new type of model tree for supervised machine learning and polynomial chaos applications. By building decision trees with orthogonal polynomials at the leaf nodes, PRTrees can achieve the same accuracy with a significantly shallower tree compared to a standard decision tree. In fact, the predicitve accuracy of a PRTree is often competitive with ensemble methods such as random forests and gradient boosted tree. Moreover, the shallow tree depth, combined with the polynomials' sensitivity indices, yields a readily interpretable model.
The PRTrees are obtained with the [PolyTree](https://equadratures.org/_documentation/polytree.html) module in the [equadratures](https://equadratures.org/) package. The app is hosted on the cloud via a [Heroku](https://www.heroku.com/about) dyno.
### Installation
The easiest way to run the app is to simply go to [prtree.ascillitoe.com](https://prtree.ascillitoe.com/)!
Alternatively, if you want to run locally, you must first install the full dash stack, and a number of other packages. The full list of requirements for local running can be installed with:
```console
python -m pip install dash dash_core_components dash_html_components dash_daq
python -m pip install flask_caching pylibmc plotly numpy pandas equadratures>=9.1.0 jsonpickle func-timeout requests>=2.11.1
```
I recommend performing the above in a virtual enviroment such as virtualenv. After installing requirements, the app can be launched with:
```console
python index.py
```