Posílený rozhodovací strom se dvěma třídami

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ří binární klasifikátor pomocí zesíleného algoritmu rozhodovacího stromu.

kategorie: Machine Learning/inicializovat Model/klasifikace

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 v Machine Learning studiu (classic) použít modul pro zvýšení rozhodovacího stromu se dvěma třídami a vytvořit model strojového učení, který je založený na algoritmu posílených rozhodovacích stromů.

Posílený rozhodovací strom je metoda učení kompletu, ve které druhý strom opravuje chyby prvního stromu, třetí strom pro chyby první a druhé stromy a tak dále. Předpovědi jsou založené na celé kompletování stromů dohromady, které tvoří předpověď. Další technické informace najdete v části věnované výzkumu tohoto článku.

Obecně platí, že při správné konfiguraci jsou posílené rozhodovací stromy nejjednodušším způsobem, kterým získáte nejvyšší výkon nejrůznějších úloh strojového učení. Jsou to však také jedním z dalších učí náročných na paměť a aktuální implementace uchovává vše v paměti. Proto je možné, že model zesíleného rozhodovacího stromu nebude schopen zpracovat velmi velké datové sady, které mohou zpracovávat lineární učí.

Postup konfigurace Two-Class zvýšení rozhodovacího stromu

Tento modul vytváří nevlakový model klasifikace. Vzhledem k tomu, že klasifikace je metoda učení pod dohledem, budete potřebovat datovou sadu s příznakem , která obsahuje sloupec popisku s hodnotou pro všechny řádky.

Tento typ modelu můžete vyladit buď pomocí modulů vlaků , nebo v modulech s moduly předparametrů ladění modelu .

  1. v Machine Learning studiu (classic) přidejte do experimentu modul zesíleného rozhodovacího stromu .

  2. Určete, jak chcete model vyškolet nastavením možnosti vytvořit Trainer režim .

    • Jediný parametr: Pokud víte, jak chcete model konfigurovat, můžete zadat konkrétní sadu hodnot jako argumenty.

    • Rozsah parametrů: Pokud si nejste jisti nejlepšími parametry, můžete najít optimální parametry pomocí modulu ladit model parametrů . Poskytnete určitou škálu hodnot a Trainer iterovat více kombinací nastavení a určí kombinaci hodnot, které vytvářejí nejlepší výsledek.

  3. U maximálního počtu pochodů na stromurčete maximální počet uzlů terminálu (opustí), které je možné vytvořit v jakémkoli stromu.

    Zvýšením této hodnoty můžete zvýšit velikost stromu a dosáhnout lepší přesnosti, a to na riziko přebudování a delší dobu školení.

  4. Pro minimální počet vzorků na uzel listuurčete počet případů vyžadovaných k vytvoření libovolného uzlu terminálu (list) ve stromu.

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

  5. do Učení frekvencezadejte číslo mezi 0 a 1, které definuje velikost kroku při učení.

    Studijní frekvence určuje, jak rychle nebo pomalu se učí sblížení s optimálním řešením. Pokud je velikost kroku příliš velká, můžete optimální řešení vyhodnotit. Pokud je velikost kroku příliš malá, školení trvá déle, než se sblížení dostanou na nejlepší řešení.

  6. Pro počet konstruovaných stromůurčete celkový počet rozhodovacích stromů, které se mají v kompletu vytvořit. Vytvořením dalších rozhodovacích stromů můžete získat lepší pokrytí, ale čas školení se zvýší.

    Tato hodnota také určuje počet stromů zobrazených při vizualizaci výukového modelu. Pokud chcete zobrazit nebo vytisknout jeden strom, nastavte hodnotu na 1. Nicméně když to uděláte, vytvoří se jenom jeden strom (strom s počáteční sadou parametrů) a žádné další iterace se neprovádí.

  7. V případě náhodného čísla počátečníhodnota zadejte nezáporné celé číslo, které chcete použít jako hodnotu náhodného osazení. Určení počáteční hodnoty zajišťuje reprodukovatelnost v různých spuštěních, která mají stejná data a parametry.

    Náhodné osazení je ve výchozím nastavení nastaveno na hodnotu 0, což znamená, že počáteční počáteční hodnota se získá ze systémových hodin. Po sobě jdoucí běhy s náhodným osivem můžou být odlišné výsledky.

  8. Pokud chcete vytvořit skupinu pro neznámé hodnoty v rámci školicích a ověřovacích sad, vyberte možnost Allow Unknown kategorií úrovně .

    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 povolíte neznámé hodnoty, model může být pro známé hodnoty méně přesný, ale u nových (neznámých) hodnot pravděpodobně může poskytovat lepší předpovědi.

  9. Proveďte výuku modelu.

    • Pokud nastavíte režim vytvořit Trainer na jeden parametr, připojíte tagované datové sady a modul vlakového modelu .

    • Pokud nastavíte režim vytvořit Trainer na rozsah parametrů, připojíte s příznakovou datovou sadu a provedete model pomocí předparametrů ladit model.

    Poznámka

    Pokud předáte rozsah parametru pro vlakový model, použije se pouze první hodnota v seznamu rozsah parametrů.

    Pokud předáte jednu sadu hodnot parametrů do modulu předparametrů modelu ladění , když očekává rozsah nastavení pro každý parametr, ignoruje hodnoty a použije výchozí hodnoty pro učit se.

    Pokud vyberete možnost rozsahu parametrů a zadáte jednu hodnotu pro libovolný parametr, tato jediná hodnota, kterou jste zadali, se použije v celém oblouku, a to i v případě, že se jiné parametry mění v rozsahu hodnot.

