How ayodeji63/multiclass_model_ works
This MATLAB project is an end-to-end electricity-theft research workflow: load SGCC or synthetic data, prepare and split it, train a multi-class CNN-BiLSTM with dual attention, then assess and explain its results. The README documents the main stages and optional analyses, but no source excerpts were provided, so internal call wiring is shown only where the documentation supports it; in particular, the diagram treats main.m as the workflow orchestrator rather than asserting unverified helper calls.
Main entry points: main.m Run workflow · preprocess_pipeline.m Preprocess data · load_sgcc_dataset.m Load SGCC · generate_synthetic_sgcc_data.m Generate synthetic
Components 21
Data preparation
- Load SGCC
data/load_sgcc_dataset.m - Generate synthetic
data/generate_synthetic_sgcc_data.m - Preprocess data
preprocessing/preprocess_pipeline.m - Filter consumers
preprocessing/filter_low_quality_consumers.m - Inject theft types
preprocessing/inject_multiclass_theft_signatures.m - Compute signatures
preprocessing/compute_signature_features.m - Create data splits
splitting/data_splits.m - Balance classes
preprocessing/apply_smote.m
Modeling
- Proposed model
models/proposed_model.m - Baseline models
models/baseline_models.m - Train deep model
training/train_deep_model.m - Tune hyperparameters
optimization/run_hyperparameter_search.m
Assessment
- Binary benchmark
evaluation/run_binary_holdout_benchmark.m - Comparative study
evaluation/run_comparative_and_ablation_study.m - Stratified CV
evaluation/run_stratified_kfold.m - Temporal validation
evaluation/run_temporal_split_validation.m
Interpretation
- SHAP analysis
explainability/run_shap_analysis.m - Attention maps
explainability/temporal_attention_map.m - Generate figures
visualization/generate_all_figures.m
Other components
- Researcher
- Run workflow
main.m
Connections 20
- Researcher → Run workflow: runs
- Run workflow → Load SGCC: loads data
- Load SGCC → Generate synthetic: falls back
- Run workflow → Preprocess data: runs preprocessing
- Run workflow → Create data splits: creates splits
- Run workflow → Balance classes: balances classes
- Run workflow → Proposed model: selects model
- Run workflow → Train deep model: trains model
- Run workflow → Tune hyperparameters: optionally tunes
- Run workflow → Binary benchmark: benchmarks holdout
- Run workflow → Comparative study: runs comparison
- Run workflow → Stratified CV: runs cross-validation
- Run workflow → Temporal validation: validates temporally
- Run workflow → SHAP analysis: explains predictions
- Run workflow → Attention maps: maps attention
- Run workflow → Generate figures: generates figures
- Preprocess data → Filter consumers: filters consumers
- Preprocess data → Inject theft types: creates classes
- Preprocess data → Compute signatures: computes features
- Run workflow → Baseline models: uses baselines