Sdílet prostřednictvím


Rychlá kvantilová regrese rozhodovacích stromů

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.

Vytvoří kvantilový regresní model.

Kategorie: Machine Learning / Inicializace modelu / regrese

Poznámka

Platí pro: Machine Learning Studio (classic)

Podobné moduly s přetahováním jsou k dispozici v Azure Machine Learning návrháři.

Přehled modulu

Tento článek popisuje, jak pomocí modulu Rychlá kvantilová regrese doménové struktury v Machine Learning Studiu (klasickém) vytvořit regresní model, který dokáže predikovat hodnoty pro zadaný počet kvantilí.

Kvantilová regrese je užitečná, pokud chcete lépe porozumět rozdělení předpovězené hodnoty, a ne získat jednu střední prediktivní hodnotu. Tato metoda má mnoho aplikací, včetně:

  • Predikce cen

  • Odhad výkonu studentů nebo použití grafů růstu k vyhodnocení vývoje dítěte

  • Zjišťování prediktivních relací v případech, kdy existuje pouze slabý vztah mezi proměnnými

Tento regresní algoritmus je metoda učení pod dohledem, což znamená, že vyžaduje datovou sadu se značkou, která obsahuje sloupec popisku. Vzhledem k tomu, že se jedná o regresní algoritmus, musí sloupec popisku obsahovat pouze číselné hodnoty.

Další informace o kvantilové regresi

Existuje mnoho různých typů regrese. V nejzákladnějším smyslu regrese znamená fitování modelu k cíli vyjádřenému jako číselný vektor. Statistiki ale vyvíjejí stále pokročilejší metody regrese.

Nejjednodušší definicí kvantilu je hodnota, která rozděluje sadu dat do stejně velkých skupin. Proto kvantilové hodnoty označují hranice mezi skupinami. Statisticky řečeno jsou kvantily hodnoty převzaté v pravidelných intervalech z inverzní funkce kumulativní distribuční funkce (CDF) náhodné proměnné.

Zatímco modely lineární regrese se snaží předpovědět hodnotu číselné proměnné pomocí jednoho odhadu , průměr, někdy potřebujete předpovědět rozsah nebo celé rozdělení cílové proměnné. Pro tento účel byly vyvinuty techniky, jako je Bayesovská regrese a kvantilová regrese.

Kvantilová regrese vám pomůže pochopit rozdělení předpovězené hodnoty. Modely kvantilové regrese založené na stromové struktuře, jako je ten, který se používá v tomto modulu, mají další výhodu, kterou lze použít k předpovídání neparametrických rozdělení.

Další podrobnosti o implementaci a zdroje informací najdete v části Technické poznámky.

Jak nakonfigurovat Fast_Forest kvantilové regrese

Pomocí tohoto modulu nakonfigurujete vlastnosti regresní modelu a pak ho vytrénujete pomocí jednoho z trénovacích modulů.

Kroky konfigurace se výrazně liší v závislosti na tom, jestli zadáte pevnou sadu parametrů nebo nastavíte úklid parametrů.

Vytvoření kvantilového regresní modelu pomocí pevných parametrů

