Gå til indhold
atlas

Testsæt

Også kendt som: test set

Eksempler, der låses væk, mens en model bygges, og åbnes én gang til sidst for at give et ærligt slutresultat.

Kladde - dette opslag er endnu ikke gennemgået.

Formelt

En del af de mærkede data, der ikke spiller nogen rolle i modeltræningen eller i valget af indstillinger, og som først bruges, når alle valg er låst, til at vurdere, hvor godt modellen vil klare sig i virkeligheden.

Forklaret enkelt

Som den forseglede kuvert med eksamensspørgsmål, der ligger i rektors pengeskab til eksamensdagen, så ingen kan have øvet sig på dem.

I praksis

Efter ugers justering af en model, der forudsiger, hvilke patienter der udebliver fra deres aftaler på hospitalet, kører en dataanalytiker i en region den én gang på 5.000 tilbageholdte aftaler, rapporterer tallet til ledelsen og justerer ikke modellen igen.

Hvorfor det betyder noget

Hvis eksemplerne siver ind i træningsdata, eller testsættet tjekkes igen og igen, får modellen et for flot resultat, og et svagt system kan blive taget i brug over for rigtige mennesker.

Teknisk uddybning

Testsættet er det sidste af de tre standardopdelinger (træning, validering, test) og det eneste, hvis formål er estimation frem for tilpasning eller udvælgelse. Fordelinger som 80/10/10 eller 70/15/15 er konventioner ved moderate datamængder; det, der reelt tæller, er det absolutte antal testtilfælde, fordi bredden af et konfidensinterval falder med √n. For et mål omkring 90 % giver cirka 1.000 tilfælde omtrent ±2 procentpoint, og sjældne klasser har brug for nok positive i sig selv. Stratificeret opdeling holder klasseandelene ens på tværs af opdelingerne, hvilket betyder noget, når en klasse er sjælden.

Lækage er den vigtigste måde, et testsæt lyver på. Gruppelækage opstår, når beslægtede poster - samme patient, kunde, enhed eller flere versioner af samme dokument - havner på begge sider af opdelingen; gruppebevidst opdeling (fx scikit-learns GroupShuffleSplit eller GroupKFold) forhindrer det. Tidslækage opstår, når en tilfældig opdeling lader modellen træne på fremtiden; prognose- og svindelmodeller bør testes på et senere tidsvindue end det, de er trænet på. Næsten-dubletter, spejlede kopier og augmenterede varianter kræver deduplikering, ofte med hashing eller MinHash. Lækage via forbehandling opstår, når skalering, ordforråd eller feature-udvælgelse tilpasses på hele datasættet før opdelingen. Kaufman m.fl. (2012) giver en systematisk gennemgang af lækage i data mining.

Hvert kig på testsættet lækker information ind i modelleringen. Hvis resultaterne styrer yderligere ændringer, er testsættet blevet til et valideringssæt, og scoren bliver for optimistisk. Kaggles opdeling i en offentlig og en privat rangliste findes netop, fordi hold overtilpasser den offentlige del; Dwork m.fl. (2015) foreslog en "genbrugelig holdout"-mekanisme baseret på differential privacy for at begrænse det. For store sprogmodeller viser problemet sig som kontaminering, når offentlige testopgaver allerede ligger i fortræningsdata, og selv testsættets labels kan være forkerte: Northcutt m.fl. (2021) fandt fejl i mindst 6 % af labels i ImageNets valideringssæt, som i praksis fungerer som dets testsæt.

Et testsæt skal også repræsentere den population, modellen skal bruges på, og ikke kun de indsamlede data. Resultatet på et internt testsplit er intern validitet; et testsæt fra et andet hospital, en anden region eller et andet år måler overførbarhed, og derfor skelner klinisk prædiktionsforskning mellem intern og ekstern validering. Pas på terminologien: i den litteratur betyder "validering" som regel det, maskinlæring kalder test, så en "valideringskohorte" i en medicinsk artikel er det tilbageholdte testsæt og ikke et split til tuning.

Hvad du bør lære først

Alt det, dette bygger på - grundlaget først.

  1. Træningsdata
  2. →Modeltræning
  3. →Testsæt

Relationer

Forudsætter
Modeltræning
Åbner for
Benchmark

Kilder og videre læsning

Hvor dataene kommer fra

Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.

Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON

Test dig selv

Indlæser…

Atlas er i beta.