Výsledky

Po dokončení školení:

  • Pokud chcete zobrazit strom, který byl vytvořen při každé iteraci, klikněte pravým tlačítkem na modul výuka modelů a vyberte trained model , který chcete vizualizovat. Pokud používáte parametry modelu ladění, klikněte pravým tlačítkem na modul a vyberte vyškolený nejlepší model , abyste mohli vizualizovat nejlepší model.

    Kliknutím na jednotlivé stromové struktury přejdete k podrobnostem o rozdělení a uvidíte pravidla pro každý uzel.

  • Chcete-li použít model pro bodování, připojte ho k modelu skórea předpovídat hodnoty pro nové vstupní příklady.

Příklady

Příklady toho, jak se ve službě Machine Learning používají zesílené rozhodovací stromy, najdete v Azure AI Gallery:

  • Přímý marketing: používá pro předpověď zákaznických appetency algoritmus pro zvýšení rozhodovacího stromu se dvěma třídami .

  • Předpověď zpoždění letu: v této ukázce se používá algoritmus pro zvýšení rozhodovacího stromu se dvěma třídami k určení, jestli je pravděpodobný zpoždění letu.

  • Riziko platební karty: v této ukázce se pro předpověď rizika používá algoritmus pro zvýšení rozhodovacího stromu se dvěma třídami .

Technické poznámky

Tato část obsahuje podrobné informace o implementaci a nejčastější dotazy.

Tipy k použití

  • Chcete-li vytvořit zesílený model rozhodovacího stromu, je nutné zadat více instancí dat. Pokud datová sada obsahuje příliš málo řádků, generuje se během školicího procesu chyba.

  • Pokud vaše data postrádá hodnoty, je nutné přidat indikátory pro funkce.

  • Obecně zvyšují rozhodovací stromy lepší výsledky, pokud se funkce trochu vztahují. Pokud funkce mají velký stupeň entropie (to znamená, že nejsou v relaci), sdílí malé nebo žádné vzájemné informace a seřadí je ve stromové struktuře, nepřinese spoustu prediktivního významnosti. V takovém případě se můžete pokusit vytvořit náhodný model doménové struktury.

    Zvýšení úrovně funguje i v případě, že máte mnoho dalších příkladů než funkcí, protože model je náchylný k přebudování.

  • Nenormalizujte datovou sadu. Vzhledem k tomu, že zpracování funkcí je jednoduché, neshodné, méně než nebo větší než porovnání, normalizace nebo jakákoli forma funkce transformace, která není monotónní, může mít malý účinek.

  • Funkce jsou diskretizovaný a rozdělený před školeními, takže se považují jenom relativně malá sada kandidátů na prahové hodnoty, a to i pro průběžné funkce.

