Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
SQL Server 2019 a starší služby Analysis Services Azure Analysis Services 
Fabric/ Power BI Premium
Důležité
Dolování dat bylo v SQL Serveru 2017 Analysis Services zastaralé a nyní ukončeno ve službě SQL Server 2022 Analysis Services. Dokumentace se neaktualizuje pro zastaralé a ukončené funkce. Další informace najdete v tématu Zpětná kompatibilita služby Analysis Services.
Křížové ověřování je standardní nástroj pro analýzu a je důležitou funkcí, která pomáhá vyvíjet a vyladit modely dolování dat. Křížové ověření použijete poté, co jste vytvořili těžební strukturu a související těžební modely pro ověření platnosti modelu. Křížové ověření má následující aplikace:
Ověření robustnosti konkrétního těžebního modelu.
Vyhodnocení více modelů z jednoho příkazu
Vytváření více modelů a identifikace nejlepšího modelu na základě statistik
Tato část popisuje, jak používat funkce křížového ověřování poskytované pro dolování dat a jak interpretovat výsledky křížového ověřování pro jeden model nebo pro více modelů založených na jedné datové sadě.
Přehled procesu křížového ověření
Křížové ověřování se skládá ze dvou fází, trénování a generování výsledků. Mezi tyto fáze patří následující kroky:
Vyberete cílovou strukturu dolování.
Určíte modely, které chcete testovat. Tento krok je nepovinný; můžete také otestovat pouze strukturu dolování.
Zadáte parametry pro testování natrénovaných modelů.
Předvídatelný atribut, predikovaná hodnota a prahová hodnota přesnosti.
Počet záhybů, do kterých chcete rozdělit strukturu nebo data modelu.
SQL Server Analysis Services vytváří a trénuje tolik modelů, kolik existuje.
SQL Server Analysis Services vrátí sadu metrik přesnosti pro každý složený z každého modelu nebo pro datovou sadu jako celek.
Konfigurace křížového ověřování
Můžete přizpůsobit způsob fungování křížového ověřování pro řízení počtu průřezů, testovaných modelů a práhu přesnosti pro předpovědi. Pokud používáte uložené procedury křížového ověření, můžete také zadat datovou sadu, která se používá k ověřování modelů. Toto množství možností znamená, že můžete snadno vytvořit mnoho sad různých výsledků, které se pak musí porovnat a analyzovat.
Tato část obsahuje informace, které vám pomůžou správně nakonfigurovat křížové ověřování.
Nastavení počtu oddílů
Když zadáte počet oddílů, určíte, kolik dočasných modelů se vytvoří. Pro každý oddíl se příčný průřez dat označí jako testovací sada a nový model se vytvoří trénováním na zbývajících datech, která nejsou součástí testovací sady. Tento proces se opakuje, dokud služba SQL Server Analysis Services nevytvořila a otestovala zadaný počet modelů. Data, která jste zadali jako dostupnou pro křížové ověření, se rovnoměrně distribuují mezi všechny oddíly.
Příklad v diagramu znázorňuje použití dat, pokud jsou zadány tři záhyby.
Ve scénáři zobrazeném na diagramu obsahuje struktura dolování vyřazenou datovou sadu, která se používá k testování, avšak testovací data nebyla použita pro křížovou validaci. V důsledku toho se všechna data v trénovací sadě dat, 70 procent dat ve struktuře dolování, používají k křížovému ověření. Sestava křížového ověření zobrazuje celkový počet případů použitých v každém oddílu.
Můžete také určit množství dat, která se používají při křížovém ověření, zadáním celkového počtu případů, které se mají použít. Případy jsou rovnoměrně distribuovány napříč všemi díly.
U dolování struktur uložených v instanci služby SQL Server SQL Server Analysis Services je maximální hodnota, kterou můžete nastavit pro počet záhybů, 256, nebo počet případů, podle toho, co je menší. Pokud používáte strukturu dolování relací, maximální počet skupin je 10.
Poznámka:
S rostoucím počtem záhybů se odpovídajícím způsobem zvyšuje doba potřebná k provedení křížového ověření, protože model se musí vygenerovat a testovat pro každou složenou záhybu. Pokud je počet záhybů příliš vysoký, může dojít k problémům s výkonem.
Nastavení prahové hodnoty přesnosti
Prahová hodnota stavu umožňuje nastavit pruh přesnosti pro předpovědi. Pro každý případ model vypočítá predikovanou pravděpodobnost, což znamená pravděpodobnost, že predikovaný stav je správný. Pokud predikce pravděpodobnosti překročí pruh přesnosti, předpověď se počítá jako správná; pokud ne, předpověď se počítá jako nesprávná. Tuto hodnotu řídíte nastavením prahové hodnoty stavu na číslo v rozmezí od 0,0 do 1,0, kde čísla blíže 1 označují silnou úroveň spolehlivosti v předpovědích a čísla blížící se 0 značí, že předpověď bude méně pravděpodobná. Výchozí hodnota prahové hodnoty stavu je NULL, což znamená, že predikovaný stav s nejvyšší pravděpodobností se považuje za cílovou hodnotu.
Měli byste vědět, že nastavení prahové hodnoty stavu má vliv na míry přesnosti modelu. Předpokládejme například, že máte tři modely, které chcete testovat. Všechny jsou založeny na stejné struktuře dolování dat a všechny predikují sloupec [Zákazník kupující kolo]. Kromě toho chcete předpovědět hodnotu 1, což znamená "ano, zakoupí". Tři modely vracejí předpovědi s pravděpodobnostmi předpovědi 0,05, 0,15 a 0,8. Pokud nastavíte prahovou hodnotu stavu na hodnotu 0,10, počítají se dvě předpovědi jako správné. Pokud nastavíte prahovou hodnotu stavu na 0,5, pouze jeden model se počítá jako ten, který vrátil přesnou predikci. Pokud použijete výchozí hodnotu null, nejpravděpodobnější predikce se počítá jako správná. V tomto případě by se všechny tři předpovědi počítaly jako správné.
Poznámka:
Pro prahovou hodnotu můžete nastavit hodnotu 0,0, ale hodnota je bezvýznamná, protože každá předpověď se počítá jako správná, a to i s nulovou pravděpodobností. Dávejte pozor, abyste omylem nenastavili prahovou hodnotu stavu na hodnotu 0,0.
Výběr modelů a sloupců k ověření
Pokud použijete kartu Křížové ověření v Návrháři dolování dat, musíte nejprve vybrat předvídatelný sloupec ze seznamu. Obvykle může těžební struktura podporovat mnoho těžebních modelů, ale ne všechny z nich používají stejný předvídatelný sloupec. Při spuštění křížového ověřování je možné do sestavy zahrnout pouze modely, které používají stejný předvídatelný sloupec.
Chcete-li zvolit předvídatelný atribut, klikněte na Cílový atribut a vyberte sloupec ze seznamu. Pokud je cílovým atributem vnořený sloupec nebo sloupec ve vnořené tabulce, je nutné zadat název vnořeného sloupce pomocí formátu <Vnořený název> tabulky (klíč).<Vnořený sloupec> Pokud je jediným sloupcem použitým z vnořené tabulky klíčový sloupec, můžete použít <vnořený název> tabulky (klíč).
Po výběru předvídatelného atributu služba SQL Server Analysis Services automaticky testuje všechny modely, které používají stejný předvídatelný atribut. Pokud cílový atribut obsahuje diskrétní hodnoty po výběru předvídatelného sloupce, můžete volitelně zadat cílový stav, pokud existuje konkrétní hodnota, kterou chcete předpovědět.
Výběr cílového stavu ovlivňuje vrácená opatření. Pokud zadáte cílový atribut, tj. název sloupce a nevyberete konkrétní hodnotu, kterou má model předpovědět, ve výchozím nastavení se model vyhodnotí podle predikce nejpravděpodobnějšího stavu.
Pokud používáte křížové ověřování s modely shlukování, není žádný předvídatelný sloupec; místo toho vyberete #Cluster ze seznamu v poli Cílový atribut. Po výběru této možnosti jsou zakázány další možnosti, které nejsou relevantní pro modely clusteringu, jako je například cílový stav. SLUŽBA SQL Server Analysis Services pak otestuje všechny modely clusteringu, které jsou přidružené ke struktuře dolování.
Nástroje pro křížové ověření
Můžete použít křížové ověření z Návrháře dolování dat nebo můžete provést křížové ověření spuštěním uložených procedur.
Pokud k provedení křížového ověření použijete nástroje návrháře pro dolování dat, můžete nakonfigurovat parametry výsledků trénování a přesnosti v jednom dialogovém okně. To usnadňuje nastavení a zobrazení výsledků. Můžete změřit přesnost všech modelů dolování, které souvisejí s jednou dolování strukturou, a pak okamžitě zobrazit výsledky v sestavě HTML. Uložené procedury ale nabízejí určité výhody, jako jsou například přidání vlastních nastavení a možnost skriptování procesu.
Křížové ověřování v Návrháři dolování dat
Křížovou validaci můžete provést pomocí karty Křížová validace v zobrazení grafu přesnosti těžby dat v nástroji SQL Server Management Studio nebo SQL Server Development Studio.
Příklad vytvoření sestavy křížové validace pomocí uživatelského rozhraní najdete v části Vytvoření křížové ověřovací sestavy.
Uložené procedury křížové validace
Pro pokročilé uživatele je křížové ověřování k dispozici také ve formě plně parametrizovaných systémových uložených procedur. Uložené procedury můžete spustit připojením k instanci z aplikace SQL Server Management Studio nebo z libovolné aplikace spravovaného kódu.
Uložené procedury jsou seskupeny podle typu modelu dolování. Jedna sada uložených procedur funguje jenom s modely clusteringu. Druhá sada uložených procedur pracuje s jinými modely dolování.
Pro každý typ modelu dolování, clusterované nebo neskupené, uložené procedury provádějí křížové ověření ve dvou samostatných fázích.
Rozdělení dat a generování metrik pro oddíly
V první fázi zavoláte systémovou uloženou proceduru, která vytvoří tolik oddílů, kolik zadáte v rámci datové sady, a vrátí výsledky přesnosti pro každý oddíl. Pro každou metriku pak Analysis Services vypočítá střední hodnotu a směrodatnou odchylku pro partice.
SystemGetCrossValidationResults (Analysis Services – Dolování dat)
SystemGetClusterCrossValidationResults (Analysis Services – Dolování dat)
Generování metrik pro celou sadu dat
Ve druhé fázi voláte jinou sadu uložených procedur. Tyto uložené procedury nerozdělují datovou sadu, ale generují výsledky přesnosti pro zadanou datovou sadu jako celek. Pokud jste již rozdělili a zpracovali dolování struktury, můžete zavolat tuto druhou sadu uložených procedur, abyste získali pouze výsledky.
Definování testovacích dat
Když spustíte uložené procedury křížového ověření, které počítají přesnost (SystemGetAccuracyResults nebo SystemGetClusterAccuracyResults), můžete určit zdroj dat, která se používají k testování během křížového ověřování. Tato možnost není k dispozici v uživatelském rozhraní.
Jako testovací zdroj dat můžete zadat některou z následujících možností:
Používejte pouze trénovací data.
Zahrnout existující testovací datovou sadu.
Používejte pouze testovací sadu dat.
Použijte existující filtry pro každý model.
Libovolná kombinace trénovací sady, testovací sady a filtrů modelů
Chcete-li zadat testovací zdroj dat, zadejte celočíselnou hodnotu pro parametr DataSet uložené procedury. Seznam hodnot argumentů najdete v části Poznámky příslušného referenčního tématu uložené procedury.
Pokud provedete křížové ověření pomocí sestavy Křížové Ověření v Návrháři pro dolování dat, nemůžete změnit datovou sadu, která je použita. Ve výchozím nastavení se používají trénovací případy pro každý model. Pokud je filtr přidružený k modelu, použije se filtr.
Výsledky křížového ověření
Pokud používáte Návrhář dolování dat, tyto výsledky se zobrazí v prohlížeči podobném mřížce. Pokud použijete uložené procedury křížového ověření, vrátí se tyto stejné výsledky jako tabulka.
Sestava obsahuje dva typy měr: agregace, které označují proměnlivost datové sady, když je rozdělená na skupiny, a míry přesnosti specifické pro jednotlivé skupiny modelu. Následující témata obsahují další informace o těchto metrikách:
Zobrazí seznam všech měr podle typu testu. Popisuje obecně, jak lze míry interpretovat.
Míry v sestavě křížového ověření
Popisuje vzorce pro výpočet jednotlivých měr a uvádí typ atributu, na který lze použít každou míru.
Omezení křížového ověřování
Pokud provádíte křížové ověření pomocí sestavy křížového ověření v aplikaci SQL Server Development Studio, existují určitá omezení pro modely, které můžete testovat, a parametry, které můžete nastavit.
Ve výchozím nastavení jsou všechny modely přidružené k vybrané datové struktuře dolování křížově ověřeny. Model ani seznam modelů nelze zadat.
Křížové ověřování není podporováno u modelů založených na algoritmu Microsoft Time Series nebo algoritmu clusteringu Microsoft Sequence.
Nelze vytvořit sestavu, pokud datová struktura těžby neobsahuje žádné modely, které lze testovat křížovým ověřením.
Pokud těžební struktura obsahuje modely shlukování i modely bez shlukování a nevyberete možnost #Cluster, výsledky obou typů modelů jsou zobrazeny ve stejné zprávě, i když nastavení atributů, stavu a prahových hodnot nemusí být vhodná pro modely shlukování.
Některé hodnoty parametrů jsou omezené. Například upozornění je zobrazena, pokud je počet vrstev větší než 10, protože vytvoření tolika modelů může způsobit, že se sestava bude zobrazovat pomalu.
Pokud testujete více modelů dolování a modely mají filtry, každý model se filtruje samostatně. Filtr nelze přidat do modelu nebo změnit filtr pro model během křížového ověření.
Vzhledem k tomu, že křížové ověřování ve výchozím nastavení testuje všechny modely dolování přidružené ke struktuře, můžete obdržet nekonzistentní výsledky, pokud některé modely mají filtr a jiné ne. Abyste měli jistotu, že porovnáte pouze ty modely se stejným filtrem, měli byste použít uložené procedury a zadat seznam modelů dolování. Nebo použijte pouze sadu testů dolování bez filtrů, abyste zajistili, že se pro všechny modely použije konzistentní sada dat.
Pokud provádíte křížové ověření pomocí uložených procedur, máte další možnost zvolit zdroj testovacích dat. Pokud provedete křížové ověření pomocí Návrháře dolování dat, musíte použít testovací datovou sadu přidruženou k modelu nebo struktuře, pokud existuje. Obecně platí, že pokud chcete zadat upřesňující nastavení, měli byste použít uložené procedury křížového ověření.
Křížové ověřování nelze použít s časovými řadami nebo sekvenčními modely clusteringu. Konkrétně není možné do křížového ověřování zahrnout žádný model, který obsahuje sloupec KEY TIME nebo sloupec KEY SEQUENCE.
Související obsah
Další informace o křížovém ověřování nebo informace o souvisejících metodách testování modelů dolování, jako jsou například grafy přesnosti, najdete v následujících tématech.
| Témata | Links |
|---|---|
| Popisuje, jak nastavit parametry křížového ověření v sadě SQL Server Development Studio. | Karta Křížové ověření (zobrazení grafu přesnosti dolování) |
| Popisuje metriky poskytované křížovým ověřením. | Vzorce křížového ověření |
| Vysvětluje formát zprávy o křížové validaci a definuje statistické míry poskytované pro každý typ modelu. | Míry v sestavě křížového ověření |
| Zobrazí seznam uložených procedur pro výpočet statistik křížového ověření. | Uložené procedury dolování dat (Analysis Services – Dolování dat) |
| Popisuje, jak vytvořit testovací datovou sadu pro dolování struktur a souvisejících modelů. | Trénování a testování datových sad |
| Podívejte se na příklady dalších typů grafů přesnosti. |
Klasifikační matice (Analysis Services – Dolování dat) Lift Chart (Analysis Services – Dolování dat) Profit Chart (Analysis Services – Dolování dat) Bodový graf (Služby analýzy – dolování dat) |
| Popisuje kroky pro vytváření různých grafů přesnosti. | Úlohy testování a ověřování a postupy (dolování dat) |