Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oadultradeepfield/timeseriesviz
Time Series Visualization Tool for Processing and Modeling. Visualize the impact of preprocessing methods and model hyperparameters through detailed plots and numerical metrics.
https://github.com/oadultradeepfield/timeseriesviz
Last synced: 4 days ago
JSON representation
Time Series Visualization Tool for Processing and Modeling. Visualize the impact of preprocessing methods and model hyperparameters through detailed plots and numerical metrics.
- Host: GitHub
- URL: https://github.com/oadultradeepfield/timeseriesviz
- Owner: oadultradeepfield
- License: mit
- Created: 2024-09-26T05:26:03.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-12-21T15:03:15.000Z (about 2 months ago)
- Last Synced: 2024-12-21T16:21:58.513Z (about 2 months ago)
- Language: Python
- Size: 15.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TimeSeriesViz
![Streamlit](https://img.shields.io/badge/Streamlit-%23FE4B4B.svg?style=for-the-badge&logo=streamlit&logoColor=white)
![Pandas](https://img.shields.io/badge/pandas-%23150458.svg?style=for-the-badge&logo=pandas&logoColor=white)
![NumPy](https://img.shields.io/badge/numpy-%23013243.svg?style=for-the-badge&logo=numpy&logoColor=white)
![scikit-learn](https://img.shields.io/badge/scikit--learn-%23F7931E.svg?style=for-the-badge&logo=scikit-learn&logoColor=white)
![Plotly](https://img.shields.io/badge/Plotly-%233F4F75.svg?style=for-the-badge&logo=plotly&logoColor=white)
![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)
![Google Cloud](https://img.shields.io/badge/GoogleCloud-%234285F4.svg?style=for-the-badge&logo=google-cloud&logoColor=white)## Overview
**TimeSeriesViz** is a Streamlit app designed for interactive visualization and analysis of time series data. It allows users to easily explore the effects of various preprocessing techniques and model hyperparameters through dynamic plots and key numerical metrics.
Originally developed as a hands-on tool for the **NUS Fintech Society Machine Learning Training AY24/25**, it provides an intuitive platform for learning and applying time series concepts such as:
- **Resampling**, **Handling Missing Data**, **Lag Features**, **Rolling Statistics**
- **ARIMA**, **Random Forest**, and **LightGBM** modeling techniquesAs of December 2024, I’ve decided to revamp the deployment process by containerizing the app with Docker and deploying it serverlessly on Google Cloud Run. The live version is now being mapped [here](https://tsviz.phanuphats.com/).
## Preview
![App Preview](/src/assets/preview.gif)
## Key Features
- **Interactive Visualization**: Visualize the impact of preprocessing methods on time series data in real time.
- **Modeling Insights**: Evaluate model performance through clear plots and metrics.
- **Beginner-Friendly**: Simplified interface for beginners to grasp key time series concepts quickly.## Installation
To run the app locally:
```bash
git clone https://github.com/oadultradeepfield/timeseriesviz.git
cd timeseriesviz
pip install -r requirements.txt
streamlit run app.py
```Alternatively, you can run the app using Docker (recommended):
```bash
git clone https://github.com/oadultradeepfield/timeseriesviz.git
cd timeseriesviz
docker build -t timeseriesviz .
docker run -p 8080:8080 timeseriesviz
```## Usage
1. Upload your time series dataset.
2. Experiment with various preprocessing methods like data imputation, resampling, and feature creation.
3. Select models such as ARIMA or LightGBM and tune hyperparameters.
4. Visualize the impact of each change in real-time.## License
This project is licensed under the MIT License - see the [LICENSE](/LICENSE) file for details.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue to enhance the tool.
## Acknowledgements
This app was built for the NUS Fintech Society Machine Learning Training AY24/25 as a part of an interactive hands-on curriculum. NUS Fintech Society was founded in 2018 in collaboration with NUS Fintech Lab under the NUS School of Computing. It has a mission to educate students with Fintech knowledge through industry projects, and connect and establish relationships with industry partners.
The toy dataset used in this project is sourced and adapted from this Kaggle repository: https://www.kaggle.com/datasets/yekahaaagayeham/time-series-toy-data-set. I greatly appreciate the author for sharing it.