/eyes-eeg

Primary LanguageJupyter NotebookBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

AlgoLYNXathon Team A repo

Details of the hackathon can be found here

The repo contain three notebooks

  1. eyes-eeg.ipynb which details how data can be downloaded from Open Neuro page
  2. arshy_preparedata_final.ipynb which details how Team A preprocessed the data to be used in classification
  3. arshy_approach2_2labelclassification.ipynb which goes through how Team built a eyes open / eyes closed classification using Random Forest Classifier

Preprocessing Approaches

The different preproces we used

  • filter to filter the signals between desired Hz
  • resample to resample the eeg signal from acqusition frequency to a desired frequency
  • ICA to remove ecg, eog related artifacts
  • fized length epochs to break the continuous signal to number of samples

The following approaches were used to preproces that data

Approach 1

  • filter between 1 and 40
  • resample from 500hz to 100 hz
  • remove artifacts based on ICA
  • epoch 50s

Approach 2

  • filter between 1 and 40
  • resample from 500hz to 100 hz
  • remove artifacts based on ICA
  • epoch 50s and average

Approach 3

  • filter between 1 and 20
  • resample from 500hz to 100 hz
  • remove artifacts based on ICA on epochs
  • epoch 50s

Approach 4

  • filter between 1 and 20
  • resample from 500hz to 100 hz
  • remove artifacts based on ICA on epochs
  • epoch 50s and average

Classification Methods

Method 1

  • only the occipital channels were used in classification [PO3, PO7, Oz, O1, POz, PO4, PO8, O2]
  • RandomForestClassifier was used as the classifier of choice

Method 2

  • only the Oz channel was used in classification
  • RandomForestClassifier was used as the classifier of choice

Method 3

  • Following 10 channels were used [PO3, PO7, Oz, O1, POz, PO4, PO8, O2, P3, P4]
  • RandomForestClassifier was used as the classifier of choice