learn-two-cultures-with-phoebe / Session 5 of 6
Learn The Two Cultures with Phoebe · Session 5 of 6

Fifty years of data science

In 2015, for the John Tukey centennial, the statistician David Donoho wrote a history of the field that starts from Tukey's 1962 paper and ends with a forecast for 2065. It was published in 2017 as "50 Years of Data Science". Along the way he reads Breiman's two cultures, renames them, and makes one claim sharper than anything else in the paper: that the real engine of machine learning was never an algorithm. It was a way of organising a contest, with public training data, many competitors, and a referee holding test rows nobody else can see. Tonight we read his argument at source, then build that referee ourselves on the same 569 biopsies and find out what a leaderboard does to the people who climb it.

🟠 Advanced Leaders and practitioners Python, scikit-learn 45 min
0-3 · Welcome 3-18 · Donoho: Tukey to the secret sauce 18-40 · Build-along: run a common task framework 40-45 · Q&A
Part 0

Where we start

Four sessions in, you have Breiman's two cultures, Box's useful wrong models, Tukey's explore-then-confirm discipline, and a bench that put both cultures on the same rows. Donoho's paper is the one that ties them into a history. It is also the one that names the institution most practitioners live inside without noticing: the shared dataset, the held-back test set, and the leaderboard. As always, ochre is the data modelling culture and violet is the algorithmic culture; Donoho's own names for them are "generative" and "predictive".

🎫 Clear all three quiz questions to stamp your passport Live = presented in the 45 minutes Self-study = the full depth, after class ★ Build-along = run the code yourself

★ What you walk out with tonight. The fifty-year arc from Tukey to Donoho with the right dates on it; the three ingredients of a common task framework, precisely enough to spot one at work; the six divisions of what Donoho calls greater data science, and where both of Breiman's cultures sit inside them; and a working referee with a sealed test set, a sorted leaderboard, and a measured demonstration of why the best of 20 submissions is not an honest score.

Part 1 · covers the fifty years from Tukey to Donoho

From Tukey's paper to Donoho's

6 min live

Donoho's paper was prepared for the Tukey centennial and opens from Tukey's 1962 "The Future of Data Analysis", the paper session 3 read at source. What follows is a chain of statisticians telling their own profession to widen, each in print, each largely ignored. Donoho's twist is his explanation of why the widening finally happened.

FIFTY YEARS, SIX DATES Donoho 2017 opens from Tukey 1962 1962 · Tukey The Future of Data Analysis where Donoho starts 2001 · Cleveland an action plan, six areas with allocations 2017 · published JCGS 26(4), 745-766 1993 · Chambers Greater or Lesser Statistics an exhortation 2001 · Breiman renamed by Donoho: generative predictive 2015 · preprint Tukey centennial Forty years of telling the profession to widen, then one paper explaining why the widening finally happened.
🔍 Click to zoom - the dates are to scale: three exhortations sit in the last third, and the terracotta arc is Donoho reaching back to 1962
LiveThree exhortations, and why they did not work4 min▶

Tukey, 1962. The starting line is a confession, read at source in session 3: "For a long time I have thought I was a statistician, interested in inferences from the particular to the general. But as I have watched mathematical statistics evolve, I have had cause to wonder and to doubt." Data analysis, he argued, was "a science, one defined by a ubiquitous problem rather than by a concrete subject."

Chambers, 1993. Chambers' "Greater or Lesser Statistics, A Choice for Future Research" put the choice in its title: widen to everything involved in learning from data, or stay narrow. Quoted here via Donoho.

Cleveland, 2001. William Cleveland's "Data Science: An Action Plan for Expanding the Technical Areas of the Field of Statistics" went further and wrote a budget. Six areas, with the share of a department's effort each should get, as Donoho quotes them:

  • Multidisciplinary investigations, 25 percent
  • Models and methods for data, 20 percent
  • Computing with data, 15 percent
  • Pedagogy, 15 percent
  • Tool evaluation, 5 percent
  • Theory, 20 percent

