Compare classifiers
This guide walks through a fair bake-off on your own traces or on the bundled paper dataset. Fair means every method sees the same prepared shots, the same train validation and test cuts, the same shared filter bank unless a method explicitly opts out, and the same metric definitions in the summary report. If those ingredients differ between methods, the ranking is not comparable and should not be treated as a leaderboard.
If you have never completed a zoo run, finish First zoo run first so output directories and report filenames are familiar.
Write a minimal configuration
Create a YAML file that points at your data, lists the methods to compare, and enables the optional stages you care about. A typical starting point looks like this:
data:
path: /path/to/your_traces.h5
format: hdf5
num_qubits: 5
classifiers:
run: [threshold, lda, qda, svm, fnn, herqules]
filter_types: [MF, RMF]
sweep:
enabled: true
hardware:
enabled: true
visualization:
output_dir: output/my_bakeoff
format: pdf
Fill in demodulation, preprocessing, and split fields so they match the
contract of your file. Those fields belong under data once for the whole
run. Do not change them between methods. Exact field names are documented in
Config schema.
Validate, then run
arcade validate path/to/my_config.yaml
arcade run path/to/my_config.yaml
Validation catches missing required fields and type errors before training
starts. The run command executes data preparation, classification for every
name in classifiers.run, optional hardware estimation, and report
writing into visualization.output_dir.
From Python the same entry point is available as:
import arcade
arcade.run("path/to/my_config.yaml")
Keep the recipe frozen
Changing demodulation, boxcar windowing, split ratios, or
qubit_bit_order between methods invalidates the ranking. Put those knobs
under data once. List methods only under classifiers.run. The
philosophy behind that rule is explained in
Shared recipe.
What fair means in practice
Every name in classifiers.run sees the same train, validation, and test
cuts. Filter-based methods share filter_types unless a method-specific
block overrides them. When the duration sweep is enabled, ARCADE truncates
traces at the same lengths for every method. The comparison table in the
summary report is the artifact you should share in a lab meeting or paper
supplement.
Choose smoke, zoo, or paper fidelity
Intent |
Configuration pattern |
|---|---|
Fast sanity check |
|
Public multi-method bake-off |
|
Paper-faithful reproduction |
a dedicated |
List registered names with arcade list. Inspect one method with
arcade describe followed by the registry name. Support levels and pitfalls
notes live in Classifiers reference.
After the run
Open the summary report under the configured output directory and follow Read the report so that joint accuracy, F5Q, and hardware columns are interpreted correctly before you declare a winner.