Classifying With or Without Labelsο
The classification pipeline can run in two modes, chosen per target from
whether a QC flag column is available:
With labels β a
flagis given, so ground-truth labels are built and the modelβs performance is evaluated.Without labels β no
flagis available (unlabeled data), so the pipeline predicts every row but skips evaluation.
You do not need a dummy QC column for unlabeled data.
Option 1: with labels (default)ο
Give each target its QC flag and the flag values that mark positive and
negative rows:
target_sets:
- name: target_set_1
variables:
- name: temp
flag: temp_qc
pos_flag_values: [ 3, 4 ]
neg_flag_values: [ 1, 2 ]
Rows are labelled from the flag, and the classify phase writes predictions plus the evaluation artefacts β the report, the model-scores file (see Performance Evaluation), and the metric plots.
Option 2: without labelsο
Omit flag (or set it to null / empty) for a target. The pipeline then
keeps all rows, emits null flag/label columns, and skips label
creation and performance evaluation:
target_sets:
- name: target_set_1
variables:
- name: temp # no `flag` β classify without evaluation
Predictions (predicted_label and score) are still produced; only the
report, model-scores, and metric-plot files are skipped.
To force this for every target in a step regardless of flag, set the
step-level override under the model step parameters:
step_param_set:
steps:
model:
skip_evaluation: true # omit to auto-detect per target from `flag`
Note
Only an absent or empty flag triggers the label-free path. A flag
that names a column missing from the data is still treated as an error, so
typos are not silently ignored.
SHAP valuesο
SHAP explains predictions, not labels, so it is available in both modes and
is controlled independently by calculate_shap (see SHAP Values):
step_param_set:
steps:
model:
calculate_shap: true
In the label-free mode the label column of the SHAP output is null, while
the per-feature SHAP contributions and the score are unaffected.