Task — fault_classification_local

benchmark version 1.1.0 · held_out results v1.0.0 · splits v1.0/held_out, v1.1/multi_grid
updated 2026-09-29 13:18 UTC · git 7243f310ddbc

tier 2 · fault_class · local view · 9 classes · all cells measured

What this task is. Given a faulted window, name the fault type from the nine-class vocabulary (which phases are involved and whether ground participates). Fault typing drives which poles a breaker trips and how the event is analysed afterwards. The class vocabulary is frozen for the benchmark's major version. Local view: one measurement cubicle — three currents and three voltages (6 channels), what a single protection relay physically sees.

How it's scored

Headline metric balanced_accuracy (↑ higher is better); full metric set: balanced_accuracy · macro_f1 · accuracy. Metrics are a frozen contract (src/evemtbench/evaluation/metrics.py); label derivation: src/evemtbench/tasks/labels.

Example window

example waveform window

event flt_1phg_incipient_w_arc · grid double_line (adapt_grid/test split) · sample 197, window #4531, cubicle 3 (max-RMS) · 50 ms / 480 samples @ 9.6 kHz · top: 3-phase current, bottom: 3-phase voltage · figure provenance in assets/manifest.json

Results (held_out)

fault_classification_local — every grid × baseline; click headers to sort
taskgridbaselineheadlinetestbenchmarkparamsfit/seedtrace
fault_classification_localcigre_mvmajoritybalanced_accuracy ↑0.111 ± 0.000 (n=5)0.111 ± 0.000 (n=5)—0strace: output · eval-code · log · train-code · config · W&B
fault_classification_localcigre_mvrandom_forestbalanced_accuracy ↑0.477 ± 0.005 (n=5)0.526 ± 0.004 (n=5)—9strace: output · eval-code · log · train-code · config · W&B
fault_classification_localcigre_mvmlpbalanced_accuracy ↑0.527 ± 0.005 (n=5)0.546 ± 0.002 (n=5)1.6M54strace: output · eval-code · log · train-code · config · W&B
fault_classification_localcigre_mvgrubalanced_accuracy ↑0.519 ± 0.009 (n=5)0.542 ± 0.001 (n=5)53k2.9mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localcigre_mvcnnbalanced_accuracy ↑0.566 ± 0.028 (n=5)0.589 ± 0.031 (n=5)50k1.9mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localcigre_mvresnetbalanced_accuracy ↑0.656 ± 0.011 (n=5)0.701 ± 0.011 (n=5)507k6.6mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localdouble_linemajoritybalanced_accuracy ↑0.143 ± 0.000 (n=5)0.143 ± 0.000 (n=5)—0strace: output · eval-code · log · train-code · config · W&B
fault_classification_localdouble_linerandom_forestbalanced_accuracy ↑0.606 ± 0.005 (n=5)0.539 ± 0.002 (n=5)—10strace: output · eval-code · log · train-code · config · W&B
fault_classification_localdouble_linemlpbalanced_accuracy ↑0.679 ± 0.004 (n=5)0.704 ± 0.001 (n=5)1.6M55strace: output · eval-code · log · train-code · config · W&B
fault_classification_localdouble_linegrubalanced_accuracy ↑0.679 ± 0.010 (n=5)0.710 ± 0.002 (n=5)53k1.9mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localdouble_linecnnbalanced_accuracy ↑0.795 ± 0.012 (n=5)0.812 ± 0.010 (n=5)50k2.0mtrace: output · eval-code · log · train-code · config
fault_classification_localdouble_lineresnetbalanced_accuracy ↑0.855 ± 0.007 (n=5)0.896 ± 0.045 (n=5)507k7.5mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localtestgrid_110kvmajoritybalanced_accuracy ↑0.143 ± 0.000 (n=5)0.143 ± 0.000 (n=5)—0strace: output · eval-code · log · train-code · config · W&B
fault_classification_localtestgrid_110kvrandom_forestbalanced_accuracy ↑0.628 ± 0.003 (n=5)0.586 ± 0.006 (n=5)—9strace: output · eval-code · log · train-code · config · W&B
fault_classification_localtestgrid_110kvmlpbalanced_accuracy ↑0.656 ± 0.010 (n=5)0.705 ± 0.001 (n=5)1.6M51strace: output · eval-code · log · train-code · config · W&B
fault_classification_localtestgrid_110kvgrubalanced_accuracy ↑0.667 ± 0.012 (n=5)0.709 ± 0.002 (n=5)53k1.8mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localtestgrid_110kvcnnbalanced_accuracy ↑0.685 ± 0.005 (n=5)0.727 ± 0.004 (n=5)50k1.8mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localtestgrid_110kvresnetbalanced_accuracy ↑0.825 ± 0.006 (n=5)0.848 ± 0.007 (n=5)507k6.7mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localieee39majoritybalanced_accuracy ↑0.143 ± 0.000 (n=5)0.143 ± 0.000 (n=5)—0strace: output · eval-code · log · train-code · config · W&B
fault_classification_localieee39random_forestbalanced_accuracy ↑0.665 ± 0.002 (n=5)0.667 ± 0.002 (n=5)—10strace: output · eval-code · log · train-code · config · W&B
fault_classification_localieee39mlpbalanced_accuracy ↑0.675 ± 0.003 (n=5)0.711 ± 0.000 (n=5)1.6M1.5mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localieee39grubalanced_accuracy ↑0.678 ± 0.010 (n=5)0.703 ± 0.003 (n=5)53k2.2mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localieee39cnnbalanced_accuracy ↑0.679 ± 0.011 (n=5)0.709 ± 0.002 (n=5)50k1.8mtrace: output · eval-code · log · train-code · config · W&B
fault_classification_localieee39resnetbalanced_accuracy ↑0.681 ± 0.013 (n=5)0.704 ± 0.008 (n=5)507k3.3mtrace: output · eval-code · log · train-code · config · W&B

Metric definitions

headline & reported metrics for this view — the metric set is a frozen contract; each links to the exact function that computes it

metricdefinitionentry
balanced_accuracymean of per-class recall — the majority class cannot buy a good scoreevaluate()
macro_f1unweighted mean of per-class F1 (zero_division=0)evaluate()
accuracyfraction of exact-match predictionsevaluate()

Reproduce one cell

PYTHONPATH=src python -m evemtbench.baselines.runner --task fault_classification_local --protocol held_out \
    --grid <grid> --baseline <baseline> --seeds 0 1 2 3 4