Sdílet prostřednictvím


Křížové ověření modelu

Tento článek popisuje, jak používat komponentu Cross Validate Model v návrháři služby Azure Machine Learning. Křížové ověřování je technika, která se často používá ve strojovém učení k vyhodnocení proměnlivosti datové sady i spolehlivosti jakéhokoli modelu natrénovaného prostřednictvím těchto dat.

Komponenta Cross Validate Model přebírá jako vstup datovou sadu s popiskem společně s nenatrénovaným klasifikačním nebo regresním modelem. Rozdělí datovou sadu na určitý počet podmnožiny (záhyby), vytvoří model na každém záhybu a pak vrátí sadu statistik přesnosti pro každý záhyb. Porovnáním statistik přesnosti pro všechny skládání můžete interpretovat kvalitu datové sady. Pak můžete zjistit, jestli je model náchylný k variacím dat.

Cross Validate Model také vrací predikované výsledky a pravděpodobnosti datové sady, abyste mohli posoudit spolehlivost předpovědí.

Jak funguje křížové ověřování

  1. Křížové ověřování náhodně rozdělí trénovací data na složené záhyby.

    Algoritmus standardně 10 složí, pokud jste datovou sadu ještě nenadělili. Pokud chcete datovou sadu rozdělit na jiný počet záhybů, můžete použít komponentu Partition (Oddíl) a Sample (Ukázka) a určit, kolik záhybů se má použít.

  2. Komponenta vyhradí data složená z 1, která se použijí k ověření. (Někdy se tomu říká podržení.) Komponenta používá zbývající záhyby k trénování modelu.

    Pokud například vytvoříte pět záhybů, komponenta během křížového ověření vygeneruje pět modelů. Komponenta trénuje každý model pomocí čtyř pětin dat. Testuje každý model na zbývající pátou.

  3. Během testování modelu pro každou složenou komponentu vyhodnocuje více statistik přesnosti. Jaké statistiky komponenta používá, závisí na typu modelu, který vyhodnocujete. K vyhodnocení klasifikačních modelů a regresních modelů se používají různé statistiky.

  4. Po dokončení procesu sestavení a vyhodnocení pro všechna přeložení model Křížové ověření vygeneruje sadu metrik výkonu a skóre výsledků pro všechna data. Projděte si tyto metriky a podívejte se, jestli má libovolná složená záložka vysokou nebo nízkou přesnost.

Výhody křížového ověřování

Jiným a běžným způsobem vyhodnocení modelu je rozdělení dat na trénovací a testovací sadu pomocí funkce Rozdělit data a pak model ověřit na trénovacích datech. Křížové ověřování ale nabízí některé výhody:

  • Křížové ověřování používá více testovacích dat.

    Křížové ověření měří výkon modelu se zadanými parametry ve větším datovém prostoru. To znamená, že křížové ověření používá celou trénovací datovou sadu pro trénování i vyhodnocení místo části. Pokud naopak model ověříte pomocí dat vygenerovaných z náhodného rozdělení, obvykle model vyhodnotíte pouze na 30 procentech nebo méně dostupných dat.

    Vzhledem k tomu, že křížové ověřování trénuje a ověřuje model vícekrát přes větší datovou sadu, je mnohem náročnější na výpočty. Ověřování náhodného rozdělení trvá mnohem déle.

  • Křížové ověření vyhodnotí datovou sadu i model.

    Křížové ověřování neměří jednoduše přesnost modelu. Poskytuje také představu o tom, jak je datová sada reprezentativní a jak citlivý model může být na varianty dat.

Jak používat model křížového ověřování

Křížové ověřování může trvat dlouhou dobu, než se spustí, pokud je vaše datová sada velká. Model křížového ověřování tedy můžete použít v počáteční fázi sestavování a testování modelu. V této fázi můžete vyhodnotit správnost parametrů modelu (za předpokladu, že výpočetní doba je tolerovatelná). Pak můžete model vytrénovat a vyhodnotit pomocí vytvořených parametrů s komponentami trénování modelu a vyhodnocení modelu .

