How aditsawhney/adhd-project works
NeuroNova is a research pipeline comparing ADHD classification from pre-assessment features (Model B) with an extended clinical feature set (Model A), then auditing test performance and fairness. The workflow cleans and audits ADHD-200 data, creates a shared stratified split, trains calibrated model ensembles, and evaluates both on the same test rows. A secondary branch fits standalone Model A XGBoost for SHAP analysis. The graph follows README-documented phases and sampled source calls; unsampled implementation details are omitted.
Main entry points: train.py Selection and ensembles · evaluate.py Test evaluation · processed Shared data splits · shap_analysis.py Standalone SHAP check
Components 18
Data preparation
- Raw phenotypes
data/raw/adhd200_preprocessed_phenotypics.csv - Clean and audit
src/neuronova/data.py - Cleaned data
data/processed/cleaned_full.csv - Split and preprocess
src/neuronova/features.py - Shared data splits
data/processed
Model tracks
- Pre-assessment features
src/neuronova/features.py - Extended features
src/neuronova/features.py - Selection and ensembles
src/neuronova/train.py - Trained models
models - Selection results
reports
Evaluation and explanation
- Test evaluation
src/neuronova/evaluate.py - Sex and age audit
src/neuronova/evaluate.py - Model comparison
reports/comparison_report.csv - Metrics and plots
reports - Standalone SHAP check
src/neuronova/shap_analysis.py - SHAP importance
reports/model_a
Other components
- Researcher
- ADHD-200 source
Connections 25
- ADHD-200 source → Raw phenotypes: provides dataset
- Raw phenotypes → Clean and audit: reads phenotypes
- Clean and audit → Cleaned data: writes cleaned data
- Researcher → Clean and audit: runs phase
- Researcher → Split and preprocess: runs phase
- Split and preprocess → Clean and audit: calls cleaning
- Split and preprocess → Shared data splits: writes shared splits
- Shared data splits → Pre-assessment features: supplies rows
- Shared data splits → Extended features: supplies rows
- Researcher → Selection and ensembles: runs phase
- Selection and ensembles → Pre-assessment features: calls preprocessor
- Selection and ensembles → Extended features: calls preprocessor
- Selection and ensembles → Shared data splits: reads train and validation
- Selection and ensembles → Trained models: writes ensembles
- Selection and ensembles → Selection results: writes selection results
- Researcher → Test evaluation: runs phase
- Test evaluation → Trained models: loads ensembles
- Test evaluation → Shared data splits: reads test split
- Test evaluation → Sex and age audit: computes subgroup metrics
- Test evaluation → Metrics and plots: writes metrics and plots
- Test evaluation → Model comparison: writes A-versus-B results
- Researcher → Standalone SHAP check: runs secondary check
- Standalone SHAP check → Shared data splits: reads train, validation, test
- Standalone SHAP check → Extended features: calls preprocessor
- Standalone SHAP check → SHAP importance: writes SHAP results