comments

master
luevard 9 months ago
parent 4cc1e720f4
commit 5d2d7a358b

@ -2,7 +2,7 @@
Voici MMIX, une application IA permettant de prédire à hauteur de 57% le vainqueur d'un combat entre deux combattants MMA à l'UFC.
Les statistiques sont issu d'un dataframe disponible sur [Kaggle](https://www.kaggle.com/datasets/rajeevw/ufcdata).
Les statistiques sont issues d'un dataframe disponible sur [Kaggle](https://www.kaggle.com/datasets/rajeevw/ufcdata).
Le model utilisé est une forêt aléatoire.
@ -10,7 +10,7 @@ Le model utilisé est une forêt aléatoire.
Pour lancer le projet, il faut simplement exécuter la commande : `python3 main.py`
Aucun menu est disponible pour contrôler le modèle, il faut juste décommenter la ligne dans le main pour le modèle souhaité.
Aucun menu n'est disponible pour contrôler le modèle, il faut juste décommenter la ligne dans le main pour le modèle souhaité.
Ensuite, une saisie devra être effectué afin de renseigner les 2 combattants, la catégorie et si c'est un combat pour la ceinture.
@ -32,17 +32,17 @@ Les données utilisées sont issu d'un dataframe reprenant les statistiques de l
Le MMA, ou arts martiaux mixtes, est un sport de percussion-préhension (debout et au sol).
C'est un sport mis en avant par la médiatisation, comme le catch il y a quelques années. Il s'est démocratisé il y a peu de temps en France, car il n'est autorisé que depuis 2020.
C'est un sport mis en avant par la médiatisation, comme le catch il y a quelques années. Il s'est démocratisé il y a peu de temps en France, car il n'est autorisé que depuis 2020.
Avant cette date, ce sport était pratiquer par nos français à l'extérieur de l'héxagone.
Avant cette date, ce sport était pratiqué par nos Français à l'extérieur de l'hexagone.
Ce sport est très complexe, et seul les combattants maitrisant plusieurs style de combat peuvent gravir les échellons.
Ce sport est très complexe, et seuls les combattants maîtrisant plusieurs styles de combat peuvent gravir les échelons.
Le MMA permet de réunir plein de sorte de style de combat comme la boxe anglaise, le Jiu-jitsu brésilien, la lutte et le sambo.
Le MMA permet de réunir plein de sortes de styles de combat comme la boxe anglaise, le Jiu-jitsu brésilien, la lutte et le sambo.
Le MMA, comme en boxe, permet de combattre seulement contre sa catégorie de poids, sauf exception (devenir double champion, montée de catégories...).
## Et nos français ?
## Et nos Français ?
Actuellement à l'UFC, nous possédons 4 dans le top 15 mondial de l'UFC.
@ -52,35 +52,35 @@ Actuellement à l'UFC, nous possédons 4 dans le top 15 mondial de l'UFC.
[Nassourdine Imavov](https://www.ufc.com/athlete/nassourdine-imavov) - Top 8 dans la catégorie Poids Moyen Homme
[Benoit Saint Denis](https://www.ufc.com/athlete/mariya-agapova-0) - Top 12 dans la catégorie Poids Léger Homme, il est en série de 3 victoires très impréssionantes et va combattre début avril contre le Top 3 [Dustin Poirier](https://www.ufc.com/athlete/dustin-poirier) qui est une légende du MMA
[Benoit Saint Denis](https://www.ufc.com/athlete/mariya-agapova-0) - Top 12 dans la catégorie Poids Léger Homme, il est en série de 3 victoires très impressionnantes et va combattre début avril contre le Top 3 [Dustin Poirier](https://www.ufc.com/athlete/dustin-poirier) qui est une légende du MMA
## Que retenir du dataset ?
Le dataset contient 140 colonnes, il faut donc trier afin de récupérer seulement les informations importantes
Le dataset contient 140 colonnes, il faut donc trier afin de récupérer seulement les informations importantes:
**B_avg_BODY_landed** : Nombre moyen de coups au corps réussis par le combattant du coin bleu
- **B_avg_BODY_landed** : Nombre moyen de coups au corps réussis par le combattant du coin bleu
**B_avg_HEAD_landed** : Nombre moyen de coups à la tête réussis par le combattant du coin bleu
- **B_avg_HEAD_landed** : Nombre moyen de coups à la tête réussis par le combattant du coin bleu
**B_avg_TD_att** : Nombre moyen de tentatives de takedown par le combattant du coin bleu
- **B_avg_TD_att** : Nombre moyen de tentatives de takedown par le combattant du coin bleu
**B_avg_TOTAL_STR_landed** : Nombre moyen total de coups réussis par le combattant du coin bleu
- **B_avg_TOTAL_STR_landed** : Nombre moyen total de coups réussis par le combattant du coin bleu
**B_avg_opp_BODY_att** : Nombre moyen de tentatives de coups au corps par les adversaires contre le combattant du coin bleu
- **B_avg_opp_BODY_att** : Nombre moyen de tentatives de coups au corps par les adversaires contre le combattant du coin bleu
**B_avg_opp_HEAD_landed** : Nombre moyen de coups à la tête réussis par les adversaires contre le combattant du coin bleu
- **B_avg_opp_HEAD_landed** : Nombre moyen de coups à la tête réussis par les adversaires contre le combattant du coin bleu
**B_avg_opp_LEG_landed** : Nombre moyen de coups à la jambe réussis par les adversaires contre le combattant du coin bleu
- **B_avg_opp_LEG_landed** : Nombre moyen de coups à la jambe réussis par les adversaires contre le combattant du coin bleu
**B_avg_opp_SIG_STR_att** : Nombre moyen de tentatives de coups significatifs par les adversaires contre le combattant du coin bleu
- **B_avg_opp_SIG_STR_att** : Nombre moyen de tentatives de coups significatifs par les adversaires contre le combattant du coin bleu
**B_avg_opp_TOTAL_STR_att** : Nombre moyen total de tentatives de coups par les adversaires contre le combattant du coin bleu
- **B_avg_opp_TOTAL_STR_att** : Nombre moyen total de tentatives de coups par les adversaires contre le combattant du coin bleu
**R_avg_TD_att** : Nombre moyen de tentatives de takedown par le combattant du coin rouge
- **R_avg_TD_att** : Nombre moyen de tentatives de takedown par le combattant du coin rouge
**R_avg_opp_GROUND_att** : Nombre moyen de tentatives de coups au sol par les adversaires contre le combattant du coin rouge
- **R_avg_opp_GROUND_att** : Nombre moyen de tentatives de coups au sol par les adversaires contre le combattant du coin rouge
**R_avg_opp_SIG_STR_landed** : Nombre moyen de coups significatifs réussis par les adversaires contre le combattant du coin rouge
- **R_avg_opp_SIG_STR_landed** : Nombre moyen de coups significatifs réussis par les adversaires contre le combattant du coin rouge
## Preparation des données

@ -43,8 +43,12 @@ def predict(fighterStatsR,fighterStatsB,titlebout,model,weight):
# Définition d'un dataframe issu des colonnes précedemment renseignée
df = pd.DataFrame(columns=columns)
# Association des valeurs liées au deux combattants pour la prédiction
fight = {'B_fighter':0,'R_fighter':0,'title_bout':1,'B_avg_BODY_landed': fighterStatsB['B_avg_BODY_landed'],
'B_avg_HEAD_landed': fighterStatsB['B_avg_HEAD_landed'], 'B_avg_TD_att': fighterStatsB['B_avg_TD_att'],
fight = {
'B_fighter':0,'R_fighter':0,'title_bout':1,
'B_avg_BODY_landed': fighterStatsB['B_avg_BODY_landed'],
'B_avg_HEAD_landed': fighterStatsB['B_avg_HEAD_landed'],
'B_avg_TD_att': fighterStatsB['B_avg_TD_att'],
'B_avg_TOTAL_STR_landed': fighterStatsB['B_avg_TOTAL_STR_landed'],
'B_avg_opp_BODY_att': fighterStatsB['B_avg_opp_BODY_att'],
'B_avg_opp_HEAD_landed': fighterStatsB['B_avg_opp_HEAD_landed'],
@ -53,7 +57,8 @@ def predict(fighterStatsR,fighterStatsB,titlebout,model,weight):
'B_avg_opp_TOTAL_STR_att': fighterStatsB['B_avg_opp_TOTAL_STR_att'],
'R_avg_BODY_landed': fighterStatsR['B_avg_BODY_landed'],
'R_avg_HEAD_landed': fighterStatsR['B_avg_HEAD_landed'], 'R_avg_TD_att': fighterStatsR['B_avg_TD_att'],
'R_avg_HEAD_landed': fighterStatsR['B_avg_HEAD_landed'],
'R_avg_TD_att': fighterStatsR['B_avg_TD_att'],
'R_avg_TOTAL_STR_landed': fighterStatsR['B_avg_TOTAL_STR_landed'],
'R_avg_opp_BODY_att': fighterStatsR['B_avg_opp_BODY_att'],
'R_avg_opp_HEAD_landed': fighterStatsR['B_avg_opp_HEAD_landed'],

Loading…
Cancel
Save