SeizyML: Feature Dataset with Accompanying Code for Seizure Detection Model Reproducibility
收藏NIAID Data Ecosystem2026-05-02 收录
下载链接:
https://zenodo.org/record/14825784
下载链接
链接失效反馈官方服务:
资源简介:
Abstract
This repository contains the code, data, and pre-trained models necessary to reproduce the experiments and figures presented in the accompanying paper (Under Revision). In the paper we introduce SeizyML an open-software that use uses interpretable machine learning models to detect seizures from EEG recordings.
Summary
The central script, run_experiments.py, orchestrates model training and processing. All trained models and score files are also included to allow figure reproduction without model training.
This archive contains features calculated from chronic LFP/EEG recordings in a mouse model of temporal lobe epilepsy which were obtained as part of the study described here.
Additionally, this archive contains features obtained from the CHB-MIT dataset.
Finally, this archive contains the code to reproduce figures from the accompanying paper (Currently under revision - A description of how the features were extracted is also included here).
These features can also be used to compare the performance of other models with the machine learning models described in the accompanying paper.
Usage Instructions
1. Publication figures can be reproduced by running the figure related scripts as all trained models and score files are included in the trained_models folder.
For example
python figure4_post_processing.py
2. To run specific experiments or reproduce figures, execute the script with one of the available tasks as an argument:
python run_experiments.py
Task Name
Description
Related Figures
per_file
Trains models using per-file normalization
Figures 2-4, Supp. Fig. 4
all_file
Trains models using all-file normalization
Figure 2
time_plots
Generates time-based prediction plots
Figure 3, Supp. Fig. 3
post_processing
Applies post-processing to model outputs
Figure 4
train_size
Evaluates models with varying training set sizes
Figure 5
permute_labels
Trains models with permuted labels to test robustness
Figure 5
small_models_permute
Evaluates small dataset models with permuted labels
Figure 5-6
gnb_one_feature
Trains Gaussian Naive Bayes models using a single feature
Supp. Fig. 5
norm_comps_mouse
Compares normalization techniques (mouse data)
Figure 7
norm_comps_chb_mit
Compares normalization techniques (CHB-MIT dataset)
Figure 7
Dependencies
Dependencies include:
Python 3.9-3.11
Numpy
Pandas
Seaborn
tqdm
Scipy
Scikit-learn
joblib
statsmodels
An example requirements.txt file with our full environment details is also included.
Directory Structure / Contents
├── figure2_factor_comparisons.py # Script to generate Figure 2├── figure3_seizure_predictions_time.py # Script to generate Figure 3├── figure4_post_processing.py # Script to generate Figure 4├── figure5_model_robustness.py # Script to generate Figure 5├── figure6_feature_importance.py # Script to generate Figure 6├── figure7_norm_comparisons.py # Script to generate Figure 7├── supp_figure_4_pac_sgd.py # Script for Supplementary Figure 4├── supp_figure_5_gnb_one_feature.py # Script for Supplementary Figure 5├── run_experiments.py ## Main script for training and validation experiments├── requirements.txt├── data│ ├── features_chbmit # EEG features from the CHB-MIT dataset│ ├── features_mouse│ │ ├── train # Mouse training data features│ │ └── test # Mouse test data features│ └── trained_models # Pre-trained models/files for reproducibility├── sz_utils│ ├── compile_features.py│ ├── compile_features_chbmit.py│ ├── feature_selection.py│ ├── post_processing.py│ ├── seizure_match.py│ ├── test_scores.py│ └── time_plots.py└── training ├── grid_search.py ├── train_gnb_one_feature.py ├── train_models_basic.py ├── train_models_norm_comps.py ├── train_models_permute_labels.py ├── train_models_train_size.py ├── train_small_models_permute_labels.py └── train_test_chbmit.py
Contact
For questions regarding the code, data, or reproducibility, please contact the corresponding author of the paper.
创建时间:
2025-02-06



