Quantum Dry-Run Hackathon project exploring quantum machine learning for temperature prediction in Cairo, Egypt
# Quantum Weather Forecasting 🌩️☔
This project was submitted for the **Quantum AI Hackathon** by **Team 5**.
## Team Members
- Rana Saad
- Sherifa Helmy
- Yousef Ahmed
- Jana Mohamed
---
## Project Overview
This project explores the potential of quantum machine learning (QML) for temperature forecasting by utilizing a dataset containing daily weather observations for Cairo, Egypt
We implemented a **Quantum Neural Network** using Qiskit Machine Learning and benchmarked it against classical linear regression, achieving remarkable results with only 2 key features.
## Step-by-Step Breakdown
### 1. Classical Data Preprocessing
- Removed irrelevant/duplicate columns
- Identified identical columns and dropped them
- standard scaling is applied to the input features
---
### 2. Classical Baseline Model
We implemented a Multiple Linear Regression model
- Used a correlation heatmap to analyze feature relationships and selected the top 8 features that were strongly correlated
- Split data into training and test sets (80/20).
- Trained a Multiple Linear Regression model.
### Classical Model Results
Serves as performance benchmark for our quantum approach
- **MSE**: 0.0738
- **R²**: 0.9981
---
### 3. Quantum Data Preprocessing
- Removed irrelevant/duplicate columns with quantum efficiency in mind
- Selected top 2 most impactful features for quantum processing:
- `apparent_temperature_mean (°C)`
- `et0_fao_evapotranspiration (mm)`
- Applied specialized MinMax scaling (-1 to 1) optimal for quantum feature maps
---
### 4. Quantum Neural Network Implementation ⚛️
**Breakthrough Quantum Architecture:**
- Used `Qiskit` and `qiskit-machine-learning` with PyTorch integration
- Quantum circuit components:
- `ZZFeatureMap` for optimal quantum feature encoding
- `EfficientSU2` (with circular entanglement) for variational optimization
- Constructed **Hybrid Quantum-Classical Model**:
- Quantum layer via `EstimatorQNN`
- Classical post-processing with PyTor …