Ce projet a été réalisé dans le cadre de la formation diplomante de Data Scientist d'OpenClassRooms & CentraleSupelec.
Le principal objectif de ce projet est de développer un modèle de prédiction de la consommation énergétique des bâtiments pour la ville de Seattle. Il s'inscrit dans une démarche visant à optimiser la gestion des ressources énergétiques en anticipant les besoins de consommation.
Les données nécessaires au projet sont disponibles ici. Elles comprennent des relevés de la ville de 2016, notamment des données structurelles des bâtiments telles que la taille, l'usage, la date de construction, etc.
Un notebook dédié à l'analyse exploratoire et à l'analyse de la qualité des données a été créé (1_EDA.ipynb).
Un second notebook explore différentes méthodes de pré-traitement des données (gestion de la qualité des données et feature engineering) ainsi que des modèles de régression tels que la régression linéaire, Random Forest, Gradient Boosting, SVR pour sélectionner le modèle optimal (2_Prediction_consommation.ipynb).
Des pipelines ont été mis en place pour le pré-traitement des données et la modélisation de la prédiction des consommations énergétiques des bâtiments (main.py).
- Notebook de l'analyse exploratoire et de l'analyse de la qualité des données (1_EDA.ipynb);
- Notebook exploratoire des méthodes utilisées (features engineering & modèles de prédiction) (2_Prediction_consommation.ipynb);
- Script principal du projet (main.py) qui effectue les étapes suivantes :
- Chargement des données à partir du fichier spécifié dans le fichier de configuration (config.py);
- Nettoyage des données à l'aide d'un pipeline défini dans le module data_cleaning (data_cleaning.py);
- Feature Engineering à l'aide d'un pipeline défini dans le module feature_engineering (feature_engineering.py);
- Entraînement et évaluation d'un modèle de régression baseline (régression linéaire (RL)) en utilisant le pipeline défini dans le module baseline_model (baseline_model.py);
- Entraînement et évaluation d'un modèle XGBoost en utilisant le pipeline défini dans le module xgboost_model (xgboost_model.py).
Un support de présentation de l'analyse exploratoire pour la soutenance est également disponible (3_Presentation).
Pour exécuter le code de ce projet, vous aurez besoin de Python 3.11 ou supérieur. Installez les dépendances à l'aide du fichier requirements.txt
.
pip install -r requirements.txt
Le fichier setup.py est également inclus pour permettre l'installation et la distribution du projet en tant que package Python.
pip install .
Pour exécuter le script, assurez-vous d'avoir Python 3.11 ou supérieur installé et exécutez la commande suivante dans le terminal :
python main.py
Assurez-vous également de personnaliser les chemins et les paramètres dans le fichier config.py selon les besoins de votre projet.