Coder Social home page Coder Social logo

nick777-pixel / streamlit_prophet-forecasting Goto Github PK

View Code? Open in Web Editor NEW

This project forked from artefactory/streamlit_prophet

1.0 0.0 1.0 27.44 MB

Streamlit app to train, evaluate and optimize a Prophet forecasting model.

License: MIT License

Makefile 1.77% Python 97.86% Dockerfile 0.37%

streamlit_prophet-forecasting's Introduction

Streamlit Prophet

CI status Python Version Dependencies Status Streamlit App

Code style: black Security: bandit Pre-commit Semantic Versions License

Deploy a Streamlit app to train, evaluate and optimize a Prophet forecasting model visually

⭐ Quick Start ⭐

Test the app online with shared computing resources & read introductory article

If you plan to use the app regularly, you should install the package and run it locally:

pip install -U streamlit_prophet
streamlit_prophet deploy dashboard
demo.mp4

💻 Requirements

Python version

  • Main supported version : 3.7
  • Other supported versions : 3.8 & 3.9

Please 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 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:

pip install conda; conda create -n streamlit_prophet python=3.7; conda activate streamlit_prophet

Or with virtualenv:

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):

pip install -U streamlit_prophet

Or from the main branch of this repository:

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:

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:

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 for any change you would like to make on this project.

For more information, see CONTRIBUTING instructions. If you wish to containerize the app, see DOCKER instructions.

streamlit_prophet-forecasting's People

Contributors

maximelutel avatar cedric-magnan avatar nick777-pixel avatar julesbertrand avatar

Stargazers

 avatar

Forkers

appmuno

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.