Skip to content

A machine learning project exploring classification algorithms to predict UFC fight outcomes, developed for the Artificial Intelligence course at FEUP.

License

Notifications You must be signed in to change notification settings

AFNeves/UFCFightOutcomes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

All UFC Fight Outcomes

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.

Introduction

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.

Objective

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)

Dataset

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.

Prerequisites

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, and seaborn.

To install these libraries, you can use the following command in your terminal:

pip install numpy pandas matplotlib seaborn scikit-learn

Or, if you are using Anaconda, you can use the following command:

conda install numpy pandas matplotlib seaborn scikit-learn

Running the Notebook

All 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.

License

This project is distributed under the MIT License.


This assignment was developed by: