Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/artefactory/streamlit_prophet
Streamlit app to train, evaluate and optimize a Prophet forecasting model.
https://github.com/artefactory/streamlit_prophet
fbprophet forecasting forecasting-models machine-learning prophet python streamlit streamlit-webapp time-series
Last synced: about 3 hours ago
JSON representation
Streamlit app to train, evaluate and optimize a Prophet forecasting model.
- Host: GitHub
- URL: https://github.com/artefactory/streamlit_prophet
- Owner: artefactory
- License: mit
- Created: 2021-04-14T13:58:56.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-06T17:23:20.000Z (9 months ago)
- Last Synced: 2025-01-11T00:06:56.329Z (7 days ago)
- Topics: fbprophet, forecasting, forecasting-models, machine-learning, prophet, python, streamlit, streamlit-webapp, time-series
- Language: Python
- Homepage:
- Size: 26.9 MB
- Stars: 328
- Watchers: 5
- Forks: 242
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
![Streamlit Prophet](streamlit_prophet/references/logo.png)
[![CI status](https://github.com/artefactory-global/streamlit_prophet/actions/workflows/ci.yml/badge.svg?branch%3Amain&event%3Apush)](https://github.com/artefactory-global/streamlit_prophet/actions/workflows/ci.yml?query=branch%3Amain)
[![Python Version](https://img.shields.io/badge/python-3.7%20%7C%203.8%20%7C%203.9-blue.svg)](#supported-python-versions)
[![Dependencies Status](https://img.shields.io/badge/dependabots-active-informational.svg)](https://github.com/artefactory-global/streamlit_prophet/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)
[![Streamlit App](https://static.streamlit.io/badges/streamlit_badge_black_white.svg)](https://prophet.streamlit.app)[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Security: bandit](https://img.shields.io/badge/security-bandit-informational.svg)](https://github.com/PyCQA/bandit)
[![Pre-commit](https://img.shields.io/badge/pre--commit-enabled-informational?logo=pre-commit&logoColor=white)](https://github.com/artefactory-global/streamlit_prophet/blob/main/.pre-commit-config.yaml)
[![Semantic Versions](https://img.shields.io/badge/%F0%9F%9A%80-semantic%20versions-informational.svg)](https://github.com/artefactory-global/streamlit_prophet/releases)
[![License](https://img.shields.io/badge/License-MIT-informational.svg)](https://github.com/artefactory-global/streamlit_prophet/blob/main/LICENSE)Deploy a [Streamlit](https://streamlit.io/) app to train, evaluate and optimize a [Prophet](https://facebook.github.io/prophet/) forecasting model visually
## ⭐ Quick Start ⭐
[Test the app online](https://prophet.streamlit.app) with shared computing resources & [read introductory article](https://medium.com/artefact-engineering-and-data-science/visual-time-series-forecasting-with-streamlit-prophet-71d86a769928?source=friends_link&sk=590cca0d24f53f73a9fdb0490a9a47a7)
If you plan to use the app regularly, you should install the package and run it locally:
```bash
pip install -U streamlit_prophet
streamlit_prophet deploy dashboard
```https://user-images.githubusercontent.com/56996548/126762714-f2d3f3a1-7098-4a86-8c60-0a69d0f913a7.mp4
## 💻 Requirements
### Python version
* Main supported version : 3.7
* Other supported versions : 3.8 & 3.9Please make sure you have one of these versions installed to be able to run the app on your machine.
### Operating System
Windows users have to install [WSL2](https://docs.microsoft.com/en-us/windows/wsl/) to download the package.
This is due to an incompatibility between Windows and Prophet's main dependency (pystan).
Other operating systems should work fine.## ⚙️ Installation
### Create a virtual environment (optional)
We strongly advise to create and activate a new virtual environment, to avoid any dependency issue.For example with conda:
```bash
pip install conda; conda create -n streamlit_prophet python=3.7; conda activate streamlit_prophet
```Or with virtualenv:
```bash
pip install virtualenv; python3.7 -m virtualenv streamlit_prophet --python=python3.7; source streamlit_prophet/bin/activate
```### Install package
Install the package from PyPi (it should take a few minutes):
```bash
pip install -U streamlit_prophet
```Or from the main branch of this repository:
```bash
pip install git+https://github.com/artefactory-global/streamlit_prophet.git@main
```## 📈 Usage
Once installed, run the following command from CLI to open the app in your default web browser:
```bash
streamlit_prophet deploy dashboard
```Now you can train, evaluate and optimize forecasting models in a few clicks.
All you have to do is to upload a time series dataset.
This dataset should be a csv file that contains a date column, a target column and optionally some features, like on the example below:![](streamlit_prophet/references/input_format.png)
Then, follow the guidelines in the sidebar to:
* Prepare data: Filter, aggregate, resample and/or clean your dataset.
* Choose model parameters: Default parameters are available but you can tune them.
Look at the tooltips to understand how each parameter is impacting forecasts.
* Select evaluation method: Define the evaluation process, the metrics and the granularity to
assess your model performance.
* Make a forecast: Make a forecast on future dates that are not included in your dataset,
with the model previously trained.Once you are satisfied, click on "save experiment" to download all plots and data locally.
## 🛠️ How to contribute ?
All contributions, ideas and bug reports are welcome!
We encourage you to open an [issue](https://github.com/artefactory-global/streamlit_prophet/issues) for any change you would like to make on this project.For more information, see [`CONTRIBUTING`](https://github.com/artefactory-global/streamlit_prophet/blob/main/CONTRIBUTING.md) instructions.
If you wish to containerize the app, see [`DOCKER`](https://github.com/artefactory-global/streamlit_prophet/blob/main/DOCKER.md) instructions.