Learn with Phoebe Β· Data Science

Learn Data-Centric AI with Phoebe

Most effort in machine learning goes into the model while the dataset is treated as given. Data-centric work reverses that: freeze the model, freeze the test set, and make every improvement an edit to the training rows or their labels, measured like a code change. On 1,797 real handwritten digits with 133 declared wrong labels, cleaning them with confident learning takes one frozen model from 91.4 to 95.8 percent, while 497 more rows from the same labellers take it to 90.8. Six sessions for practitioners: label consistency, finding wrong labels, a bench where every edit is computed in your browser, slicing, augmentation against collection, and the spec that makes the edits survive the next model.

6sessions
1,797real digits
133planted wrong labels
8edits on the bench
45min per session

The six sessions 🎯 · from "the data is the problem" to a spec someone can audit

The running data is the UCI Optical Recognition of Handwritten Digits set: 1,797 real 8 by 8 images, one frozen k-nearest-neighbour model, a clean test set nobody edits, and a declared label-noise plant. Real cases join it from Andrew Ng's 2021 talk, the Data-Centric AI Competition, MIT's data-centric AI course, and the label errors found in ten famous benchmark test sets.

🧊 Session 1 · advanced

Hold the model, fix the data

Code plus data, two loops, and the evidence including where the data loop barely moved. Build-along: freeze a model, plant declared noise on real digits, and measure the three numbers that bound every edit.

β–Ά Start here
πŸ—³οΈ Session 2 Β· advanced

When labellers disagree

Measure agreement beyond "percent the same", see where majority vote goes wrong, and rewrite a label guideline until two careful people land on the same answer.

agreement, consensus, guidelines
πŸ”Ž Session 3 Β· advanced

Finding the wrong labels

Confident learning by hand: out-of-sample probabilities, per-class thresholds, the confident joint, and why flagging every disagreement finds more errors and more false alarms.

confident learning
πŸŽ›οΈ Session 4 Β· bench night

The data-edit bench

Eight data edits on one frozen model, computed in your browser, each with two counters: test accuracy and how many planted errors the detector found. Plus the more-data trap and a leak.

β˜… the bench
🧩 Session 5 · advanced

Slice, augment or collect

Find the weak slice without peeking at the test set, tell augmentation that adds coverage from augmentation that adds decoration, and settle collect against clean for small data.

slices and small data
πŸ“œ Session 6 Β· capstone

The data-edit spec

Beat the bench by data edits only, then write the spec: the freeze list, the test-set rule, the edit log, the precision audit and the stopping rule that make an edit outlive the model.

πŸ”’ capstone
advanced bench night

Your passport 🎫

Clear all three quiz questions in a session and it gets stamped. Six stamps means you can freeze a model, measure how much its data is costing, find and fix wrong labels with a detector you can audit, and write the edits down so they survive the next model. Stamps live in this browser only.

What this is not, so you land in the right place 🧭

If your question isGo here instead
How do I look at a hundred mistakes and sort them by cause before deciding what to fix?ML Strategy, the error-analysis spreadsheet β†—
Which dev sets do I look at, and is my problem bias or variance?ML Strategy, sessions p4 and p5 β†—
How do I build features, and how do I stop a column from leaking the target?Feature Engineering β†—
How do I watch data quality in a pipeline, with alerts, freshness and drift?Data Observability β†—
How do I find duplicate customers across systems at scale?Entity Resolution β†—
The errors are found, a lot of them are the data, and I need to fix it without touching the model and prove each fix worked.you are in the right place

Choose your path πŸ—ΊοΈ

Three doors into the same conviction: an edit to the data is a change, and a change is only worth what an untouched test set says it is.

🏷️ My labels are a mess 1β†’ 2β†’ 3 freeze, measure agreement, then find the rows that are simply wrong
πŸ“‰ The model is stuck and the team wants more data 1β†’ 4β†’ 5 the three bounding numbers, the bench, then collect against clean
🎯 The whole discipline 1β†’ 2β†’ 3β†’ 4β†’ 5β†’ 6 from a frozen model to a data-edit spec somebody can audit

What is honest here 🧾

The images and every number the bench prints are real computations. The noise is planted on purpose and declared in full, because that is the only way to count what a detector missed. Where a figure comes from a paper or a talk, the page says which; where it comes only from secondary write-ups, the page says that instead.

ClaimStatus
Every accuracy, flag, threshold and count on the benchReally computed in your browser from the 1,797 UCI digits (Alpaydin and Kaynak, 1998), and reproduced to the row by an independent Python run
The 133 wrong labels, and the detector's precision and recallConstructed. A declared plant of six look-alike confusions; precision and recall exist only because the answer key is known
The shipped ladderOne seed of twenty, the one closest to the twenty-seed mean; the mean is quoted wherever the two disagree
Ng's three-project table and the small-data claimRead from his 2021 slide deck; the small-data claim is stated there as theory and is quoted as a claim
Label errors in ten benchmark test setsRead from Northcutt, Athalye and Mueller (2021), NeurIPS; the rates are their estimates after human review
The competition's fixed model, image size and capsReported from participants' write-ups; the task and the deadline were read on the official page
The two-labeller tables in session 2Constructed, and labelled so on the page

The knowledge map 🧠

The whole discipline at a glance - hover a session to spotlight its concepts, click any node to jump in.