Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚄 SNCF DelayFlow

SNCF DelayFlow est une plateforme d'analyse de données et de machine learning conçue pour explorer, analyser et prédire les retards des trains TGV du réseau SNCF. En utilisant les données de l'Open Data SNCF, ce projet fournit des diagnostics de performance approfondis et une analyse des causes racines via un tableau de bord interactif.

🚀 Fonctionnalités

  • Pipeline de Données Automatisé : Nettoyage et ingestion de données brutes (CSV) vers un format optimisé (Parquet) puis export vers SQLite.
  • Analyse des Causes Racines : Identification des facteurs principaux de retard (Infrastructure, Matériel Roulant, Gestion du Trafic, etc.).
  • Visualisations Interactives : Tableau de bord Streamlit moderne avec des indicateurs de performance (KPI) et des graphiques dynamiques.
  • Machine Learning : Modèle de prédiction des retards basé sur les caractéristiques extraites des liaisons ferroviaires.
  • Traitement Big Data : Utilisation de PySpark pour le nettoyage efficace des données à grande échelle.

🛠️ Stack Technique

  • Langage : Python 3.10+
  • Analyse de Données : Pandas, NumPy
  • Traitement Distribué : PySpark
  • Visualisation : Streamlit, Plotly
  • Machine Learning : Scikit-learn, Joblib
  • Base de Données : SQLite, Parquet
  • Gestion de Dépendances : pip

📂 Structure du Projet

SncfDelayFlow/
├── app.py                # Application Streamlit (Interface utilisateur)
├── scripts/              # Scripts du pipeline
│   ├── clean_data.py      # Nettoyage avec PySpark
│   ├── extract_features.py# Ingénierie des caractéristiques
│   ├── train_model.py     # Entraînement du modèle ML
│   ├── export_sqlite.py   # Export vers la base de données finale
│   └── run_pipeline.py    # Orchestrateur du pipeline
├── data/                 # Données du projet
│   ├── raw/               # Données brutes SNCF (CSV)
│   ├── processed/         # Données nettoyées (Parquet)
│   └── sncf_data.db      # Base de données SQLite finale
├── models/               # Modèles ML sauvegardés
└── requirements.txt      # Dépendances Python

⚙️ Installation

  1. Cloner le dépôt :

    git clone https://github.com/votre-username/SncfDelayFlow.git
    cd SncfDelayFlow
  2. Installer les dépendances :

    pip install -r requirements.txt

    Note : Assurez-vous d'avoir Java installé pour faire fonctionner PySpark.

📈 Utilisation

1. Lancer le Pipeline de Données

Pour traiter les données brutes, entraîner le modèle et préparer la base de données :

python scripts/run_pipeline.py

2. Lancer le Tableau de Bord

Pour visualiser les analyses :

streamlit run app.py

📊 Données Utilisées

Les données proviennent du portail SNCF Open Data, notamment :

  • Régularité mensuelle TGV par axe.
  • Régularité mensuelle TGV par liaison.
  • Liste des gares de voyageurs.

Développé dans le cadre d'un projet d'expertise en ingénierie des données.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages