This repository contains a Jupyter notebook for classifying motion capture activities (Boning and Slicing) using machine learning techniques.
- Loads and processes motion capture CSV data
- Extracts and engineers features (RMS, roll, pitch)
- Handles missing values and class labeling
- Aggregates features by time blocks
- Trains and evaluates multiple models (SVM, Random Forest, SGD, MLP)
- Performs hyperparameter tuning and feature selection
- Compares model performance and selects the best classifier
- Place your
Boning.csvandSlicing.csvfiles in the working directory. - Run the notebook step by step to preprocess data, extract features, and train models.
- Review the summary tables and observations to understand model performance.
- Python 3.x
- pandas
- numpy
- scikit-learn
- scipy
- tabulate
Install dependencies with:
pip install pandas numpy scikit-learn scipy tabulate- The notebook compares SVM (with and without tuning), Random Forest, SGD, and MLP classifiers.
- RandomForestClassifier achieves the highest accuracy and is selected as the final model.
Author: Jesmine Ting Zi Ching (2026)