Implementation of a Human Activity Recognition system using accelerometer and gyroscope data. The dataset used is the UCI-HAR dataset, where participants performed six activities. The goal is to analyze and classify activities based on sensor data.
- UCI-HAR Dataset
- Raw accelerometer data from the inertial_signals folder used.
- Data organized and sorted using CombineScript.py and MakeDataset.py scripts.
- Place CombineScript.py and MakeDataset.py in the UCI dataset folder.
- Run CombineScript.py to organize data into the Combined folder.
- Run MakeDataset.py to create a dataset with train, test, and validation sets.
- Focus on the initial 10 seconds of activity (500 data samples at 50Hz).
- Plot waveform for each activity class.
- Observe differences/similarities in a subplot with 6 columns.
- Analyze linear acceleration for each activity.
- Justify the need for a machine learning model to differentiate static and dynamic activities.
- Train Decision Tree using the train set.
- Report accuracy and confusion matrix using the test set.
- Train Decision Tree with varying depths (2-8) and analyze accuracy changes.
- Use PCA on Total Acceleration for dimensionality reduction.
- Apply TSFEL for feature extraction.
- Visualize different activity classes using scatter plots.
- Train Decision Tree using features from TSFEL.
- Report accuracy and confusion matrix using the test set.
- Compare Decision Tree accuracies with varying depths using raw data and engineered features.
- Identify participants/activities with poor model performance.
- Analyze reasons for performance issues.
- Utilize Physics Toolbox Suite to collect smartphone sensor data.
- Trim data to 10 seconds, ensuring consistent phone position and alignment.
- Train on UCI dataset and test on collected data.
- Report accuracy and confusion matrix.
- PCA Scatter Plot: Limited separability.
- TSFEL + PCA Scatter Plot: Improved class separability.
- Optimal depth crucial for balancing bias-variance tradeoff.
- Successful classification in real-world scenarios.
- Identified special cases impacting model performance.
- Explore ensemble methods for dynamic activities.
- Investigate advanced feature engineering techniques.
- Implement real-time monitoring for dynamic environments.
- Data preprocessing, feature engineering, and model evaluation.
- Decision Tree implementation and analysis.
- PCA application for dimensionality reduction.
- Real-world deployment considerations.