Za předpokladu, že víte, jak chcete model nakonfigurovat, můžete zadat konkrétní sadu hodnot jako argumenty. Při trénech modelu použijte Trénovat model.

  1. Přidejte modul Fast Forest Quantile Regression (Rychlá kvantilová regrese ) do experimentu v nástroji Studio (classic).

  2. Možnost Vytvořit režim školitele nastavte na Jeden parametr.

  3. Do pole Number of Trees (Počet stromů) zadejte maximální počet stromů, které je možné vytvořit ve směsi. Pokud vytvoříte více stromů, obecně to vede k vyšší přesnosti, ale za cenu delší doby trénování.

  4. Do pole Počet listů zadejte maximální počet listů nebo terminálových uzlů, které lze vytvořit v libovolném stromu.

  5. V části Minimální počet trénovací instance vyžadované k vytvoření listu zadejte minimální počet příkladů, které jsou potřeba k vytvoření libovolného koncového uzlu (list) ve stromu.

    Zvýšením této hodnoty zvýšíte prahovou hodnotu pro vytváření nových pravidel. Například s výchozí hodnotou 1 může i jeden případ způsobit vytvoření nového pravidla. Pokud zvýšíte hodnotu na 5, trénovací data musí obsahovat alespoň 5 případů, které splňují stejné podmínky.

  6. V části Bagging fraction (Zlomek bagging) zadejte číslo mezi 0 a 1, které představuje zlomek vzorků, které se mají použít při vytváření jednotlivých skupin kvantilů. Vzorky se volí náhodně s nahrazením.

  7. Jako zlomek funkce zadejte číslo mezi 0 a 1, které označuje zlomek celkového počtu vlastností, které se mají použít při vytváření konkrétního stromu. Funkce se vždy volí náhodně.

  8. V části Split fraction (Podílový zlomek) zadejte číslo mezi 0 a 1, které představuje zlomek prvků, které se mají použít v každém rozdělení stromu. Použité funkce se vždy volí náhodně.

  9. V části Kvantilový počet vzorků zadejte počet případů, které se mají vyhodnotit při odhadování kvantiles.

  10. Aby se kvantily odhadly, zadejte čárkami oddělený seznam kvantilů, pro které chcete, aby model trénoval a vytvořil predikce.

    Pokud například chcete vytvořit model, který odhadne kvartily, zadejte 0.25, 0.5, 0.75.

  11. Volitelně můžete zadat hodnotu do pole Náhodná čísla, do které se začlení generátor náhodných čísel používaný modelem. Výchozí hodnota je 0, což znamená, že je zvolena náhodná hodnota.

    Pokud potřebujete reprodukovat výsledky napříč po sobě jdoucími spuštěními se stejnými daty, měli byste zadat hodnotu .

  12. Výběrem možnosti Povolit neznámé úrovně kategorií vytvořte skupinu pro neznámé hodnoty.

    Pokud jeho výběr zrušíte, model může přijmout pouze hodnoty, které jsou obsaženy v trénovací data.

    Pokud vyberete tuto možnost, model může být pro známé hodnoty méně přesný, ale může poskytovat lepší předpovědi pro nové (neznámé) hodnoty.

  13. Připojení trénovací datovou sadu, vyberte sloupec s jedním popiskem a připojte trénování modelu.

  14. Spusťte experiment.

Použití úklidu parametrů k vytvoření kvantilového regresní modelu

