Sdílet prostřednictvím


Rozdělení datové komponenty

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í randomizaci 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 všechny ostatní možnosti resetovat.

  1. Přidejte do kanálu v návrháři komponentu Rozdělit data . 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 ho 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 jenom 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é randomizovat výběr řádků v každé skupině a použít stratifikované vzorkování. Při stratifikovaném vzorkování je nutné vybrat jeden sloupec dat, pro který chcete hodnoty rovnoměrně určit mezi dvěma výslednými datovými sadami.

    • Rozdělení regulárního výrazu: Tuto možnost vyberte, 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ýrazu: Tuto možnost použijte vždy, když chcete použít podmínku u číselného sloupce. Číslo může být pole data a času, sloupec obsahující věk nebo dolarové částky nebo dokonce procentuální hodnotu. Můžete například chtít datovou sadu rozdělit 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 do kanálu v návrháři komponentu Rozdělit data a připojte datovou sadu, kterou chcete rozdělit.

  2. V režimu rozdělení vyberte Rozdělit řádky.

  3. Zlomek řádků v první výstupní datové sadě: Tuto možnost použijte k určení, kolik řádků přejde do prvního (levého) výstupu. Všechny ostatní řádky se přesunou do druhého (pravého) výstupu.

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

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

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

  5. Random Seed: Tento parametr bude ignorován, pokud je náhodné rozdělení nastaveno na false. V opačném případě zadejte nezápornou celočíselnou hodnotu pro spuštění pseudonáhodní sekvence instancí, které se mají použít. Toto výchozí počáteční nastavení se používá ve všech součástech, které generují náhodná čísla.

    Když zadáte počáteční hodnotu, výsledky budou reprodukovatelné. Pokud potřebujete opakovat výsledky operace rozdělení, měli byste pro generátor náhodných čísel zadat stejné počáteční číslo.

  6. Stratifikované rozdělení: Nastavte tuto možnost na Hodnotu True , aby se zajistilo, že tyto 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 zhruba stejné procento každé cílové hodnoty. Můžete například chtít zajistit, aby vaše trénovací a testovací sady byly zhruba vyváženy s ohledem na výsledek nebo do jiného sloupce (například pohlaví).

  7. Odešlete kanál.

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

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

  2. V režimu rozdělení vyberte rozdělení regulárního výrazu.

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

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

  4. Odešlete kanál.

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

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

Jedno celé slovo

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

    \"Text" Gryphon  

Podřetězec

Tento příklad vyhledá zadaný řetězec v libovolné pozici v druhém sloupci datové sady. Pozice je zde označena hodnotou indexu 1. Shoda se rozlišují malá a velká 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, , bc, 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 Rozdělit data a připojte ji jako vstup k datové sadě, kterou chcete rozdělit.

  2. V režimu rozdělení vyberte Relativní výraz.

  3. Do pole Relační výraz zadejte výraz, který provádí 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 na maximálně jeden název sloupce.
    • Pro operaci AND použijte znak &ampersandu. Pro operaci OR použijte znak |svislé roury.
    • Podporují se následující operátory: <, >, <=, >=, ==, . !=
    • Operace nelze seskupit pomocí ( a ).

    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 podle let. 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 data musí odpovídat všem částem kalendářních dat, které jsou součástí datového sloupce. 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 můžete pomocí indexu sloupců vybrat všechny řádky v prvním sloupci datové sady, které obsahují hodnoty menší nebo rovno 30, ale ne rovno 20.

(\0)<=30 & !=20

Další kroky

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