====== 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. [[it_encyklopedie:ai_rozcestnik|Zpět na AI rozcestník]]