Sdílet prostřednictvím


Model křížového ověřování

Důležité

Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.

Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).

Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.

Křížově ověřuje odhady parametrů pro klasifikace nebo regresní modely pomocí dělení dat.

kategorie: Machine Learning/vyhodnotit

Poznámka

platí pro: jenom Machine Learning Studio (classic)

podobné moduly přetažení jsou k dispozici v návrháři Azure Machine Learning.

Přehled modulu

tento článek popisuje, jak používat modul modelu křížového ověřování v Machine Learning studiu (classic). Křížové ověřování je důležitou technikou, která se často používá ve službě Machine Learning k vyhodnocení proměnlivosti datové sady a spolehlivosti všech modelů vyškolených pomocí těchto dat.

Modul pro křížové ověřování modelu přijímá jako vstupní datovou sadu s popisem, společně s nevlakovou klasifikací nebo regresní model. Rozdělí datovou sadu na určitý počet podmnožin (skládání), sestaví model na každé přeložení a potom vrátí sadu statistik přesnosti pro každé skládání. Porovnáním statistik přesnosti pro všechna skládání můžete interpretovat kvalitu sady dat a pochopit, zda je model náchylný k variacím dat.

Křížové ověřování také vrací předpovězené výsledky a pravděpodobnosti pro datovou sadu, abyste mohli posoudit spolehlivost předpovědi.

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

  1. Vzájemné ověřování náhodně dělí školicí data do několika oddílů, označovaných také jako skládání.

    • Pokud jste datovou sadu předtím nevytvořili, algoritmus se standardně přeloží na 10.
    • Chcete-li datovou sadu rozdělit na jiný počet přeložení, můžete použít oddíl a vzorový modul a určit, kolik skládání se má použít.
  2. Modul odloží data přeložená 1, aby se použila k ověření (Tato situace se někdy označuje jako přeložení), a používá zbývající skládání k vytvoření výukového modelu.

    Například pokud vytvoříte pět přeložení, modul by během křížového ověřování vygeneroval pět modelů, každý model byl vyučen pomocí 4/5 dat a testován na zbývajících 1/5.

  3. Během testování modelu pro každé skládání se vyhodnocuje více statistik přesnosti. Které statistiky jsou používány, závisí na typu modelu, který vyhodnocujete. Pro vyhodnocení modelů klasifikace vs. regresních modelů se používají různé statistiky.

  4. Když je proces sestavení a vyhodnocení dokončen pro všechny skládání, model křížového ověřování vygeneruje sadu metrik výkonu a výsledky skóre pro všechna data. Tyto metriky byste měli zkontrolovat a zjistit, zda některé z nich mají zvláště vysokou nebo nízkou přesnost.

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

Jiný a velmi běžný způsob, jak vyhodnotit model, je rozdělit data do sady školení a testování pomocí rozdělených data pak ověřit model pro školicí data. Křížové ověřování však nabízí některé výhody:

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

    Křížové ověřování měří výkon modelu se zadanými parametry ve větším datovém prostoru. To znamená, že křížové ověřování používá celou výukovou datovou sadu pro školení a vyhodnocení, a ne na určitou část. Naproti tomu, pokud ověřujete model pomocí dat generovaných náhodným rozdělením, obvykle vyhodnocujete model pouze 30% nebo méně dostupných dat.

    Vzhledem k tomu, že vlaky pro křížové ověřování a ověřují model víckrát nad větší datovou sadou, je mnohem více výpočetně náročný a trvá mnohem déle než ověřování při náhodném rozdělení.

  • Křížové ověřování vyhodnocuje datovou sadu i model.

    Křížové ověřování neměří pouhou přesnost modelu, ale také poskytuje určitou představu o tom, jak je datová sada a jak citlivá je model, který může být v datech proměnlivý.

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

Existují dva hlavní způsoby použití křížového ověřování.

Spuštění křížového ověřování může trvat dlouhou dobu, pokud použijete hodně dat. Proto můžete použít model křížového ověřování v prvotní fázi sestavování a testování modelu, pro vyhodnocení správnosti parametrů modelu (za předpokladu, že doba výpočtu je přípustná), a potom můžete pomocí zavedených parametrů vytvořit a vyhodnotit model pomocí navázaných parametrů a vyhodnotit moduly modelu .

Jednoduché křížové ověřování

