mammography-roi-classification-eval
A Hybrid Architecture for Benign-Malignant Classification of Mammography ROIs — Mohammed Asad et al. (2026) (arXiv:2604.12437, 2026)
What this evaluates
Evaluates a hybrid CNN-SSM architecture's ability to classify mammography regions of interest (ROIs) as benign or malignant. It probes the model's capacity for local feature extraction, global context modeling, and robust performance under class imbalance in medical imaging.
Datasets
- CBIS-DDSM — total ?; splits: test (-1)
Metrics
AUC-ROC(primary) — range: [0, 1]- Area under the Receiver Operating Characteristic curve, measuring the model's ability to distinguish between malignant and benign cases across all classification thresholds.
Sensitivity (Recall)— range: [0, 1]- True Positive Rate: proportion of actual malignant cases correctly identified by the model.
Specificity— range: [0, 1]- True Negative Rate: proportion of actual benign cases correctly identified by the model.
F1-score— range: [0, 1]- Harmonic mean of precision and recall, balancing false positives and false negatives.
Accuracy— range: [0, 1]- Proportion of total correct predictions (both benign and malignant) out of all instances.
Input / output format
Input: Image patches/ROIs extracted from mammography scans, processed through a hybrid CNN-SSM backbone.
Output: Binary classification probability (benign vs. malignant) used to compute threshold-independent metrics and threshold-dependent metrics at a fixed operating point.
Scoring recipe
def compute_metrics(y_true, y_prob, threshold=0.5):
y_pred = (y_prob >= threshold).astype(int)
tp = np.sum((y_pred == 1) & (y_true == 1))
fn = np.sum((y_pred == 0) & (y_true == 1))
tn = np.sum((y_pred == 0) & (y_true == 0))
fp = np.sum((y_pred == 1) & (y_true == 0))
sensitivity = tp / (tp + fn) if (tp + fn) > 0 else 0
specificity = tn / (tn + fp) if (tn + fp) > 0 else 0
precision = tp / (tp + fp) if (tp + fp) > 0 else 0
f1 = 2 * precision * sensitivity / (precision + sensitivity) if (precision + sensitivity) > 0 else 0
accuracy = (tp + tn) / len(y_true)
auc = roc_auc_score(y_true, y_prob)
return {'AUC-ROC': auc, 'Sensitivity': sensitivity, 'Specificity': specificity, 'F1-score': f1, 'Accuracy': accuracy}
Common pitfalls
- Class imbalance is explicitly addressed via weighted loss; reporting unweighted accuracy can be misleading.
- AUC-ROC is threshold-independent, so a single accuracy value without specifying the decision threshold lacks clinical context.
- Sensitivity is prioritized to minimize missed cancers; optimizing solely for specificity or overall accuracy may lead to clinically unsafe models.
Evidence (verbatim from paper)
Performance was evaluated on a held-out test set using: • Area under the ROC curve (AUC-ROC): Measures ability to distinguish malignant from benign cases, independent of threshold • Sensitivity (Recall): Proportion of malignant cases correctly identified, critical to minimize missed cancers • Specificity: Proportion of benign cases correctly identified, reducing unnecessary procedures • F1-score and Accuracy: Balance precision and recall, addressing class imbalance.
Citation
@misc{asad2026hybrid,
title={A Hybrid Architecture for Benign-Malignant Classification of Mammography ROIs},
author={Mohammed Asad et al. (2026)},
year={2026},
note={arXiv:2604.12437}
}
- arXiv: 2604.12437