Součást Split Data

Tento článek popisuje komponentu v návrháři služby Azure Machine Learning.

Pomocí komponenty Rozdělit data rozdělte datovou sadu do dvou různých sad.

Tato komponenta je užitečná, když potřebujete oddělit data do trénovacích a testovacích sad. Můžete také přizpůsobit způsob rozdělení dat. Některé možnosti podporují náhodnost dat. Jiné jsou přizpůsobené pro určitý datový typ nebo typ modelu.

Konfigurace komponenty

Tip

Než zvolíte režim rozdělení, přečtěte si všechny možnosti a určete typ rozdělení, který potřebujete. Pokud změníte režim rozdělení, můžou se resetovat všechny ostatní možnosti.

  1. Přidejte komponentu Split Data do kanálu v návrháři. Tuto komponentu najdete v části Transformace dat v kategorii Ukázka a Rozdělení .

  2. Režim rozdělení: Zvolte jeden z následujících režimů v závislosti na typu dat, která máte a jak je chcete rozdělit. Každý režim rozdělení má různé možnosti.

    • Rozdělit řádky: Tuto možnost použijte, pokud chcete data rozdělit na dvě části. Můžete zadat procento dat, která se mají vložit do každého rozdělení. Ve výchozím nastavení jsou data rozdělena 50/50.

      Můžete také náhodně vybrat řádky v každé skupině a použít stratifikované vzorkování. Při stratifikovaném vzorkování musíte vybrat jeden sloupec dat, pro který chcete, aby byly hodnoty rovnoměrně rozděleny mezi dvě výsledné datové sady.

    • Rozdělení regulárních výrazů: Tuto možnost zvolte, pokud chcete datovou sadu rozdělit testováním jednoho sloupce pro hodnotu.

      Pokud například analyzujete mínění, můžete zkontrolovat přítomnost konkrétního názvu produktu v textovém poli. Datovou sadu pak můžete rozdělit na řádky s názvem cílového produktu a řádky bez názvu cílového produktu.

    • Relativní rozdělení výrazů: Tuto možnost použijte, kdykoli chcete použít podmínku na sloupec čísla. Číslo může být pole data a času, sloupec obsahující částky ve věku nebo dolarech nebo dokonce procento. Můžete například chtít rozdělit datovou sadu na základě nákladů na položky, seskupit lidi podle věkových rozsahů nebo oddělit data podle kalendářního data.

Rozdělení řádků

  1. Přidejte komponentu Split Data do kanálu v návrháři a připojte datovou sadu, kterou chcete rozdělit.

  2. V části Režim rozdělení vyberte Rozdělit řádky.

  3. Zlomek řádků v první výstupní datové sadě: Pomocí této možnosti můžete určit, kolik řádků přejde do prvního výstupu (na levé straně). Všechny ostatní řádky přejdou do druhého (pravého) výstupu.

    Poměr představuje procento řádků odeslaných do první výstupní datové sady, takže musíte zadat desetinné číslo mezi 0 a 1.

    Pokud například jako hodnotu zadáte 0,75 , datová sada se rozdělí 75/25. V tomto rozdělení se 75 procent řádků odešle do první výstupní datové sady. Zbývajících 25 procent se odešle do druhé výstupní datové sady.

  4. Pokud chcete náhodně rozdělit výběr dat do těchto dvou skupin, vyberte možnost Náhodné rozdělení . Toto je upřednostňovaná možnost při vytváření trénovacích a testovacích datových sad.

  5. Náhodné počáteční hodnoty: Tento parametr bude ignorován, pokud je náhodné rozdělení nastaveno na hodnotu false. V opačném případě zadejte nezápornou celočíselnou hodnotu, která spustí pseudonáhodnou sekvenci instancí, které se mají použít. Toto výchozí počáteční nastavení se používá ve všech komponentách, které generují náhodná čísla.

    Zadání osiva umožňuje reprodukovat výsledky. Pokud potřebujete opakovat výsledky operace rozdělení, měli byste zadat stejné počáteční číslo pro generátor náhodných čísel.

  6. Stratifikované rozdělení: Nastavte tuto možnost na Hodnotu True , abyste zajistili, že dvě výstupní datové sady obsahují reprezentativní vzorek hodnot ve sloupci strata nebo klíčovém sloupci stratifikace.

    Při stratifikovaném vzorkování jsou data rozdělena tak, aby každá výstupní datová sada získala přibližně stejné procento každé cílové hodnoty. Můžete například chtít zajistit, aby vaše trénovací a testovací sady byly přibližně vyvážené s ohledem na výsledek nebo na nějaký jiný sloupec (například pohlaví).

  7. Odešlete kanál.