Pokud si nejste jistí optimálními parametry modelu, můžete nakonfigurovat úklid parametrů a zadat rozsah hodnot jako argumenty. Při trénování modelu použijte modul Vyladit model hyperparametrů .

  1. Přidejte modul Fast Forest Quantile Regression (Rychlá kvantilová regrese ) do experimentu v nástroji Studio (classic).

  2. Možnost Vytvořit režim školitele nastavte na Rozsah parametrů.

    Pokud si nejste jistí nejlepšími parametry, doporučujeme provést úklid parametrů. Zadáním více hodnot a použitím modulu Vyladit model hyperparametrů k trénování modelu můžete najít optimální sadu parametrů pro vaše data.

    Po výběru úklidu parametrů můžete pro každou nastavitelnou vlastnost nastavit buď jednu hodnotu, nebo více hodnot. Můžete se například rozhodnout opravit počet stromů, ale náhodně změnit jiné hodnoty, které řídí způsob, jakým se jednotlivé stromy sestavují.

    • Pokud napíšete jednu hodnotu, použije se tato hodnota ve všech iteracích úklidu i v případě, že se změní jiné hodnoty.

    • Zadejte čárkami oddělený seznam diskrétních hodnot, které se mají použít. Tyto hodnoty se používají v kombinaci s jinými vlastnostmi.

    • Pomocí Tvůrce rozsahů můžete definovat rozsah souvislých hodnot.

    Během procesu trénování modul Vyladění modelu hyperparametrů iteruje různými kombinacemi hodnot a vytváří nejlepší model.

  3. V části Maximální počet listů na strom zadejte celkový počet listů nebo terminálových uzlů, které se mají v každém stromu povolit.

  4. V části Number of trees constructed (Počet vytvořených stromů) zadejte počet iterací, které se při vytváření souboru provede. Vytvořením dalších stromů můžete potenciálně získat lepší pokrytí na úkor zvýšené doby trénování.

  5. V části Minimální počet vzorků na uzel typu list určete, kolik případů je potřeba k vytvoření uzlu typu list.

    Zvýšením této hodnoty zvýšíte prahovou hodnotu pro vytváření nových pravidel. Například s výchozí hodnotou 1 může i jeden případ způsobit vytvoření nového pravidla. Pokud zvýšíte hodnotu na 5, trénovací data musí obsahovat alespoň 5 případů, které splňují stejné podmínky.

  6. Do pole Rozsah pro zlomek bagging zadejte zlomek vzorků, který se má použít při vytváření jednotlivých skupin kvantiles. Vzorky se volí náhodně s nahrazením.

    Každý zlomek by měl být číslo mezi 0 a 1. Více zlomků oddělte čárkami.

  7. Do pole Rozsah pro zlomek prvků zadejte zlomek celkového počtu vlastností, které se mají použít při vytváření jednotlivých skupin kvantilů. Funkce se volí náhodně.

    Každý zlomek by měl být číslo v rozmezí od 0 do 1. oddělte více zlomků čárkami.

  8. V části Rozsah pro dělený zlomek zadejte část vlastností, které se mají použít v každé skupině kvantiles. Skutečné použité funkce se volí náhodně.

    Každý zlomek by měl být číslo mezi 0 a 1. oddělte více zlomků pomocí čárek.

  9. V počtu vzorků, který se používá k odhadování quantiles, určete, kolik vzorků by se mělo vyhodnotit při odhadování quantiles. Pokud zadáte číslo větší než počet dostupných vzorků, použijí se všechny ukázky.

  10. V části požadované hodnoty QuantileZadejte čárkami oddělený seznam quantiles, na který chcete model naučit. Pokud třeba chcete sestavit model, který odhadne Kvartily, měli byste zadat hodnotu 0,25, 0,5, 0,75.

  11. V počátečním čísle náhodného číslazadejte hodnotu pro počáteční generátor náhodných čísel používaný modelem. Použití počáteční hodnoty je užitečné, aby bylo možné reprodukci duplicitních běhů.

    Výchozí hodnota je 0, což znamená, že je zvolen náhodný základ.

  12. Vyberte možnost Povolení neznámých hodnot pro funkce kategorií a vytvořte skupinu pro neznámé hodnoty v rámci školicích nebo ověřovacích sad.

    Pokud zrušíte výběr této možnosti, může model přijímat pouze hodnoty, které jsou obsaženy v školicích datech.

    Pokud vyberete tuto možnost, model může být pro známé hodnoty méně přesný, ale může poskytovat lepší předpovědi pro nové (neznámé) hodnoty.

  13. Připojení datovou sadu školení, vyberte sloupec popisek a připojte modul předparametrů modelu ladění .

    Poznámka

    Nepoužívejte výukový model. Pokud nakonfigurujete rozsah parametru, ale budete ho používat v seznamu rozsah parametrů, použije se jenomprvní hodnota.

  14. Spusťte experiment.

Výsledky

Po dokončení školení:

  • Chcete-li zobrazit konečné parametry optimalizovaného modelu, klikněte pravým tlačítkem na výstup předparametrů modelu ladění a vyberte vizualizovat.

Příklady

Příklady použití tohoto modulu naleznete v Azure AI Gallery:

  • Quantile regrese: ukazuje, jak sestavit a interpretovat regresní model Quantile pomocí datové sady auto Price.

Technické poznámky

Tato část obsahuje podrobné informace o implementaci, tipy a odpovědi na nejčastější dotazy.

Podrobnosti o implementaci

modul rychlé struktury Quantile regrese v Machine Learning je implementace náhodné Quantile regrese doménové struktury pomocí rozhodovacích stromů. Náhodné doménové struktury můžou být užitečné k tomu, abyste se vyhnuli přebudování, které může nastat u rozhodovacích stromů Rozhodovací strom je binární graf toků, ve kterém každý vnitřní uzel Určuje, který ze dvou podřízených uzlů má pokračovat, na základě hodnoty jedné z funkcí vstupu.

V každém listovém uzlu se vrátí hodnota. Ve vnitřních uzlech je rozhodnutí založeno na testu "' x ≤ v ', kde x je hodnota funkce ve vstupní ukázce a v je jedna z možných hodnot této funkce. Funkce, které mohou být vytvořeny pomocí regresní stromové struktury, jsou všechny funkce konstantní.

V náhodné doménové struktuře se vytvoří sada stromů pomocí zaznamenání a vybere podmnožinu náhodných vzorků a funkcí školicích dat a pak přizpůsobí rozhodovacímu stromu pro jednotlivé podmnožiny dat. Na rozdíl od algoritmu náhodné doménové struktury, který průměruje výstup všech stromů, Quantile regrese v rychlé struktuře udržuje všechny předpovězené popisky ve stromech určených parametrem Quantile Count a výstupem distribuce, aby uživatel mohl zobrazit hodnoty Quantile pro danou instanci.

Další informace o regresi Quantile najdete v těchto publikacích a článcích:

Parametry modulu

Název Typ Rozsah Volitelné Description Výchozí
Vytvořit režim Trainer CreateLearnerMode Seznam: jeden parametr | Rozsah parametrů Vyžadováno Jeden parametr Vytvořit rozšířené možnosti nástroje pro učení
Počet stromů Integer Mode: jeden parametr 100 Zadejte počet stromů, které mají být sestaveny.
Počet listů Integer Mode: jeden parametr 20 Zadejte maximální počet pochodů na strom. Výchozí hodnota je 20.
Minimální počet instancí školení potřebných k vytvoření listu Integer Mode: jeden parametr 10 Označuje minimální počet instancí školení potřebných k vytvoření listu.
Zlomek pro zazavazadlí Float Mode: jeden parametr 0.7 Určuje zlomek školicích dat, která se mají použít pro jednotlivé stromové struktury.
Zlomek funkce Float Mode: jeden parametr 0.7 Určuje zlomek funkcí (vybraných náhodně), které se mají použít pro jednotlivé stromové struktury.
Rozdělit zlomky Float Mode: jeden parametr 0.7 Určuje zlomek funkcí (vybraných náhodně), které se mají použít pro každé rozdělení.
Quantile počet vzorků Integer Maximum: 2147483647 Mode: jeden parametr 100 Určuje počet instancí používaných v jednotlivých uzlech k odhadu quantiles.
Quantiles k odhadu Řetězec Mode: jeden parametr "0,25; 0.5; 0,75" Určuje Quantile, který se má odhadnout.
Počáteční počáteční číslo Integer Volitelné Poskytněte základ pro generátor náhodných čísel používaný modelem. Ve výchozím nastavení ponechte prázdné.
Povolení neznámých úrovní kategorií Logická hodnota Vyžadováno true Pokud je true, vytvořte další úroveň pro každý sloupec kategorií. Úrovně v testovací datové sadě, které nejsou k dispozici v trénovací datové sadě, se mapují na tuto další úroveň.
Maximální počet listů na strom ParametrRangeSettings [16;128] mode:Rozsah parametrů 16; 32; 64 Zadejte rozsah maximálního povoleného počtu listů na strom.
Počet vytvořených stromů ParametrRangeSettings [1;256] mode:Rozsah parametrů 16; 32; 64 Zadejte rozsah maximálního počtu stromů, které je možné během trénování vytvořit.
Minimální počet vzorků na uzel typu list ParametrRangeSettings [1;10] mode:Rozsah parametrů 1; 5; 10 Zadejte rozsah minimálního počtu případů požadovaných k vytvoření listu.
Rozsah pro zlomek bagging ParametrRangeSettings [0.25;1.0] mode:Rozsah parametrů 0.25; 0.5; 0.75 Určuje rozsah zlomku trénovací data, která se mají použít pro každý strom.
Rozsah zlomku funkce ParametrRangeSettings [0.25;1.0] mode:Rozsah parametrů 0.25; 0.5; 0.75 Určuje rozsah zlomku prvků (náhodně zvolených), které se mají použít pro každý strom.
Rozsah pro rozdělený zlomek ParametrRangeSettings [0.25;1.0] mode:Rozsah parametrů 0.25; 0.5; 0.75 Určuje rozsah zlomku prvků (náhodně zvolených), které se mají použít pro každé rozdělení.
Počet vzorků používaný k odhadu kvantilů Integer mode:Rozsah parametrů 100 Počet vzorků používaný k odhadu kvantilů
Požadované kvantilové hodnoty Řetězec mode:Rozsah parametrů "0.25;0.5;0.75" Požadovaná kvantilová hodnota použitá při úklidu parametrů

Výstupy

Název Typ Description
Model bez trénování ILearner – rozhraní Model nevytrénované kvantilové regrese, který lze připojit k modulům Trénování obecného modelu nebo Křížové ověření modelu.

Viz také

Regrese