Breiman, 2001. The paper sessions 1 to 4 read. Donoho renames the cultures "generative" and "predictive" and says so in footnotes, so when you read him, generative means Breiman's data modelling culture and predictive means the algorithmic one. His reading of the discussion: Cox and Efron objected, Hoadley engaged enthusiastically.

Donoho's point is that the exhortations had little effect on their own. What made a wider field concrete was code: the S language, then R, then shared workflows that let people actually compute with data rather than be told they should. Keep that in mind for Part 2, because the common task framework is the same kind of explanation: an institution, not an idea, did the work.

Self-studyA list Donoho attributes to Tukey, and a lesson in checking quotes3 min▶

Right after his quotations from Tukey's 1962 paper, Donoho quotes a list that begins "Four major influences act on data analysis today": formal theories, computers and display devices, larger bodies of data, and quantification. It reads like Tukey and sits among genuine Tukey quotations. A full-text search of the whole 1962 paper, pages 1 to 67, read at source for these sessions, does not find it.

That does not mean Donoho invented it. Tukey wrote a great deal, and the list may come from a later paper. It means the attribution is unconfirmed, so it can be quoted only as "a list Donoho attributes to Tukey". The same paper says "Since John Tukey's coining of the term 'exploratory data analysis' (EDA)"; also true in spirit, but the words "exploratory data analysis" as a named practice are not in the 1962 paper either. They arrive with the 1977 book (reported).

The professional habit this teaches: a secondary source quoting a primary one is a pointer, not a check. When a quotation matters to your argument, open the primary text, and when you cannot, say which source you are trusting.

Real world

A department budget nobody adopted. Cleveland's 2001 plan is unusual among manifestos because it is a spending plan: a quarter of the effort on multidisciplinary investigations, 15 percent on computing with data, and only 20 percent on theory. Hold it next to what a statistics department of the time taught and you can see why Donoho calls these papers exhortations. They told the field where to go. The fields that went there, he argues, got there by writing software and running contests.

Part 2 · covers the common task framework

The secret sauce is a referee

5 min live

The term is Mark Liberman's; Donoho gives it the strongest line in his paper: "It is no exaggeration to say that the combination of a predictive modeling culture together with CTF is the 'secret sauce' of machine learning." And he says the framework "is the single idea from machine learning and data science that is most lacking attention in today's statistical training."

THE COMMON TASK FRAMEWORK three ingredients, as Donoho lists them from Liberman (a) training data public, labelled features + a class label (b) competitors (c) scoring referee runs every submission sequestered test set rows no competitor sees reports the score itself leaderboard 1 2 3 4 see the score, tweak, resubmit The leaderboard is itself a grader: resubmit often enough and the scores start to learn the sealed rows.
🔍 Click to zoom - the terracotta rows are the whole trick: nobody who builds a rule can see them, and the dashed loop is how that protection leaks
LiveThe three ingredients, and Liberman's three lessons3 min▶

As Donoho sets it out, a common task framework has exactly three parts:

  1. (a) A publicly available training dataset, with a list of features and a class label for each observation.
  2. (b) A set of enrolled competitors whose common task is to infer a prediction rule from the training data.
  3. (c) A scoring referee, to which competitors submit their rules. The referee runs each rule against a test set that is sequestered behind a wall, and reports the score automatically.

Take away any one and it stops working. Without (a) nobody can enter; without (b) there is no pressure; without (c) every team grades itself, and session 3 showed what a small peek at the confirmatory rows does to a score.

Liberman's experience, as Donoho reports it, came down to three lessons. Error rates decline by a fixed percentage each year, towards an asymptote. Progress comes from many small improvements, not a breakthrough: "a change of 1% can be a reason to break out the champagne". And shared data gets reused in ways nobody planned.

What a benchmark score entitles you to claim is its own question, and it belongs to ML Epistemology, leader session 4 ↗. Tonight is only the mechanism.

Self-studyHow the framework was born, as Liberman tells it2 min▶