V tomto scénáři model vytrénujete a otestujete pomocí modelu křížového ověření.

  1. Přidejte do kanálu komponentu Cross Validate Model. Najdete ho v návrháři služby Azure Machine Learning v kategorii Hodnocení a vyhodnocování modelu.

  2. Propojte výstup libovolného klasifikačního nebo regresního modelu.

    Pokud například pro klasifikaci používáte rozhodovací strom se dvěma zvýšením úrovně třídy, nakonfigurujte model s požadovanými parametry. Potom přetáhněte spojnici z portu netrénovaného modelu klasifikátoru na odpovídající port křížového ověření modelu.

    Tip

    Model nemusíte trénovat, protože model Křížové ověření model automaticky trénuje jako součást vyhodnocení.

  3. Na portu datové sady křížového ověření modelu připojte libovolnou trénovací datovou sadu s popiskem.

  4. V pravém panelu křížového ověření modelu klikněte na Upravit sloupec. Vyberte jeden sloupec obsahující popisek třídy nebo předvídatelnou hodnotu.

  5. Pokud chcete opakovat výsledky křížového ověřování napříč po sobě jdoucími spuštěními na stejných datech, nastavte hodnotu parametru Náhodné počáteční hodnoty.

  6. Odešlete kanál.

  7. Popis sestav najdete v části Výsledky .

Výsledky

Po dokončení všech iterací vytvoří křížový model skóre pro celou datovou sadu. Vytvoří také metriky výkonu, které můžete použít k vyhodnocení kvality modelu.

Skóre výsledků

První výstup komponenty poskytuje zdrojová data pro každý řádek spolu s některými predikovanými hodnotami a souvisejícími pravděpodobnostmi.

Pokud chcete zobrazit výsledky, klikněte v kanálu pravým tlačítkem myši na komponentu Cross Validate Model. Vyberte Vizualizovat výsledky skóre.

Nový název sloupce Popis
Popisky s skóre Tento sloupec se přidá na konec datové sady. Obsahuje predikovanou hodnotu pro každý řádek.
Skóre pravděpodobností Tento sloupec se přidá na konec datové sady. Označuje odhadovanou pravděpodobnost hodnoty v popiscích skóre.
Přeložení čísla Označuje index založený na nule přeložení, ke kterému byl každý řádek dat přiřazen během křížového ověření.

Výsledky vyhodnocení

Druhá sestava se seskupí podle složených záhybů. Mějte na paměti, že během provádění křížové ověřování model náhodně rozdělí trénovací data na n záhyby (ve výchozím nastavení 10). V každé iteraci nad datovou sadou používá model Křížové ověřování jednu složenou sadu jako ověřovací datovou sadu. Použije zbývající n-1 záhyby k trénování modelu. Každý z n modelů se testuje s daty ve všech ostatních složených záhybech.

V této sestavě jsou složené záhyby uvedeny podle hodnoty indexu ve vzestupném pořadí. Pokud chcete výsledky uspořádat podle libovolného jiného sloupce, můžete výsledky uložit jako datovou sadu.

Pokud chcete zobrazit výsledky, klikněte v kanálu pravým tlačítkem myši na komponentu Cross Validate Model. Vyberte Vizualizovat výsledky vyhodnocení přeložením.

Název sloupce Popis
Přeložení čísla Identifikátor každého přeložení. Pokud jste vytvořili pět složených záhybů, bylo by jich pět podmnožina, číslovaný 0 až 4.
Počet příkladů skládaný Počet řádků přiřazených ke každému přeložení. Měly by být zhruba stejné.

Součástí jsou také následující metriky pro každý skládání v závislosti na typu modelu, který vyhodnocujete:

  • Klasifikační modely: Přesnost, úplnost, skóre F, AUC, přesnost

  • Regresní modely: Střední absolutní chyba, odmocněná střední kvadratická chyba, relativní absolutní chyba, relativní kvadratická chyba a koeficient určení

Technické poznámky

  • Před použitím datových sad pro křížové ověření je osvědčeným postupem normalizovat datové sady.

  • Křížové ověření modelu je mnohem složitější a dokončení modelu trvá déle, než kdybyste model ověřili pomocí náhodně dělené datové sady. Důvodem je, že křížové ověřování model trénuje a ověřuje model několikrát.

  • Když použijete křížové ověřování k měření přesnosti modelu, nemusíte datovou sadu rozdělit na trénovací a testovací sady.

Další kroky

Podívejte se na sadu komponent dostupných pro Azure Machine Learning.