Prédiction du foot

Autre projet

Image du projet

Description du Projet

Le projet a pour objectif de concevoir une solution d'analyse prédictive appliquée aux statistiques de matchs de la saison 2022-2023, afin de déterminer l'issue probable des rencontres (victoire, nul ou défaite).
Techniquement, le projet fonctionne sur la base d'une chaîne de traitement complète (pipeline). Il assure d'abord la structuration des données brutes par le nettoyage et la création d'une variable cible catégorielle. Après une phase de normalisation et d'analyse exploratoire (corrélations), le système déploie plusieurs modèles de Machine Learning (Random Forest, SVM, Réseaux neuronaux). Enfin, il compare automatiquement leurs performances à l'aide de métriques statistiques rigoureuses pour isoler l'algorithme offrant la meilleure capacité de généralisation.

Code source

Détails du Projet

  • Python


Chargement et Prétraitement des Données : Lecture des données avec gestion du séparateur et de l'encodage. Suppression des colonnes inutiles et des lignes contenant des valeurs manquantes.
Création de la Variable Cible result :
Calcul et attribution de valeurs numériques (1, 0, -1) pour catégoriser les résultats des matchs.
Visualisation des Corrélations : Génération de matrices de corrélation pour identifier les relations entre les variables. Affichage de heatmaps pour une visualisation claire des corrélations.
Analyse des Distributions : Visualisation de la distribution des résultats des matchs sous forme de diagrammes à barres. Comparaison des caractéristiques des matchs en fonction du résultat (victoire, nul, défaite).
Normalisation des Données : Application de la méthode Min-Max Scaling pour normaliser les valeurs des caractéristiques.
Séparation des Données en Ensembles d'Apprentissage et de Test : Utilisation de train_test_split pour diviser les données avec ou sans stratification.
Modélisation avec Divers Algorithmes : Application d'algorithmes de machine learning, incluant Random Forest, SVM, Réseaux de Neurones, Naive Bayes, et Régression Logistique Multinomiale.
Évaluation des Modèles : Calcul des métriques de performance : exactitude, matrice de confusion, et rapport de classification. Affichage des matrices de confusion avec les étiquettes pour une interprétation plus aisée.
Affinement des Modèles : Ajustement des hyperparamètres des modèles pour améliorer leur performance. Comparaison des résultats de différents modèles pour déterminer le plus performant.
Visualisation des Résultats : Création de graphiques détaillés pour montrer la performance de chaque modèle et les erreurs de prédiction.