Podrobnosti o implementaci

Podrobné informace o algoritmu zesíleného rozhodovacího stromu naleznete v tématu aproximace funkce hladce: přechodové počítače.

algoritmus zesíleného rozhodovacího stromu v Machine Learning používá následující metodu zvýšení úrovně:

  1. Začněte s prázdným kompletem slabých učících.

  2. Pro každý školicí příklad Získejte aktuální výstup kompletu. Toto je součet výstupů všech slabých učí v kompletu.

  3. Vypočítá přechod funkce ztráty pro každý příklad.

    To závisí na tom, zda je úkol binárním problémem klasifikace nebo regresním problémem.

    • V binárním klasifikačním modelu se používá ztráta protokolu, podobně jako v logistické regresi.

    • V modelu regrese se používá čtvercová ztráta a přechod je aktuální výstup, mínus cíl).

  4. Použijte příklady k přizpůsobení slabému seznámenípomocí barevného přechodu, který je právě definován jako cílová funkce.

  5. Přidejte tento slabý učí do kompletu se silným přístupným kurzů a v případě potřeby přejít na krok 2.

    V této implementaci jsou slabými seznámími s nejmenšími čtverci regrese na základě přechodů vypočítaných v kroku 3. Na stromy se vztahují následující omezení:

    • Trénuje se až do maximálního počtu listů.

    • Každý list má minimální počet příkladů, které se mají chránit před přeučením.

    • Každý rozhodovací uzel je jedna funkce, která se porovnává s nějakou prahovou hodnotou. Pokud je tato funkce nižší nebo rovna prahové hodnotě, přejde o jednu cestu dolů, a pokud je větší než prahová hodnota, přejde dolů druhou cestou.

    • Každý uzel typu list je konstantní hodnota.

  6. Algoritmus pro vytváření stromové struktury greedly vybírá funkci a prahovou hodnotu, pro kterou rozdělení minimalizuje squarední ztrátu s ohledem na přechod vypočítaný v kroku 3. Výběr rozdělení podléhá minimálnímu počtu tréninkových příkladů na list.

    Algoritmus se opakovaně rozdělí, dokud nedosáhne maximálního počtu listů nebo dokud není k dispozici žádné platné rozdělení.

Parametry modulu

Name Rozsah Typ Výchozí Description
Maximální počet listů na strom >=1 Integer 20 Určení maximálního povoleného počtu listů na strom
Minimální počet vzorků na uzel typu list >=1 Integer 10 Určení minimálního počtu případů požadovaných k vytvoření listu
Rychlost učení [double. Epsilon, 1.0] Float 0.2 Určení počáteční rychlosti učení
Počet vytvořených stromů >=1 Integer 100 Zadejte maximální počet stromů, které je možné během trénování vytvořit.
Přediména náhodného čísla Všechny Integer Zadejte hodnotu, která se použije pro generátor náhodných čísel používaný modelem. Ponechte výchozí hodnotu prázdnou.
Povolit neznámé úrovně kategorií Všechny Logická hodnota Ano Pokud je true, vytvoří se pro každý sloupec kategorií další úroveň. Všechny úrovně v testovací datové sadě, které nejsou k dispozici v trénovací datové sadě, se mapují na tuto další úroveň.

Výstup

Název Typ Description
Model bez trénování ILearner – rozhraní Model binární klasifikace bez trénování

Viz také

Classification
Posílená regrese rozhodovacího stromu
Seznam modulů A až Z