Giter Club home page Giter Club logo

epilepsy_eeg_classification's Introduction

epilepsy_eeg_classification

epilepsy_eeg_classification is a python project that works with EEG data to classify epilepsy events.

In this repo you will find resources to:

  • Preprocessing of raw EEG data
  • Extration time domain and frequency domain features from EEG data
  • Implementation of five popular ML classification models selected to tackle nonlinear and imbalanced data (MLP, KNN, Kernel SVM, Random Forest, AdaBoost)

Paper

This study is based on course project paper titled '

  • Goal 1: Compare the performance of five popular nonlinear ML algorithms on patient-specific seizure classifications
  • Goal 2: Compare patient-specific versus non-patient specific classification performance

The complete study can be found in report.pdf

Data Source

[CHB-MIT Scalp EEG Database] (https://physionet.org/content/chbmit/1.0.0/) [1]

Scripts

scripts/preprocessing.py Inputs raw EEG files, performs high and low pass bandwidth filters, epoch segmentation, and feature extraction

scripts/consolidation.py Combines multiple preprocessed datasets of same or different subjects into a combined dataset

scripts/eeg_classifcation.py Runs five seizure classification algorithms for a given dataset

scripts/pyeeg.py Useful functions to extra time-domain and frequency-domain features from raw EEG [2]

Preprocessed data used in this study:

Raw EEG files from CHB-MIT database were preprocessed by preprocessing.py and saved into the data folder. Then, consolidation.py was used to combine 35-45 hour long files into the following datasets used for model training. These were not uploaded due to Github file size limits.

data/chb01.csv 145610 epochs, 505 with seizure

data/chb02.csv 125685 epochs, 207 with seizure

data/chb03.csv 136464 epochs, 465 with seizure

data/five_Subjects.csv 125685 epochs, 430 with seizure

References

[1] Ali Shoeb. Application of Machine Learning to Epileptic Seizure Onset Detection and Treatment. PhD Thesis, Massachusetts Institute of Technology, September 2009.

[2] Forrest Sheng Bao, Xin Liu, Christina Zhang, "PyEEG: An Open Source Python Module for EEG/MEG Feature Extraction", Computational Intelligence and Neuroscience, vol. 2011, Article ID 406391, 7 pages, 2011. https://doi.org/10.1155/2011/406391

epilepsy_eeg_classification's People

Contributors

lingchm avatar lvjintian1234 avatar mhaj98 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.