This history is reported by Donoho from Liberman, not read at any primary source here, so treat each step as their account. In the 1960s a review led by J. R. Pierce sent US machine translation research "essentially to zero for decades". The way back ran through Jelinek's team at IBM, working from the Canadian Hansards. In the late 1980s DARPA adopted the common task framework for its language research, with NIST as the referee.

Notice what the story is about. It is not a better algorithm. It is a funding agency deciding that claims would be settled by a shared dataset and a neutral scorer, rather than by whoever wrote the most persuasive paper.

Real world

The Netflix Challenge. A $1M prize run on the three ingredients: shared training data, enrolled teams, and a held-back set scored by the sponsor. Donoho uses it as the framework's best-known public case, and adds a footnote that is the most useful sentence in the section for anyone who sponsors a contest: the winning algorithm was never implemented. A leaderboard can tell you which rule scores best on the sealed rows. It cannot tell you whether that rule is worth running.

Part 3 · covers the six divisions of greater data science

A map of the whole field

4 min live

Donoho's answer to "what is data science" is a map with six divisions, which he calls greater data science. Its most useful property for tonight is where it puts the argument of the last four sessions: both of Breiman's cultures fit inside one division, and five others surround them.

GREATER DATA SCIENCE, SIX DIVISIONS named as Donoho names them; numbers left off on purpose Science about Data Science Data Gathering, Preparation, and Exploration a hedge: "some say" 80 percent Data Representation and Transformation Computing with Data Data Modeling list: 4th · heading: GDS5 generative Breiman's data modelling predictive Breiman's algorithmic Data Visualization and Presentation list: 5th · heading: GDS4 Both of Breiman's cultures fit inside one division. The ring around everything is the study of doing it.
🔍 Click to zoom - the fight of sessions 1 to 4 lives in one split box; the terracotta ring is the division that studies all the others
LiveSix divisions, one split box, and a hedge3 min▶

The six divisions, by name: Data Gathering, Preparation, and Exploration; Data Representation and Transformation; Computing with Data; Data Modeling; Data Visualization and Presentation; Science about Data Science. Cite them by name, because the published paper numbers them two ways: the list puts Modeling fourth and Visualization fifth, while the section headings that follow read "GDS4: Data Visualization and Presentation" and "GDS5: Data Modeling". Anyone who writes "GDS4" is telling you which of the two they read.

Data Modeling holds both cultures. Donoho's sentence: "Each data scientist in practice uses tools and viewpoints from both of Leo Breiman's modeling cultures". In his map the two-cultures argument is a disagreement inside one division, not a split of the field.

The 80 percent is a hedge. Under the first division Donoho writes "Some say that 80% of the effort ..." goes into gathering, preparing and exploring data. That is "some say", not a measurement, and it should never be repeated as a statistic. He also claims the first division "is more important than" modeling "as measured using time spent by practitioners", while modeling dominates academic teaching. That is his claim; nothing here measures it.

His one-line definition, from the conclusion: "data science is the science of learning from data".

Self-studyData science in 20652 min▶

Donoho ends with a forecast, and one sentence of it points straight back at Part 2: "Many new common task frameworks will appear; however, the new ones would not always have prediction accuracy for their performance metric."

Read it with Breiman in mind. The referee's score is where the predictive culture gets its authority, and Donoho expects the score itself to change: a framework could grade something other than accuracy on the sealed rows. What else could a referee grade? Session 6 gives four eminent statisticians' answers from 2001, and they do not agree.

Put your own week on the map. Take last week's work and tag each hour with one of the six divisions. If most of it lands in the first one, you are in good company on Donoho's reading, but you have also produced the only measurement on this page of his "time spent by practitioners" claim, and it is a sample of one.

Build-along

Run a common task framework on 569 biopsies

★ 22 min · everyone builds

