Ce projet vise à créer un dashboard interactif pour visualiser et explorer des données liées à la Formule 1.
Après une petite introduction de ce sport mécanique en page d'accueil, il permet d'avoir une première analyse sur les performances des pilotes, des écuries et des courses au fil des saisons. À travers des visualisations dynamiques, ce dashboard fournit des graphiques claires et informatives pour les passionnés, anciens comme nouveaux !
Le projet a été conçu dans le cadre de l'UE d'analyse de données du Master 2 Bioinformatique à l'Université Claude Bernard Lyon 1.
Amusez-vous bien !
Le dashboard inclut plusieurs fonctionnalités, où chaque fonctionnalité est accompagnée d'une interface intuitive permettant à l'utilisateur de personnaliser les paramètres pour une analyse plus approfondie :
- Carte des Circuits : Une carte interactive qui affiche la localisation des circuits de Formule 1 à travers le monde. L'utilisateur peut explorer les détails de chaque circuit, comme son emplacement et le pays auquel il appartient.
- Histogrammes : Analyse des distributions de variables, comme les points ou les podiums, pour comprendre leur répartition parmi les pilotes ou les écuries.
- Clustering : Identification / détection de groupes similaires parmi les pilotes ou les écuries à l'aide de méthodes comme K-Means. Les résultats sont affichés sur des graphiques 2D avec des couleurs pour distinguer les clusters.
- Corrélation : Visualisation des relations entre les variables sous forme de carte thermique (heatmap), permettant de repérer rapidement les corrélations positives ou négatives entre différentes métriques / variables.
- Réduction de Dimensions : Projection des données sur deux dimensions en utilisant des techniques comme :
- Analyse en Composantes Principales (ACP) : Réduction linéaire des dimensions.
- t-SNE et UMAP : Techniques non linéaires pour révéler la structure des données.
- Analyse Temporelle : Suivi des performances cumulées des pilotes et des écuries au fil des saisons. Les graphiques montrent les tendances des points et des podiums sur plusieurs années.
- Analyse temps moyen ou vitesse moyenne, du tour le plus rapide : Analyse comparative des pilotes ou des écuries sur différentes métriques, telles que les points, les podiums ou le nombre de courses terminées, avec des graphiques interactifs permettant de personnaliser les paramètres.
- Analyse Championnat Pilotes : Pour chaque pilote, visualisation du nombre de victoires (minimum 2 sur toute sa carrière) par circuit, au fil des saisons.
- Analyse Championnat Constructeurs : Pour chaque constructeur, visualisation du nombre de victoires de championnat constructeur, au fil des saisons.
- Comparaison des carrières Pilotes : Pour les pilotes sélectionnés, visualisation et comparaison de leur nombre de points accumulés par saison.
- Python ≥ 3.12
- Outils nécessaires :
gitpip(oucondapour les environnements virtuels)
-
Clonez le dépôt Git :
git clone https://gitlab.com/timothy.labidi/data-analysis.git cd data-analysis -
Créez un environnement virtuel avec Conda (optionnel mais recommandé) :
-
Assurez-vous que Conda soit installé sur votre système :
conda --version
-
Créez un environnement virtuel nommé projetAD avec python 3.12 :
conda create -n projetAD python=3.12.0
-
Activez l'environnement :
conda activate projetAD
-
-
Installez les dépendances listés dans
requirements.txt:
pip install -r requirements.txt- Lancer l'application avec la commande suivante :
python dash_application.py
Le projet utilise des datasets sur la Formule 1, disponibles via la plateforme Kaggle.
Les fichiers exploités :
- Circuits (
1_circuits.csv) : Informations sur les circuits. - Pilotes (
2_drivers.csv) : Profils des pilotes. - Courses (
3_races.csv) : Historique des courses. - Écuries (
4_constructors.csv) : Données des écuries. - Résultats (
5_results.csv) : Résultats des courses. - Statuts (
6_status.csv) : Événements pendant les courses. - Qualifications (
7_qualifying.csv) : Temps de qualification des pilotes. - Classements des Constructeurs (
9_constructor_standings.csv) : Résultats des classements constucteurs, à chaque course de saison.
Voici un récapitulatif des principales variables utilisées dans les analyses :
race_year: Année de la course.race_name: Nom de la course.circuit_location: Emplacement géographique du circuit (coordonnées GPS).circuit_country: Pays où se situe le circuit.
result_positionOrder: Position finale du pilote.result_points: Points marqués par le pilote.podium: Indicateur de podium (1 si le pilote est dans les trois premiers, 0 sinon).
qualify_q1: Temps du pilote en Q1.qualify_q2: Temps du pilote en Q2.qualify_q3: Temps du pilote en Q3.
result_fastestLapTime: Temps du tour le plus rapide.result_fastestLapSpeed: Vitesse moyenne du tour le plus rapide.constructor_constructorRef: Référence de l'écurie.
Pour savoir précisément quelles variables sélectionner pour l'analyse, nous invitons l'utilsateur à consulter les colonnes des fichiers de données.
Pour toute question technique :
- Documentation Python et bibliothèques : Python Package Index.
- Documentation Dash : dash.plotly.com.
Ce projet a été réalisé par :
- Gabriel Michaux
- Timothy Labidi
Promotion 2024-2025, Master 2 Bioinformatique, Université Claude Bernard Lyon 1.
Licence ouverte à définir. Pour l'instant, ce projet est destiné à un usage académique.