Welcome to the uHD EEG Machine Learning Models Repository, where we aim to train and evaluate state-of-the-art machine learning models on Ultra-High Density Electroencephalography (uHD EEG) data to decode individual finger movements.
The dataset used in this repository is available through the following URL:
Dataset
This incredible repository is inspired by the groundbreaking research article:
Individual Finger Movement Decoding using a novel Ultra-High Density EEG-based BCI system
Begin your journey with the inspect_data.ipynb
script. It will guide you through the basics of the dataset and provide essential insights.
The key to successful machine learning lies in feature extraction. The extract_features.ipynb
script will extract features for a single subject and store the data in a convenient h5 file.
- Conquer SVM models for each finger pair for a single subject:
train_binary_SVM.ipynb
- Master SVM models for each subject and store results in CSV:
train_binary_SVM.py
- Train Deep Learning models for each finger pair for a single subject:
train_binary_DL.ipynb
- Harness the power of DL models for each subject and store results in CSV:
train_binary_DL.py
- Process output CSVs and save visually stunning plots to file:
visualize_results.ipynb
Create breathtaking saliency plots based on the backpropagated value of a neural network:
saliency_plot_2classes.py
train_DL_singleSubject_5classes.ipynb
train_DL_singleSubject_5classes_RNN.ipynb
train_DL_all_subject.ipynb
train_DL_all_subject_individual_first_layer.ipynb
tain_DL_all_subject_individual_cross_attention.ipynb