Výběr regulárního výrazu

  1. Přidejte do kanálu komponentu Split Data (Rozdělit data ) a připojte ji jako vstup k datové sadě, kterou chcete rozdělit.

  2. V části Režim dělení vyberte Rozdělení regulárních výrazů.

  3. Do pole Regulární výraz zadejte platný regulární výraz.

    Regulární výraz by měl pro regulární výrazy dodržovat syntaxi Pythonu.

  4. Odešlete kanál.

    Na základě zadaného regulárního výrazu se datová sada rozdělí na dvě sady řádků: řádky s hodnotami, které odpovídají výrazu, a všechny zbývající řádky.

Následující příklady ukazují, jak rozdělit datovou sadu pomocí možnosti Regulární výraz .

Jedno celé slovo

Tento příklad vloží do první datové sady všechny řádky, které obsahují text Gryphon ve sloupci Text. Do druhého výstupu rozdělení dat vloží další řádky.

    \"Text" Gryphon  

Podřetězec

Tento příklad vyhledá zadaný řetězec na libovolné pozici v druhém sloupci datové sady. Pozice je zde označena hodnotou indexu 1. V shodě se rozlišují velká a malá písmena.

(\1) ^[a-f]

První výsledná datová sada obsahuje všechny řádky, ve kterých sloupec indexu začíná jedním z těchto znaků: a, b, c, d, e, . f Všechny ostatní řádky jsou směrovány na druhý výstup.

Výběr relativního výrazu

  1. Přidejte do kanálu komponentu Split Data (Rozdělit data ) a připojte ji jako vstup k datové sadě, kterou chcete rozdělit.

  2. V části Režim rozdělení vyberte Relativní výraz.

  3. Do pole Relační výraz zadejte výraz, který provede operaci porovnání v jednom sloupci.

    Pro číselný sloupec:

    • Sloupec obsahuje čísla libovolného číselného datového typu, včetně datových typů data a času.
    • Výraz může odkazovat maximálně na jeden název sloupce.
    • Pro operaci AND použijte znak &ampersand. Pro operaci OR použijte znak |potrubí .
    • Podporují se následující operátory: <, >, <=, >=, ==, . !=
    • Operace nelze seskupit pomocí ( a ).

    Pro sloupec Řetězec:

    • Podporují se následující operátory: ==, !=.
  4. Odešlete kanál.

    Výraz rozdělí datovou sadu na dvě sady řádků: řádky s hodnotami, které splňují podmínku, a všechny zbývající řádky.

Následující příklady ukazují, jak rozdělit datovou sadu pomocí možnosti Relativní výraz v komponentě Rozdělit data .

Kalendářní rok

Běžným scénářem je rozdělení datové sady po letech. Následující výraz vybere všechny řádky, ve kterých jsou hodnoty ve sloupci Year větší než 2010.

\"Year" > 2010

Výraz date musí zohlednit všechny části kalendářního data, které jsou zahrnuty ve sloupci dat. Formát kalendářních dat ve sloupci dat musí být konzistentní.

Například ve sloupci kalendářního data, který používá formát mmddyyyy, by výraz měl vypadat přibližně takto:

\"Date" > 1/1/2010

Index sloupce

Následující výraz ukazuje, jak pomocí indexu sloupce vybrat všechny řádky v prvním sloupci datové sady, které obsahují hodnoty menší nebo rovné 30, ale ne rovno 20.

(\0)<=30 & !=20

Další kroky

Projděte si sadu komponent dostupných pro Azure Machine Learning.