Based in the US, the Ultimate Fighting Championship (UFC) is a mixed martial arts (MMA) promotion organization. It showcases the best fighters and is the biggest MMA promotion globally. Since its founding in 1993, the UFC has racked up thousands of bouts. The organization has experienced exponential growth, gaining millions of fans worldwide and becoming a global phenomenon.
This repository contains the resolution to the 2nd assignment of the course Artificial Intelligence of the Bachelor in Informatics and Computing Engineering at the Faculty of Engineering of the University of Porto.
The main goal of this assignment is to explore different supervised learning algorithms and their applications in predicting the outcomes of a given classification problem. In this case, the group has chosen to tackle the problem involving the prediction of the winner of a UFC fight. In our resolution, we will be using the following algorithms:
- Decision Trees
- k-Nearest Neighbors (k-NN)
- Support Vector Machines (SVM)
The dataset was obtained from Kaggle and can be found here. It contains information about all the UFC fights ever, including the venue details and fighter statistics. The dataset contains 2 distinct files: ufc_all_fights.csv and clean_ufc_all_fights.csv. The ufc_all_fights.csv file contains all the information about the fights, but it is not clean and contains some missing values. The clean_ufc_all_fights.csv file contains the same information, but it is clean and ready for analysis.
To run the code in this repository, you need to have the following software installed on your machine:
- Python 3.x installed.
- Jupyter Notebook or any other Python IDE (e.g., PyCharm, Visual Studio Code).
- Required Python libraries:
pandas,numpy,scikit-learn,matplotlib, andseaborn.
To install these libraries, you can use the following command in your terminal:
pip install numpy pandas matplotlib seaborn scikit-learnOr, if you are using Anaconda, you can use the following command:
conda install numpy pandas matplotlib seaborn scikit-learnAll the instructions to run the code are provided in the notebook itself. The notebook is organized into sections, each corresponding to a specific part of the assignment. You can run each section independently or run the entire notebook at once.
This project is distributed under the MIT License.
This assignment was developed by:
- Afonso Machado Neves, up202108884
- João Afonso Oliveira Teixeira Santos, up202108805
- Jose Pedro Trocado Ferreira, up202108836