V tomto scénáři provedete a otestujete model pomocí modelu vzájemného ověřování.

  1. Přidejte do experimentu modul modelu vzájemného ověřování . můžete ji najít v Machine Learning studiu (classic) v kategorii Machine Learning pod položkou Evaluate.

  2. Připojení výstup jakéhokoli modelu klasifikace nebo regrese .

    Pokud například používáte pro klasifikaci Bayes počítač se dvěma třídami , nakonfigurujte model pomocí parametrů, které chcete, a pak přetáhněte konektor z nevýukového portu modelu klasifikátoru na shodný port modelu křížového ověření.

    Tip

    Model není nutné vyškolený, protože model křížového ověřování automaticky nakládá model jako součást vyhodnocení.

  3. V portu DataSetmodelu křížového ověřovánípřipojte všechny datové sady s popiskem.

  4. V podokně vlastnostimodelu vzájemného ověřováníklikněte na možnost Spustit selektor sloupců a vyberte jeden sloupec, který obsahuje popisek třídy, nebo předvídatelné hodnoty.

  5. Nastavte hodnotu náhodného parametru počátečního navýšení, pokud chcete, aby se výsledky křížového ověřování opakovaly po sobě jdoucích spuštění na stejných datech.

  6. Spusťte experiment.

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

    Chcete-li získat kopii modelu pro pozdější použití, klikněte pravým tlačítkem myši na výstup modulu, který obsahuje algoritmus (například na obou počítačích Bayes Point Point), a klikněte na Uložit jako trained model.

Křížové ověření s parametrem Sweep

V tomto scénáři použijete k identifikaci nejlepšího modelu vzorové parametry ladění modelu a potom pomocí modelu pro vzájemné ověřování zkontrolujete jeho spolehlivost. toto je nejjednodušší způsob, jak Machine Learning identifikovat nejlepší model a pak pro něj generovat metriky.

  1. Přidejte datovou sadu pro školení modelů a přidejte jeden z modulů strojového učení, které vytvoří model klasifikace nebo regrese.

  2. Do experimentu přidejte modul parametrů modelu ladění . můžete ji najít v kategorii Machine Learning v části vlak.

  3. Připojte model klasifikace nebo regrese k nevýukovým vstupům modelu pro výstup modelu ladění.

  4. Přidejte do experimentu modul modelu vzájemného ověřování . můžete ji najít v Machine Learning studiu (classic) v kategorii Machine Learning pod položkou Evaluate.

  5. Najděte si vyškolený výstup výstupních parametrů modelu Tunea připojte ho k nevýukovým vstupům modelu vzájemného ověřování.

  6. Připojení školicích dat do školicích datových sad pro Model vzájemného ověřování.

  7. Spusťte experiment.

  8. Po kontrole výsledků a hodnocení hodnocení, abyste získali kopii nejlepšího modelu pro pozdější opětovné použití, stačí kliknout pravým tlačítkem myši na modul ladění modelu ladění , vybrat možnost vyškolený nejlepší modela potom kliknout na Uložit jako trained model.

Poznámka

Pokud pro datovou sadu s volitelným ověřovacím objektempoužijete vstup v modulu Předparametrů modelu ladění , může dorazit k různým výsledkům.

To znamená, že když použijete tuto možnost, budete platit, když zadáte statickou datovou sadu pro analýzu a datovou sadu. Proto proces křížového ověřování také používá zadané školení a testování datových sad místo rozdělení dat na n skupin pro účely školení a testování. Metriky se ale generují na n-skládání.

Výsledky

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

Výsledky skóre

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

Chcete-li zobrazit tyto výsledky, klikněte v experimentu pravým tlačítkem na modul modelu křížové validace , vyberte skóre výsledkůa klikněte na vizualizovat.

Nový název sloupce Description
Přeložení přiřazení Určuje index přeložení na základě 0, ke kterému byl během křížového ověřování přiřazen každý řádek dat.
Vyhodnocené popisky Tento sloupec se přidá na konec datové sady a obsahuje předpokládanou hodnotu pro každý řádek.
Pravděpodobnost skóre Tento sloupec je přidán na konec datové sady a označuje odhadovanou pravděpodobnost hodnoty ve vyhodnocených popiscích.

Výsledky vyhodnocení

Druhá sestava je seskupena podle skládání. Pamatujte, že při provádění model křížového ověřování náhodně rozdělí data školení na n skládání (standardně 10). V každé iteraci přes datovou sadu používá model křížového ověřování jednu přeložení jako datovou sadu ověřování a používá zbývající n-1 skládání k vytvoření výukového modelu. Každý z modelů n je testován proti datům ve všech ostatních skládáních.