Same biopsies, same split as session 1: 398 training rows and 171 held-out rows, split once with seed 2001. Tonight the held-out rows go behind a wall. You write the referee, submit four rules from earlier sessions, print the leaderboard, and then do what every competitor eventually does: submit the same kind of model 20 times and keep the best. Every output below is what the code prints on scikit-learn 1.9.0.

A MINI COMMON TASK FRAMEWORK same split as session 1, the held-out rows now sealed 398 training rows competitors see these four rules fitted on the 398 171 sealed rows referee only referee() counts right answers on the sealed rows the board, sorted logistic, 30 features forest, 100 trees worst radius <= 16.76 everyone benign 170 167 157 107 then: the forest again, 20 submissions, seeds 0 to 19 median 167.0 165 166 168, best kept The kept 168 is one biopsy above the median, bought by submitting 20 times, not by a better model.
🔍 Click to zoom - the terracotta dot is the score a team would report, and the violet line is everything the same model could have scored

Split once, then seal. The split is session 1's, byte for byte. The only new line turns the held-out indices into a set that only the referee will read. Competitors get X[train] and y[train] and nothing else.

★ Step 1 · split and sealimport numpy as np from sklearn.datasets import load_breast_cancer data = load_breast_cancer() X, y = data.data, data.target # y: 1 = benign, 0 = malignant names = list(data.feature_names) rng = np.random.default_rng(2001) test = [] for cls in (0, 1): idx = np.flatnonzero(y == cls) test += list(rng.permutation(idx)[: round(0.30 * len(idx))]) test = np.array(sorted(test)) train = np.setdiff1d(np.arange(len(y)), test) SEALED = set(test.tolist()) # the referee's rows print(len(train), len(SEALED)) # 398 171

Write the referee. It takes a prediction function, not predictions: a competitor hands over a rule and never touches the sealed rows. It returns one number, the count of right answers, which is ingredient (c) in six lines.

★ Step 2 · the refereedef referee(predict_fn): rows = sorted(SEALED) return int((predict_fn(X[rows]) == y[rows]).sum()) board = []

Submit the do-nothing rule first. Every leaderboard needs its floor. Calling every biopsy benign is a rule the referee can score like any other.

★ Step 3 · everyone benignok = referee(lambda Z: np.ones(len(Z), dtype=int)) board.append(("everyone benign", ok)) print(ok) # 107

Submit session 3's rule. One feature, one cut, chosen by exploring the 398 training rows: benign if worst radius is at most 16.76. Session 3 confirmed it once on the held-out rows; here the referee does the confirming.

★ Step 4 · worst radius <= 16.76j = names.index("worst radius") ok = referee(lambda Z: (Z[:, j] <= 16.76).astype(int)) board.append(("worst radius <= 16.76", ok)) print(ok) # 157

Submit both cultures and print the board. The same two models as session 1. The logistic regression is wrapped in a pipeline so the scaler is fitted inside the rule, on training rows only. How the forest works is taught in Ensemble Methods, session 2 ↗.

★ Step 5 · the leaderboardfrom sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.ensemble import RandomForestClassifier from sklearn.pipeline import make_pipeline lr = make_pipeline(StandardScaler(), LogisticRegression(C=1.0, tol=1e-10, max_iter=10000)).fit(X[train], y[train]) board.append(("logistic, 30 features", referee(lr.predict))) rf = RandomForestClassifier(n_estimators=100, random_state=0).fit(X[train], y[train]) board.append(("forest, 100 trees", referee(rf.predict))) for name, ok in sorted(board, key=lambda b: -b[1]): print(f"{name:24s} {ok} of {len(SEALED)}") # logistic, 30 features 170 of 171 # forest, 100 trees 167 of 171 # worst radius <= 16.76 157 of 171 # everyone benign 107 of 171

Now climb the leaderboard. Submit the forest 20 times, changing nothing but its seed, and keep the best. No team would call this cheating; it is what tuning against a public score looks like, and it is session 3's peek done politely, one submission at a time.

