Skip to content
Development
Skill

/rigorous-evaluation

Use when evaluating or reporting model performance and choosing metrics, thresholds, and plots that FIT the problem type. Picks the right metrics per task (binary uses ROC-AUC and PR-AUC; multiclass uses macro F1 and a confusion matrix; detection uses mAP; segmentation uses Dice

From plugin
mlcraft
823 skills1 agent1 command

Claude Code

$ npx -y skills add mxslr/mlcraft --skill rigorous-evaluation --agent claude-code

SKILL.md

rigorous-evaluation.SKILL.md
name: rigorous-evaluation
description: "Use when evaluating or reporting model performance and choosing metrics, thresholds, and plots that FIT the problem type. Picks the right metrics per task (binary uses ROC-AUC and PR-AUC; multiclass uses macro F1 and a confusion matrix; detection uses mAP; segmentation uses Dice and IoU; regression uses MAE, RMSE, R2; ranking uses nDCG) and does not force AUC or ROC where they do not apply. Also covers calibration, thresholds chosen on validation, confidence intervals, and honest reporting. Triggers on 'evaluate', 'metrics', 'F1', 'AUC', 'ROC', 'mAP', 'RMSE', 'confusion matrix', 'which threshold', 'is this result good'."

Rigorous Evaluation

Report a number you can defend, not the biggest number. Choose metrics AND plots that fit the problem type. Do not pad a report with metrics that do not apply. For example, ROC-AUC and a ROC curve only make sense for binary classification.

Metrics and plots by problem type

| Problem | Core metrics | Plots to show | Do not use | |---|---|---|---| | Binary classification | Accuracy, Precision, Recall, F1, ROC-AUC, PR-AUC | confusion matrix, ROC curve, PR curve | none | | Multiclass (more than 2) | Accuracy, macro and weighted Precision/Recall/F1 | confusion matrix, per-class metric bars | a single ROC curve | | Multilabel | per-label F1, micro and macro F1, mAP | per-label PR curves | plain accuracy | | Object detection (faces, vehicles, objects) | mAP@0.5, mAP@0.5:0.95, per-class AP | PR curve per class, sample images with predicted boxes | accuracy, ROC-AUC | | Segmentation | mean Dice, mean IoU, per-class IoU | mask overlays, per-class IoU bars | ROC-AUC | | Regression | MAE, RMSE, R2, MAPE | predicted vs actual, residual plot | F1, AUC | | Ranking or retrieval | nDCG@k, MAP, Recall@k, MRR | recall@k curve | accuracy | | Face verification | ROC and EER, TAR at fixed FAR | verification ROC | plain accuracy | | Forecasting | MAE, RMSE, MASE, sMAPE | forecast vs actual, error per horizon | AUC, F1 | | Clustering | silhouette, ARI, NMI when labels exist | 2D projection | accuracy |

Binary vs multiclass, the common mistake

  • ROC-AUC and a ROC curve are for binary problems. With more than two classes do not draw one ROC curve. Use the confusion matrix as the main visual and report macro and weighted F1. Compute one-vs-rest macro AUC only if a ranking metric is genuinely needed.
  • Pick ONE headline metric that matches the cost of errors: recall for screening, precision when false positives are expensive, mAP for detection, RMSE for regression.
  • If a metric does not fit the problem, omit it. A short relevant report is stronger than a padded one.

Thresholds and selection, on VALIDATION only (classification with a threshold)

  • Choosing the decision threshold using test labels is leakage. Select it on validation, then apply it unchanged to test.
  • When relevant, report two operating points: Youden J (balanced) and a high-sensitivity point (recall >= 0.90) for screening.

Calibration (for decision support)

Raw softmax is often over-confident. Apply temperature scaling (fit on validation) so a displayed probability is trustworthy. Report reliability, not only discrimination.

Uncertainty and fairness

  • Report confidence intervals (bootstrap, or DeLong for AUC) when the test set is small.
  • Train each model a few times or use cross-validation; report mean and standard deviation. A single run's validation-best may not be the test-best.
  • Check performance across subgroups where it matters (site, device, demographic).

Honest reporting

  • Show the confusion matrix and per-class metrics, not only the headline number.
  • If a result looks too good, re-run the leakage audit (`data-rigor-and-leakage`) before believing it.
  • State the comparison honestly: same split as the papers, same metric. Note when a result is not comparable.
  • Never report a number you have not actually computed from a real run.
Read more
@mxslr
Ships withmlcraft

A research-first AI/ML research-engineer workflow for Claude Code

823 skills1 agent
Get the whole plugin

Stars on GitHub

Momentum

stars in total
8
Star history of mxslr/mlcraft on GitHub, a chart by star-history.com

Other skills on mlcraft.

accuracy-improvement-loop

accuracy-improvement-l…

Use when an existing model's results are disappointing and the user wants higher accuracy - 'accuracy is still too low',…

@mxslr@mxslrInstall Skill
data-rigor-and-leakage

data-rigor-and-leakage

Use BEFORE training any model, to build correct train/val/test splits and hunt data leakage - the #1 cause of fake-high accuracy.…

@mxslr@mxslrInstall Skill
dataset-profiling

dataset-profiling

Use as the FIRST step of any ML task, before choosing a model, to inspect and understand the actual dataset. Works for a LOCAL…

@mxslr@mxslrInstall Skill
deployment-explainability

deployment-explainabil…

Use when turning a trained model into something usable (an app, an inference function, a demo) or adding explainability. Selects…

@mxslr@mxslrInstall Skill
domain-3d

domain-3d

Use for 3D and point cloud tasks: point cloud classification, 3D semantic or instance segmentation, 3D object detection from…

@mxslr@mxslrInstall Skill
domain-anomaly-detection

domain-anomaly-detecti…

Use for anomaly, outlier, and novelty detection across data types: industrial or visual defect detection, time-series or sensor…

@mxslr@mxslrInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about rigorous-evaluation.

Which coding agents can use rigorous-evaluation?
rigorous-evaluation installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.