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

Vytvoří binární klasifikátor pomocí zesíleného algoritmu rozhodovacího stromu.

Kategorie: Machine Learning/inicializovat model/klasifikace

Poznámka

Platí pro: Machine Learning Studio (Classic)

Tento obsah se týká pouze studia (Classic). Podobné moduly přetažení byly přidány do návrháře Azure Machine Learning. Další informace najdete v tomto článku porovnávající tyto dvě verze.

Přehled modulu

Tento článek popisuje, jak v Azure Machine Learning Studio (Classic) použít modul posíleného rozhodovacího stromu se dvěma třídami a vytvořit model strojového učení, který je založený na algoritmu zesí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čí.

Další informace o tom, jak zvolit algoritmus, najdete v těchto zdrojích:

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 Azure Machine Learning Studio (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 pole rychlost učenízadejte číslo od 0 do 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í modelů klikněte pravým tlačítkem myši na výstup výukového modelu nebo na parametry modelu ladění , abyste viděli výsledky:

  • Chcete-li zobrazit strom, který byl vytvořen při každé iteraci, vyberte vizualizovat.
  • Chcete-li přejít k podrobnostem o rozdělení a zobrazit pravidla pro každý uzel, klikněte na jednotlivé stromové struktury.

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 implementace

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 Azure 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í:

    • Jsou vyškoleny až do maximálního počtu listů.

    • Každý list má minimální počet příkladů, které je potřeba chránit před příložením.

    • Každý uzel rozhodnutí je jedna funkce, která je porovnána s určitou prahovou hodnotou. Pokud je tato funkce menší nebo rovna prahové hodnotě, dojde k ukončení jedné cesty, a pokud je větší než prahová hodnota, přejdete na jinou cestu.

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

  6. Greedily algoritmu pro vytváření stromové struktury vybere funkci a prahovou hodnotu, pro kterou rozdělení minimalizuje čtvercovou ztrátu s ohledem na přechod vypočítaný v kroku 3. Výběr rozdělení podléhá minimálnímu počtu příkladů cvičení na jeden list.

    Algoritmus se opakovaně rozděluje, 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í Popis
Maximální počet pochodů na strom >= 1 Integer 20 Zadejte maximální počet povolených pochodů na strom.
Minimální počet vzorků na uzel na list >= 1 Integer 10 Zadejte minimální počet případů vyžadovaných k vytvoření listu.
Rychlost učení klepat. Epsilon; 1,0] Float 0,2 Zadat počáteční rychlost učení
Počet konstruovaných stromů >= 1 Integer 100 Zadejte maximální počet stromů, které se dají vytvořit během školení.
Počáteční počáteční číslo Všechny Integer Zadejte hodnotu pro počáteční generátor náhodných čísel, který je používán modelem. Pro výchozí ponechte pole prázdné.
Povolení neznámých úrovní kategorií Všechny Logická hodnota Ano Při hodnotě true se pro každý sloupec kategorií vytvoří další úroveň. Všechny úrovně v testovací sadě, které nejsou k dispozici v datové sadě školení, jsou namapovány na tuto další úroveň.

Výstup

Název Typ Popis
Nevlakový model Rozhraní ILearner Nevýukový binární klasifikační model

Viz také

Mazal
Zvýšila se regrese rozhodovacího stromu.
Seznam modulů a-Z