# Introduction

Voici MMIX, une application IA permettant de prédire à hauteur de 63% la probabilité de victore d'un combat entre deux combattants MMA. 

Les statistiques sont issu d'un dataframe disponible sur [Kaggle](https://www.kaggle.com/datasets/rajeevw/ufcdata).

Le model utilisé est une forêt aléatoire.

# Les données

Les données utilisées sont issu d'un dataframe reprenant les statistiques de la plus grande organisation MMA au monde, l'UFC (Ultimate Fighting Championship).

## Qu'est ce que le MMA ?

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. 

Avant cette date, ce sport était pratiquer par nos français à l'extérieur de l'héxagone.

Ce sport est très complexe, et seul les combattants maitrisant plusieurs style de combat peuvent gravir les échellons.

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, 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 ?

Actuellement à l'UFC, nous possédons 4 dans le top 15 mondial de l'UFC.

[Ciryl Gane](https://www.ufc.com/athlete/ciryl-gane) - Top 2 dans la catégorie Poids Lourd Homme

[Manon Fiorot](https://www.ufc.com/athlete/manon-fiorot) - Top 3 dans la catégorie Poids Mouche Femme

[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

## Que retenir du dataset ?

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_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_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_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_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

**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_SIG_STR_landed** : Nombre moyen de coups significatifs réussis par les adversaires contre le combattant du coin rouge

**B_age** : Âge du combattant du coin bleu

**R_age** : Âge du combattant du coin rouge

# Comment lancer le projet ?

Pour lancer le projet, il faut simple exécuter la commande : python3 server.py.

Par contre le model met un peu de temps à charger, 2 minutes environs.

Ensuite, une interface web est disponible à l'adresse http://127.0.0.1:5000/ .

# LISTE DES VISUALISATIONS A PREVOIR

**Taux de victoire par méthode de finition** : Analyser la fréquence à laquelle les combats se terminent par soumission, KO, décision unanime, décision partagée, etc

**Durée moyenne des combats** : Calculer la durée moyenne des combats pour différentes catégories de poids ou pour l'ensemble de l'UFC

**Taux de réussite des takedowns** : Examiner le pourcentage de tentatives de takedown réussies par les combattants

**Taux de réussite des frappes** : Analyser le pourcentage de coups réussis par rapport au nombre total de coups tentés

**Distribution des finitions par round** : Déterminer dans quel round les combats sont le plus souvent terminés (par exemple, soumission au premier round, KO au deuxième round, etc.)

**Variation des performances avec l'âge** : Vérifier s'il existe une corrélation entre l'âge des combattants et leur succès dans l'UFC

