This module contains classes that allow for various confusion matrix evaluation measures to be computed.
All classes must be initialized with a confusion_matrix in the form of a square numpy:numpy.ndarray
.
To ensure that multiple evaluation measures can be displayed alongside the confusion matrix without obstruction, they are divided into three types of measures --- column, row and summary:
Measure & reference | Label | Specifier | Column? | Row? | Summary? |
---|---|---|---|---|---|
Accuracy (~daze.measures.Accuracy ) |
Acc | 'a' |
✗ | ✗ | ✔ |
Count (~daze.measures.Count ) |
# | 'c' |
✔ | ✔ | ✗ |
True Positives (~daze.measures.TP ) |
TP | 'tp' |
✔ | ✗ | ✗ |
False Positives (~daze.measures.FP ) |
FP | 'fp' |
✔ | ✗ | ✗ |
True Negatives (~daze.measures.TN ) |
TN | 'tn' |
✗ | ✔ | ✗ |
False Negatives (~daze.measures.FN ) |
FN | 'fn' |
✗ | ✔ | ✗ |
True Positive Rate (~daze.measures.TPR ) |
TPR | 'tpr' |
✗ | ✔ | ✔ |
False Negative Rate (~daze.measures.FNR ) |
FNR | 'fnr' |
✗ | ✔ | ✔ |
True Negative Rate (~daze.measures.TNR ) |
TNR | 'tnr' |
✔ | ✗ | ✔ |
False Positive Rate (~daze.measures.FPR ) |
FPR | 'fpr' |
✔ | ✗ | ✔ |
Precision (~daze.measures.Precision ) |
P | 'p' |
✔ | ✗ | ✔ |
Recall (~daze.measures.Recall ) |
R | 'r' |
✗ | ✔ | ✔ |
F1 Score (~daze.measures.F1 ) |
F1 | 'f1' |
✔ | ✔ | ✔ |
Note that the allocation of measures to the column and row categories is somewhat arbitrary, but still maintains some level of reason.
All summary measures apart from accuracy are displayed as a macro (M) or micro (μ) averaged quantity over the per-class measures, indicated by a subscript M or μ.
These measures are displayed in the following way:
daze.measures.Accuracy
daze.measures.Count
daze.measures.TP
daze.measures.FP
daze.measures.FN
daze.measures.TN
daze.measures.TPR
daze.measures.FNR
daze.measures.TNR
daze.measures.FPR
daze.measures.Precision
daze.measures.Recall
daze.measures.F1