Skip to content

sudhans18/epileptic-seizure-detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Epileptic Seisure Detection

🧠 About This Project

This mini-project explores the detection of epileptic seizures using EEG signal data and machine learning techniques implemented in MATLAB. Developed as part of the Digital Signal Processing lab coursework, it demonstrates foundational skills in signal preprocessing, feature analysis, and classification workflows.

While the scope is academic, the methodology aligns with practical challenges in biomedical signal processing—laying groundwork for future exploration into clinical applications and real-time prediction systems.

Epileptic Seizure Image Epileptic Seizure:
A transient occurrence of signs and/or symptoms caused by abnormal, excessive, or synchronous neuronal activity in the brain.

Epilepsy:
A chronic neurological disorder marked by recurrent, unprovoked seizures. It reflects an enduring predisposition to generate epileptic seizures and is often accompanied by cognitive, psychological, and social consequences.

⚙️ Methodology

  1. Dataset Acquisition: EEG signals sourced from the publicly available Bonn University dataset, encompassing five distinct categories (A–E), totaling 500 EEG recordings.
  2. Preprocessing: Bandpass filtering and smoothing applied to raw signals. Each 4097-point time series was segmented into 1-second windows of 178 data points.
  3. Labeling: Segments labeled based on seizure presence, with class 1 indicating epileptic seizure activity and classes 2–5 denoting non-seizure cases.
  4. Model Training: Features extracted from each segment were fed into machine learning classifiers (e.g., Decision tree, Random forest) implemented in MATLAB.
  5. Performance Evaluation: Accuracy and confusion matrices used to assess model performance.

📊 Dataset Description

  • EEG recordings include 500 files representing individual subjects, each sampled at 173.6 Hz for ~23.6 seconds.
  • Data organized into five sets:
    • Set A, B – Healthy individuals (eyes open/closed)
    • Set C, D – Non-seizure activity in epileptic patients
    • Set E – Epileptic seizure activity
  • Each recording contains 4096 samples. After segmentation:
    • Total of 11,500 1-second segments created (178 features + 1 label per row)
  • Response variable y ∈ {1, 2, 3, 4, 5} used for classification, with binary focus on seizure (y = 1) vs non-seizure (y = 2–5).

📈 Results

The trained classifiers were evaluated on a test subset of EEG signal segments. Performance metrics such as accuracy, precision, recall, and confusion matrix were used to assess seizure detection capability.

  • Random Forest: Achieved an overall accuracy of ~95%, with high sensitivity for seizure detection.
  • Decision tree: Delivered comparable results, though slightly lower precision on non-seizure classifications.
  • Confusion Matrix: Indicates balanced classification with minimal false negatives for class 1 (seizure).
image image

These results suggest the viability of feature-based approaches for distinguishing between seizure and non-seizure EEG segments in a controlled dataset.

🧾 Conclusion

This mini-project showcases the application of digital signal processing and machine learning techniques for seizure classification using EEG data. While developed within the scope of a lab assignment, the approach demonstrates scalable potential for further research or clinical adaptation.

Future improvements could include exploring deep learning models, adding time-series visualization tools, and extending the solution toward real-time seizure prediction.

Contact

For questions or collaboration inquiries, feel free to reach out:

About

Machine Learning model to predict Epileptic Seizure using EEG signals using MATLAB.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages