Součást Normalizovat data

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

Tato komponenta slouží k transformaci datové sady prostřednictvím normalizace.

Normalizace je technika, která se často používá při přípravě dat pro strojové učení. Cílem normalizace je změnit hodnoty číselných sloupců v datové sadě tak, aby používaly běžné měřítko, aniž by došlo k narušení rozdílů v rozsazích hodnot nebo ztrátě informací. Normalizace je také nutná, aby některé algoritmy správně modelují data.

Předpokládejme například, že vstupní datová sada obsahuje jeden sloupec s hodnotami od 0 do 1 a druhý sloupec s hodnotami v rozmezí od 10 000 do 100 000. Velký rozdíl ve měřítku čísel může způsobit problémy, když se pokusíte zkombinovat hodnoty jako funkce během modelování.

Normalizace těmto problémům vyhýbá vytvořením nových hodnot, které ve zdrojových datech zachovávají obecné rozdělení a poměry a zároveň udržují hodnoty v rámci měřítka použitého ve všech číselných sloupcích používaných v modelu.

Tato komponenta nabízí několik možností pro transformaci číselných dat:

  • Všechny hodnoty můžete změnit na měřítko 0–1 nebo je transformovat tak, že je místo absolutních hodnot zařadíte jako percentil.
  • Normalizaci můžete použít pro jeden sloupec nebo pro více sloupců ve stejné datové sadě.
  • Pokud potřebujete kanál opakovat nebo použít stejné kroky normalizace u jiných dat, můžete kroky uložit jako normalizační transformaci a použít je u jiných datových sad se stejným schématem.

Upozornění

Některé algoritmy vyžadují, aby se data před trénováním modelu normalizovala. Jiné algoritmy provádějí vlastní škálování nebo normalizaci dat. Proto když zvolíte algoritmus strojového učení, který chcete použít při vytváření prediktivního modelu, nezapomeňte před použitím normalizace na trénovací data zkontrolovat požadavky algoritmu na data.

Konfigurace normalizovat data

Pomocí této komponenty můžete současně použít pouze jednu metodu normalizace. Proto se stejná metoda normalizace použije pro všechny sloupce, které vyberete. Chcete-li použít různé metody normalizace, použijte druhou instanci funkce Normalizovat data.

  1. Přidejte do svého kanálu komponentu Normalizovat data . Komponentu Ve službě Azure Machine Learning najdete v části Transformace dat v kategorii Škálování a redukce .

  2. Připojte datovou sadu, která obsahuje alespoň jeden sloupec se všemi čísly.

  3. Pomocí selektoru sloupců zvolte číselné sloupce, které chcete normalizovat. Pokud nevyberete jednotlivé sloupce, ve výchozím nastavení se do vstupu zahrnou všechny sloupce číselného typu a u všech vybraných sloupců se použije stejný proces normalizace.

    To může vést k podivným výsledkům, pokud zahrnete číselné sloupce, které by se neměly normalizovat. Sloupce vždy pečlivě zkontrolujte.

    Pokud nejsou zjištěny žádné číselné sloupce, zkontrolujte metadata sloupce a ověřte, že datový typ sloupce je podporovaný číselný typ.

    Tip

    Pokud chcete zajistit, aby jako vstup byly poskytnuty sloupce určitého typu, zkuste použít komponentu Vybrat sloupce v datové sadě před normalizací dat.

  4. Použít 0 pro konstantní sloupce, pokud je zaškrtnuté: Tuto možnost vyberte, pokud libovolný číselný sloupec obsahuje jednu neměnnou hodnotu. Tím se zajistí, že se tyto sloupce nebudou používat v normalizačních operacích.

  5. V rozevíracím seznamu Metoda transformace zvolte jednu matematickou funkci, která se použije u všech vybraných sloupců.

    • Zscore: Převede všechny hodnoty na skóre z.

      Hodnoty ve sloupci se transformují pomocí následujícího vzorce:

      normalizace pomocí skóre z

      Střední hodnota a směrodatná odchylka se počítají pro každý sloupec zvlášť. Použije se směrodatná odchylka základního souboru.

    • MinMax: Normalizátor min-max lineárně přeškálí každou funkci na interval [0,1].

      Změna měřítka na interval [0,1] se provádí posunutím hodnot jednotlivých prvků tak, aby minimální hodnota byla 0, a potom vydělením novou maximální hodnotou (což je rozdíl mezi původními maximálními a minimálními hodnotami).

      Hodnoty ve sloupci se transformují pomocí následujícího vzorce:

      normalizace pomocí funkce min-max

    • Logistická: Hodnoty ve sloupci se transformují pomocí následujícího vzorce:

      vzorec pro normalizaci podle logistické funkce

    • LogNormal:Tato možnost převede všechny hodnoty na logaritmicko-normální měřítko.

      Hodnoty ve sloupci se transformují pomocí následujícího vzorce:

      vzorec rozdělení log-normal

      Zde μ a σ jsou parametry rozdělení vypočítané empiricky z dat jako odhady maximální pravděpodobnosti pro každý sloupec zvlášť.

    • TanH: Všechny hodnoty se převedou na hyperbolický tangens.

      Hodnoty ve sloupci se transformují pomocí následujícího vzorce:

      normalizace pomocí funkce tanh

  6. Odešlete kanál nebo poklikejte na komponentu Normalizovat data a vyberte Spustit vybrané.

Výsledky

Komponenta Normalizovat data generuje dva výstupy:

  • Pokud chcete zobrazit transformované hodnoty, klikněte pravým tlačítkem na komponentu a vyberte Vizualizovat.

    Ve výchozím nastavení se hodnoty transformují na místě. Pokud chcete porovnat transformované hodnoty s původními hodnotami, použijte komponentu Přidat sloupce k opětovnému zkombinování datových sad a zobrazení sloupců vedle sebe.

  • Pokud chcete transformaci uložit, abyste mohli použít stejnou metodu normalizace na jinou datovou sadu, vyberte komponentu a na kartě Výstupy na pravém panelu vyberte Zaregistrovat datovou sadu.

    Uložené transformace pak můžete načíst ze skupiny Transformace v levém navigačním podokně a použít je na datovou sadu se stejným schématem pomocí možnosti Použít transformaci.

Další kroky

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