V této sestavě jsou skládání uvedena podle hodnoty indexu ve vzestupném pořadí. Chcete-li seřadit v jakémkoli jiném sloupci, můžete výsledky Uložit jako datovou sadu.

Chcete-li zobrazit tyto výsledky, klikněte v experimentu pravým tlačítkem na modul modelu křížového ověřování , vyberte možnost výsledky vyhodnocení podle skládánía klikněte na vizualizovat.

Název sloupce Popis
Číslo skládání Identifikátor pro každé skládání. Pokud jste vytvořili 5 přeložení, mělo by být 5 podmnožin dat, očíslované od 0 do 4.
Počet příkladů v skládání Počet řádků přiřazených každému skládání. Měly by být zhruba stejné.
Modelování Algoritmus použitý v modelu identifikovaný názvem rozhraní API

Kromě toho jsou pro každé skládání zahrnuty následující metriky v závislosti na typu modelu, který vyhodnocujete.

  • Klasifikační modely: přesnost, odvolání, F-SKORE, AUC, průměrná ztráta protokolu, ztráta protokolu cvičení

  • Regresní modely: pravděpodobnost záporného protokolu, střední absolutní chyba, kořenová střední hodnota chyby, relativní absolutní chyba a koeficient určení

Příklady

Příklady použití křížového ověřování ve službě Machine Learning najdete v Azure AI Gallery:

Technické poznámky

  • Je osvědčeným postupem normalizovat datové sady předtím, než je použijete pro křížové ověřování.

  • Vzhledem k tomu, že křížově ověřuje model vlaků a ověřuje model několikrát, je mnohem mnohem více výpočetně náročné a dokončení trvá déle než při ověřování modelu pomocí náhodné dělené datové sady.

  • Doporučujeme použít model křížového ověřování pro stanovení dobrých hodnot modelu s ohledem na zadané parametry. K určení optimálních parametrů použijte parametry ladění modelu .

  • Není nutné rozdělit datovou sadu do školicích a testovacích sad při použití vzájemného ověřování k měření přesnosti modelu.

    Pokud je však k dispozici datová sada ověřování, modul používá zadané školení a testování datových sad místo rozdělení na n skládání. To znamená, že první datová sada se používá ke školení modelu pro každou kombinaci parametrů a modely jsou vyhodnocovány na základě ověřovací datové sady. Přečtěte si část o použití parametru Sweep s křížovým ověřením.

  • I když tento článek používá starší verze modulů, má dobré vysvětlení procesu křížového ověřování: Jak zvolit parametry pro optimalizaci algoritmů v Machine Learning

Očekávané vstupy

Název Typ Description
Nevlakový model Rozhraní ILearner Nevlakový model pro vzájemné ověřování u datové sady
Datová sada Tabulka dat Vstupní datová sada

Parametry modulu

Name Rozsah Typ Výchozí Description
Sloupec popisku Libovolný ColumnSelection Vyberte sloupec, který obsahuje popisek, který se má použít k ověření.
Náhodné osazení Libovolný Integer 0 Počáteční hodnota generátoru náhodných čísel

Tato hodnota je volitelná. Pokud není zadaný

Výstupy

Název Typ Description
Výsledky skóre Tabulka dat Výsledky bodování
Výsledky vyhodnocení podle skládání Tabulka dat Výsledky vyhodnocení (pomocí skládání a celého)

Výjimky

Výjimka Description
Chyba 0035 K výjimce dojde, pokud nebyly pro daného uživatele nebo položku zadány žádné funkce.
Chyba 0032 K výjimce dojde, pokud argument není číslo.
Chyba 0033 K výjimce dojde, pokud je argumentem nekonečno.
Chyba 0001 K výjimce dojde v případě, že se nepovedlo najít jeden nebo více zadaných sloupců datové sady.
Chyba 0003 K výjimce dojde v případě, že jeden nebo více vstupů má hodnotu null nebo je prázdné.
Chyba 0006 K výjimce dojde, pokud je parametr větší nebo roven zadané hodnotě.
Chyba 0008 K výjimce dojde, pokud parametr není v rozsahu.
Chyba 0013 K výjimce dojde v případě, že se učí předaný modul neplatného typu.

seznam chyb, které jsou specifické pro moduly studia (classic), najdete v článku kódy chyb Machine Learning.

seznam výjimek rozhraní API najdete v tématu Machine Learning REST API chybové kódy.

Viz také

Vyhodnotit
Vyhodnocení doporučovacího systému
Seznam modulů a-Z