A three-phase machine learning pipeline for classifying aircraft handling signals from the NATOPS (Naval Air Training and Operating Procedures Standardization) dataset using unsupervised clustering and supervised classification.
This project analyzes sensor data from hands, elbows, wrists, and thumbs to recognize six distinct aircraft handling gestures:
- I have command
- All clear
- Not clear
- Spread wings
- Fold wings
- Lock wings
The pipeline transforms raw data into cluster-based features, then trains multiple classifiers to recognize gesture patterns.
Source: AALTD 2016 Challenge
Sensor Configuration: 8 body parts × 3 coordinates (x, y, z) = 24 features
- Hand tips (left/right)
- Elbows (left/right)
- Wrists (left/right)
- Thumbs (left/right)
Temporal Structure: 51 time steps per gesture sample
Purpose: Convert ARFF format time-series data into a tabular structure.
Output: flattened_data.csv:
- 24 sensor features (HandTipLeft_X, HandTipLeft_Y, etc.)
- class_label (1-6)
- time_step (1-51)
- sample_id
- isTest (boolean flag)
Usage:
python phase1.pyPurpose: Transform raw sensor readings into cluster distribution features.
Output: natops_clustered_data.csv with:
- sid
- isTest
- class
- c_1, c_2, ..., c_k
Usage:
python phase2.pyPurpose: Train and evaluate supervised models on cluster-based features.
Models:
- Logistic Regression
- K-Nearest Neighbors (KNN)
- Multi-Layer Perceptron (MLP)
Outputs:
- Confusion Matrices
- Model Accuracy comparison table
- F1 Scores
- Overfitting analysis charts
Usage:
python phase3.py