# confusion_matrix

Python API: `luxonis_train.attached_modules.metrics.confusion_matrix`

Confusion matrices for each supported task.

A config can name the factory
[ConfusionMatrix](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-train/luxonis-train-api-reference/attached_modules/metrics/confusion_matrix/confusion_matrix.md).
It builds a metric of the matrix class that the task of the node selects. A config can also name one of the four matrix classes
directly. Each matrix also reports the Matthews correlation coefficient (MCC), see
[compute_mcc](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-train/luxonis-train-api-reference/attached_modules/metrics/confusion_matrix/utils.md).

Rows hold the target classes and columns hold the predicted classes, as in `torchmetrics`. The box matrices add a background row
and column at index `n_classes`. The background row counts the predictions that match no target box. The background column counts
the target boxes that match no prediction. The cell `[n_classes, n_classes]` counts the images without target boxes and without
predictions.

Each result is a dictionary. The trainer logs each 2D value of it as a matrix and each scalar value as a metric. When
`trainer.log_sub_metrics` is `False`, the trainer logs no value of a confusion matrix. When a confusion matrix is the main metric,
the trainer monitors the value with the name `mcc`. The result of
[InstanceSegmentationConfusionMatrix](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-train/luxonis-train-api-reference/attached_modules/metrics/confusion_matrix/instance_segmentation_confusion_matrix.md)
has no such value.

## Child Pages

 * [confusion_matrix](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-train/luxonis-train-api-reference/attached_modules/metrics/confusion_matrix/confusion_matrix.md)
 * [detection_confusion_matrix](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-train/luxonis-train-api-reference/attached_modules/metrics/confusion_matrix/detection_confusion_matrix.md)
 * [fomo_confusion_matrix](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-train/luxonis-train-api-reference/attached_modules/metrics/confusion_matrix/fomo_confusion_matrix.md)
 * [instance_segmentation_confusion_matrix](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-train/luxonis-train-api-reference/attached_modules/metrics/confusion_matrix/instance_segmentation_confusion_matrix.md)
 * [recognition_confusion_matrix](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-train/luxonis-train-api-reference/attached_modules/metrics/confusion_matrix/recognition_confusion_matrix.md)
 * [utils](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-train/luxonis-train-api-reference/attached_modules/metrics/confusion_matrix/utils.md)
