# Breast Cancer Mammography Eval

> Evaluates deep learning models for binary classification of breast cancer (malignant vs. benign/normal) on screening mammograms. It probes the model's ability to generalize across different mammography platforms (film vs. digital) and transfer learned features from patch-level to whole-image classification without requiring costly lesion-level annotations. Use when the user wants to benchmark on CBIS-DDSM, INbreast, or asks about evaluating this task. Reports AUC.

- Skill: `qhjqhj00/breast-cancer-mammography-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/breast-cancer-mammography-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/breast-cancer-mammography-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/breast-cancer-mammography-eval

---


# breast-cancer-mammography-eval

> Deep Learning to Improve Breast Cancer Early Detection on Screening Mammography — Shen et al. (2017) (arXiv:1708.09427, 2017)

## What this evaluates

Evaluates deep learning models for binary classification of breast cancer (malignant vs. benign/normal) on screening mammograms. It probes the model's ability to generalize across different mammography platforms (film vs. digital) and transfer learned features from patch-level to whole-image classification without requiring costly lesion-level annotations.

## Datasets

- **CBIS-DDSM** — total 2478; splits: train (1903), val (199), test (376)
- **INbreast** — total 410; splits: train (-1), val (-1)

## Metrics

- `AUC` **(primary)** — range: [0, 1]
  - Area under the Receiver Operating Characteristic (ROC) curve, computed by integrating the true positive rate against the false positive rate across all classification thresholds.

## Input / output format

**Input**: Mammogram images (converted to PNG, resized to 1152x896) or 224x224 patches sampled from ROIs/background. Labels: binary (malignant vs. benign/normal) for whole images, or 5-class (background, malignant/benign mass/calcification) for patches.

**Output**: Predicted probability score for malignancy per image. For ensembles, scores are averaged across four models after test-time augmentation (horizontal/vertical flips).

## Scoring recipe

```python
def compute_auc(y_true, y_pred):
    # y_true: binary labels (1=malignant, 0=benign/normal)
    # y_pred: predicted probabilities of malignancy
    fpr, tpr, _ = roc_curve(y_true, y_pred)
    return auc(fpr, tpr)
```

## Common pitfalls

- Splits must be performed at the patient level, not image level, to prevent data leakage from multiple views of the same patient.
- INbreast lacks pathological confirmation; labels are assigned based on BI-RADS categories (1-2 negative, 4-6 positive), excluding BI-RADS 3 cases.
- Patch sampling strategy (S1 vs S10) significantly impacts performance, as overlapping patches around ROIs provide crucial contextual information for whole-image classification.

## Evidence (verbatim from paper)

> The purpose of this study was to predict the malignant vs. benign (or normal) status of each image. We performed an 85-15 split on the patient-level data to create independent training and test sets. ... The models were evaluated by per-image AUCs on the test set.

## Citation

```bibtex
@misc{shen2017deeplearning,
  title={Deep Learning to Improve Breast Cancer Early Detection on Screening Mammography},
  author={Shen et al. (2017)},
  year={2017},
  note={arXiv:1708.09427}
}
```

- arXiv: 1708.09427

