Notre article scientifique

Naissance du projet
Dans le cadre du module Big Data en ING3 (spécialité IA) à CY Tech, nous avons mené un projet en groupe de quatre avec un objectif ambitieux : déployer une architecture Big Data complète, similaire à celles utilisées en entreprise.
Le cas d’usage repose sur les données publiques des taxis jaunes de New York (TLC).
L’enjeu n’était pas seulement d’analyser un dataset, mais de construire une chaîne de traitement couvrant tout le cycle de vie de la donnée :
collecte
stockage
nettoyage
modélisation
visualisation
prédiction
orchestration
Autrement dit : un pipeline industriel de bout en bout.
Architecture globale
L’infrastructure complète repose sur Docker Compose, garantissant un environnement reproductible pour toute l’équipe.
Les principaux composants :
MinIO → Data Lake (stockage objet S3-compatible)
Apache Spark (Scala) → traitement distribué
PostgreSQL → Data Warehouse
Streamlit → visualisation interactive
LightGBM → modèle de Machine Learning
Apache Airflow → orchestration du pipeline
L’objectif était de reproduire une architecture proche des standards industriels.
Collecte & stockage des données
Nous avons automatisé la récupération mensuelle du fichier Parquet des taxis NYC depuis le site officiel de la TLC, puis son stockage dans le Data Lake MinIO.
Deux approches ont été testées :
Upload direct vers MinIO
Upload via Spark
La solution retenue conserve le fichier original tel quel dans le bucket nyc-raw.
Nettoyage & ingestion multi-branche
Une fois les données récupérées, un pipeline Spark applique un contrat de validation strict (distance positive, dates cohérentes, valeurs autorisées, etc.).
Résultat :
4,59 millions de lignes brutes → 3,21 millions de lignes valides (≈ 70 % conservées)
Le pipeline produit ensuite deux branches :
Branche ML → Parquet nettoyé dans MinIO
Branche analytique → Chargement dans PostgreSQL
Une vraie logique de pipeline parallèle.
Data Warehouse & modèle dimensionnel
Nous avons transformé le schéma transactionnel en modèle en étoile (Star Schema) :
6 dimensions (date, location, vendor, payment, etc.)
1 table de faits (fact_trip)
Le grain retenu :
1 ligne = 1 course de taxi
Ce modèle permet des analyses métier efficaces et performantes.
Visualisation & KPI
Un tableau de bord Streamlit connecté à PostgreSQL permet d’explorer les données nettoyées.
Quelques indicateurs clés (mai 2025) :
3 211 616 courses
96,5 M$ de revenu total
30,06 $ de tarif moyen
3,49 miles de distance moyenne
12,6 % de taux de pourboire
Le dashboard permet d’analyser :
les tendances journalières
les revenus horaires
les zones les plus actives
les modes de paiement
Prédiction par Machine Learning
Nous avons développé un modèle LightGBM Regressor pour prédire le total_amount d’une course.
Contraintes :
RMSE < 10
Résultats obtenus :
RMSE : 5,42
MAE : 2,69
R² : 0,949
Le modèle respecte largement les objectifs.
Une attention particulière a été portée à la prévention du data leakage et aux tests unitaires.
Orchestration avec Airflow
Enfin, l’ensemble du pipeline est automatisé via un DAG Airflow.
En un seul lancement :
Initialisation du schéma
Collecte des données
Nettoyage & ingestion
Entraînement du modèle
Le pipeline complet peut être rejoué depuis l’interface web Airflow.
Conclusion
Ce projet nous a permis de déployer une architecture Big Data complète, couvrant :
l’ingénierie des données
le traitement distribué
la modélisation analytique
la visualisation métier
la prédiction par Machine Learning
l’orchestration automatisée
Au-delà des résultats techniques, c’est une immersion concrète dans un écosystème Big Data moderne, proche des infrastructures déployées en entreprise.
Un projet exigeant, structurant, et particulièrement formateur.





