Obsah
Testovací data (Test Data)
Testovací data představují nezávislou část datasetu, která slouží k finálnímu vyhodnocení kvality natrénovaného modelu. Jejich nejdůležitější vlastností je, že jsou pro model „neviditelná“ – algoritmus k nim nesmí mít přístup během procesu učení ani během ladění parametrů.
Účelem testovacích dat je simulovat reálné nasazení (produkci), kdy model dostává zcela nové vstupy od uživatelů.
1. Role v životním cyklu modelu
V rámci procesu rozdělení dat (Data Splitting) tvoří testovací data poslední instanci:
- Trénovací data: Model z nich čerpá znalosti.
- Validační data: Vývojář podle nich upravuje nastavení (např. hloubku sítě).
- Testovací data: Pouze pro závěrečné měření přesnosti. Pokud model na testovacích datech propadne, celý proces se musí vrátit na začátek.
2. Problém kontaminace dat (Data Leakage)
K úniku dat (Data Leakage) dochází, pokud se informace z testovací sady neúmyslně dostanou do trénovacího procesu. To vede k falešnému optimismu – model vypadá jako geniální (má 99% úspěšnost), ale v realitě selhává, protože si jen „pamatuje“ testovací otázky.
Jak zabránit kontaminaci:
- Striktní oddělení dat hned na začátku projektu.
- Zajištění, že se duplicitní záznamy nenacházejí v obou sadách.
- Časové oddělení (u časových řad): trénování na starších datech, testování na nejnovějších.
3. Metriky vyhodnocení na testovacích datech
Na základě výsledků z testovacích dat vypočítáváme metriky, které nám řeknou, jak je model dobrý:
| Metrika | Význam | Příklad |
|---|---|---|
| Accuracy (Přesnost) | Procento správně určených případů. | „Model trefil 95 % obrázků.“ |
| Precision | Schopnost neoznačit chybně negativní případ jako pozitivní. | „Kolik z označených spamů byl skutečně spam?“ |
| Recall (Úplnost) | Schopnost najít všechny pozitivní případy. | „Našel model všechny nádory na snímcích?“ |
| F1 Score | Harmonický průměr mezi Precision a Recall. | Ideální pro nevyvážená data. |
4. Zobecnění (Generalizace)
Hlavním cílem použití testovacích dat je ověřit schopnost zobecnění.
- Pokud má model skvělé výsledky na trénovacích datech, ale mizerné na testovacích, došlo k Overfittingu (přetrénování). Model se naučil šum a specifické chyby trénovací sady, místo aby pochopil obecné pravidlo.
- Pokud jsou výsledky špatné u obou sad, jde o Underfitting (podtrénování) – model je příliš jednoduchý.
5. Zlatá pravidla pro testovací data
- Nikdy netrénovat na testovacích datech: Jakmile se model „podívá“ na testovací data, ztrácí tato sada svou objektivitu.
- Stejná distribuce: Testovací data musí pocházet ze stejného prostředí jako trénovací (např. pokud trénujete na fotkách z profi foťáku, nemůžete testovat jen na rozmazaných fotkách z mobilu).
- Dostatečná velikost: Testovací sada musí být dost velká, aby výsledky byly statisticky významné (obvykle se volí 10–20 % z celkového objemu).
Příklad z praxe: Představte si testovací data jako závěrečnou zkoušku ve škole. Trénovací data jsou učebnice. Pokud učitel dá do zkoušky přesně stejné příklady, které jsou v učebnici, nezjistí, zda žák látku pochopil, nebo se ji jen naučil nazpaměť. Proto musí být ve zkoušce (testovacích datech) příklady nové, ale ze stejné látky.