★ Step 6 · 20 submissionsscores = [referee(RandomForestClassifier(n_estimators=100, random_state=s) .fit(X[train], y[train]).predict) for s in range(20)] print("20 submissions:", min(scores), "to", max(scores), "median", np.median(scores), "best kept", max(scores)) # 20 submissions: 165 to 168 median 167.0 best kept 168

Report the median, not the maximum. Nothing about the model changed across those 20 submissions, yet the kept best is 168 against a median of 167.0. That one biopsy is optimism bought by submitting 20 times, and on a public leaderboard, where every team does the same, it compounds. The sealed rows stay sealed only while each team's number of looks stays small.

Homework

Before session 6

30 min
  1. Read Donoho's sections on the common task framework and greater data science in JCGS 26(4). Find the footnotes where he renames Breiman's cultures, and write down the exact words he uses for each.
  2. Add a submission limit to the referee. Make it refuse after three calls per team name, then repeat step 6 with a limit of three. Write down what the best kept score can and cannot be. Your numbers will differ depending on which three seeds you pick.
  3. Find a common task framework at work or in your field. Name its (a), (b) and (c). If one is missing, say which, and what fills the gap.
  4. Tag one week of your hours by the six divisions, by name. Bring the share that landed in Data Gathering, Preparation, and Exploration, and be ready to say why a sample of one does not test Donoho's claim.
Check yourself

Three questions

Clear all three and session 5 gets stamped in your passport.

1 · Which list is the common task framework, as Donoho sets it out from Liberman?

The three ingredients are institutional, not algorithmic. Remove the sequestered test set and every team grades itself; remove the public training data and nobody can enter. Donoho calls the pairing of this framework with the predictive culture the "secret sauce" of machine learning.

2 · A team submits the same forest with 20 different seeds and reports its best score, 168 of 171. Why is that number optimistic?

Choosing the best of many looks at the sealed rows turns the referee into part of the training loop. The honest report is the median, or better, a fresh sealed set the team has never scored against.

3 · In Donoho's six divisions of greater data science, where do both of Breiman's cultures sit?

The two-cultures argument is a disagreement inside one division, not a split of the field. And the 80 percent is Donoho's "some say", a hedge, never a measurement.

Sources covered

What this session teaches, and where it came from

✓Donoho (2017), 50 Years of Data ScienceJournal of Computational and Graphical Statistics 26(4), 745-766, doi 10.1080/10618600.2017.1384734; read at source, published version and the 2015 Tukey Centennial preprint; the GDS numbering quirk checked in the published PDF
◐Chambers (1993) and Cleveland (2001)Quoted via Donoho, not opened here; Cleveland's six areas and allocations as Donoho gives them
◐Liberman's lessons and the Pierce, Jelinek, Hansards and DARPA historyReported by Donoho from Liberman; no primary source read here
✓The Netflix Challenge footnoteRead in Donoho: $1M prize, the winning algorithm was never implemented
◐"Four major influences act on data analysis today"A list Donoho attributes to Tukey; not found in the 1962 paper read at source; source unconfirmed
✓The build-along on UCI Breast Cancer Wisconsin (Diagnostic)Wolberg, Mangasarian, Street and Street (1993), doi 10.24432/C5DW2B, CC BY 4.0; every printed output produced by the code on scikit-learn 1.9.0

Every fact on this page, and its verification tier, is recorded in the course's source map.

Session 5 cheat sheet · pin this

The arcTukey 1962, Chambers 1993, Cleveland 2001, Breiman 2001, Donoho preprint 2015, published 2017.
Donoho's namesGenerative = Breiman's data modelling culture. Predictive = the algorithmic culture.
Common task framework(a) public labelled training data, (b) enrolled competitors, (c) a referee with a sequestered test set.
The secret saucePredictive culture plus the framework, in Donoho's words. Netflix's winner was never implemented.
Six divisions, by nameBoth cultures live inside Data Modeling. The 80 percent is "some say", never a statistic.
Best of 20 is optimisticForest seeds 0 to 19: 165 to 168, median 167.0. Report the median, not the kept 168.