Logo Lanfrica

houdalamrini8/air-quality-prediction-morocco

Domaine:

environment and energy

Type de record:

project
Créateur:
hou
Hôte:
# Prédiction de la Qualité de l'Air dans les Villes Marocaines > Pipeline complet de Machine Learning et exploration du Federated Learning, appliqué à la prédiction de la pollution de l'air (PM2.5) à Casablanca, Rabat, Marrakech et Fès. **Réalisé par :** Houda Lamrini **Filière :** Master BDSI — Faculté des Sciences Dhar El Mahraz, Fès (USMBA) **Année :** 2025-2026 --- ## À propos du projet Ce projet vise à construire des modèles de Machine Learning capables de prédire la concentration en particules fines **PM2.5** dans quatre grandes villes marocaines, à partir de données réelles de météo et de qualité de l'air. Au-delà de la modélisation classique, le projet explore également l'**apprentissage fédéré (Federated Learning)** — une approche où les données restent locales à chaque ville et seuls les paramètres des modèles sont partagés, préservant ainsi la confidentialité. ## Objectifs - Collecter des données réelles via une API publique (météo + qualité de l'air) - Nettoyer, explorer et préparer un dataset exploitable pour le Machine Learning - Entraîner et comparer plusieurs modèles de régression pour prédire le PM2.5 - Simuler un scénario de Federated Learning entre plusieurs villes, avec deux implémentations : une version "from scratch" et une version avec le framework **Flower** ## Structure du projet ``` ├── 01_collecte.ipynb # Collecte des données via l'API OpenWeatherMap ├── 02_preparation.ipynb # Nettoyage et préparation du dataset ├── 03_modeles.ipynb # Construction et évaluation des modèles centralisés ├── 04_federe.ipynb # Federated Learning – FedAvg codé manuellement ├── 04_federe_flower.ipynb # Federated Learning – implémentation avec Flower (flwr) ├── data_raw.csv # Données brutes collectées ├── data_clean.csv # Dataset nettoyé et prêt pour la modélisation └── README.md ``` ## Technologies utilisées - **Python** (Pandas, NumPy, Matplotlib) - **Scikit-learn** — Régression …