Skip to content

About

Papilledema grading (G1–G4) from clinical measurements with SVM and neural networks — dataset + code (MJEER 2026)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Papilledema Grading with Machine Learning and Clinical Data Measurements

Companion research compendium for:

Enhancing Papilledema Grading through Advanced Computational Approaches with Machine Learning and Clinical Data Measurements Ahmed M. Salaheldin, Manal Abdel Wahed, Manar Talaat, Neven Saleh Menoufia Journal of Electronic Engineering Research (MJEER), Vol. 35, No. 2, pp. 24–33, July 2026. Article license: CC BY 4.0

This repository packages the clinical dataset, the published article, and a set of reference scripts that reproduce the preprocessing and classifier pipeline described in the paper (SVM and Neural Network models for grading papilledema severity from clinical measurements rather than fundus images).

Study summary

Papilledema (optic disc swelling from raised intracranial pressure) is graded G1–G4 in clinical practice. Instead of relying on fundus-image deep learning (the dominant approach in prior literature), this study builds a structured clinical dataset — 134 patients, 9 measured features per patient — and trains two classical classifiers, an SVM and a Neural Network, to predict the grade directly from clinical measurements.

Headline results (independent test split):

Metric SVM Neural Network
Accuracy 94.23% 90.38%
Sensitivity 90.28% 77.78%
Specificity 96.59% 93.87%
Precision 85.12% 77.71%
F1-Score 85.89% 77.53%

A two-proportion z-test comparing SVM vs. Neural Network accuracy was not statistically significant (p > 0.05), likely due to the modest test-set size — see the article for full details and the 95% confidence intervals.

See results/REPORTED_RESULTS.md for the complete descriptive statistics and correlation matrix reported in the article (Tables III–V), transcribed for quick reference.

Repository structure

papilledema-grading-ml/
├── data/
│   ├── papilledema_clinical_dataset.xlsx   # Raw clinical dataset (134 patients)
│   └── DATA_DICTIONARY.md                  # Feature definitions, ranges, encodings
├── paper/
│   └── Salaheldin_et_al_2026_MJEER_Papilledema_Grading.pdf
├── src/
│   ├── config.py            # Column-name mapping — verify/edit against your actual file
│   ├── preprocessing.py     # Cleaning, encoding, min-max scaling, 70/15/15 split
│   ├── models.py            # SVM (RBF, one-vs-one) and Neural Network (Tanh, 3 layers)
│   ├── metrics.py           # Accuracy, sensitivity, specificity, precision, F1 (multiclass)
│   ├── train_evaluate.py    # End-to-end pipeline: load → preprocess → train → evaluate
│   └── hyperparameter_search.py  # Optional Bayesian search (mirrors paper's tuning approach)
├── results/
│   └── REPORTED_RESULTS.md  # Tables III–V from the article, for reference/validation
├── requirements.txt
├── CITATION.cff
├── LICENSE                  # MIT — applies to the code in src/
└── .gitignore

Dataset

9 clinical features per patient across 4 severity grades (G1–G4). Full definitions, units, and the label/one-hot encoding scheme used in the paper are in data/DATA_DICTIONARY.md.

Reproducing the pipeline

pip install -r requirements.txt
python src/train_evaluate.py --data data/papilledema_clinical_dataset.xlsx

Important: src/config.py lists the expected column names based on the paper's Table I. Open your Excel file and confirm the header row matches (or edit the mapping) before running — this pipeline was authored from the paper's methodology description and has not been executed against the actual spreadsheet, so column names, exact category label strings (e.g. "6|6" vs "6/6"), and the target/grade column name should be double-checked first. The script will raise a clear error listing available columns if something doesn't match.

The SVM uses the reported hyperparameters (RBF/Gaussian kernel, box constraint ≈ 993.6287, one-vs-one multiclass). The Neural Network uses 3 fully-connected layers, Tanh activation, and L2 regularization ≈ 0.0012911; exact layer widths were not published, so sensible defaults are used and exposed as CLI flags — run hyperparameter_search.py to re-tune them yourself with a Bayesian search, as described in the paper (Section IV-A).

Citation

If you use this dataset or code, please cite the article — see CITATION.cff.

License

  • Code (src/): MIT — see LICENSE.
  • Article (paper/): CC BY 4.0, per the publisher.
  • Data (data/): not separately licensed here — decide and add a license (e.g. CC BY 4.0 or CC0) once you've confirmed the de-identification check above.

Contact

Corresponding author: Ahmed M. Salaheldin — a.salah@gaf.edu.eg — ORCID 0000-0002-4776-8872

About

Papilledema grading (G1–G4) from clinical measurements with SVM and neural networks — dataset + code (MJEER 2026)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages