ECM3401 Individual Project: Tennis Shot Classification with Machine Learning

Overview

This repository contains the code and documentation for my ECM3401 Individual Project, focusing on the classification of tennis shots using machine learning algorithms. The project involves comparing various machine learning algorithms implemented in Python to classify tennis shots (forehand, backhand, and overhead) from inertial sensor data stored in CSV files.

Project Structure

  • data/: Contains the CSV files containing inertial sensor data for different tennis shots.
  • models/: Includes machine learning models and scripts for model evaluation.
  • main.py: The entry point for the program responsible for the interface.
  • README.md: You are here! The main documentation for the project.

Installation

Python 3.12.2

This project was developed with Python 3.12.2. To install Python 3.12.2, you can download the installer from the official Python website.

Required Libraries

To run the project, you need to install the following libraries:

  • NumPy: pip install numpy
  • pandas: pip install pandas
  • scikit-learn: pip install scikit-learn
  • Keras: pip install keras
  • TensorFlow: pip install tensorflow
  • matplotlib: pip install matplotlib

Running the Program

To run the program, first navigate to the Program directory. From the command line:

  • For Windows: python main.py
  • For Mac: python3 main.py

Testing the Program

To test the program, first navigate to the Program directory. From the command line:

  • For Windows: python -m unittest discover models
  • For Mac: python3 -m unittest discover models

License

This project is licensed under the MIT License.

Contact

For any inquiries or discussions regarding the project, feel free to contact me:

Your Name
Email: joshua.weaverr@gmail.com
LinkedIn: Your LinkedIn Profile