Technické reference k algoritmu Rozhodovací stromy Microsoftu

Platí pro: SQL Server 2019 a starší služby Analysis Services Azure Analysis Services Fabric/ Power BI Premium

Důležité

Dolování dat bylo v SQL Serveru 2017 Analysis Services zastaralé a nyní ukončeno ve službě SQL Server 2022 Analysis Services. Dokumentace se neaktualizuje pro zastaralé a ukončené funkce. Další informace najdete v tématu Zpětná kompatibilita služby Analysis Services.

Algoritmus Rozhodovací stromy Microsoftu je hybridní algoritmus, který zahrnuje různé metody pro vytvoření stromu a podporuje několik analytických úloh, včetně regrese, klasifikace a přidružení. Algoritmus Rozhodovací stromy Microsoftu podporuje modelování diskrétních i průběžných atributů.

Toto téma vysvětluje implementaci algoritmu, popisuje, jak přizpůsobit chování algoritmu pro různé úlohy a poskytuje odkazy na další informace o dotazování modelů rozhodovacího stromu.

Implementace algoritmu rozhodovacích stromů

Algoritmus Microsoft Rozhodovací stromy používá bayesovský přístup k učení modelů kauzální interakce tím, že získává přibližné posteriorní distribuce pro tyto modely. Podrobné vysvětlení tohoto přístupu najdete v dokumentu na webu Microsoft Research podle struktury a učení parametrů.

Metodologie pro posouzení hodnoty informací potřebných pro učení vychází z předpokladu pravděpodobnosti ekvivalence. Tento předpoklad říká, že data by neměla pomoci rozlišovat síťové struktury, které jinak představují stejné tvrzení podmíněné nezávislosti. Každý případ se předpokládá, že má jednu bayesianskou předchozí síť a jednu míru spolehlivosti pro tuto síť.

Pomocí těchto předchozích sítí algoritmus vypočítá relativní posteriorní pravděpodobnosti síťových struktur vzhledem k aktuálním trénovacím datům a identifikuje síťové struktury, které mají nejvyšší posteriorní pravděpodobnosti.

Algoritmus Rozhodovací stromy Microsoftu používá k výpočtu nejlepšího stromu různé metody. Použitá metoda závisí na úloze, což může být lineární regrese, klasifikace nebo analýza přidružení. Jeden model může obsahovat více stromů pro různé předvídatelné atributy. Každý strom navíc může obsahovat více větví v závislosti na tom, kolik atributů a hodnot v datech existuje. Tvar a hloubka stromu vytvořeného v určitém modelu závisí na metodě vyhodnocování a dalších použitých parametrech. Změny parametrů můžou také ovlivnit, kde se uzly rozdělí.

Sestavení stromu

Když algoritmus Rozhodovací stromy Microsoftu vytvoří sadu možných vstupních hodnot, provede výběr funkce k identifikaci atributů a hodnot, které poskytují nejvíce informací, a odebere z úvahy hodnoty, které jsou velmi vzácné. Algoritmus také seskupí hodnoty do intervalů a vytvoří seskupení hodnot, které je možné zpracovat jako jednotku pro optimalizaci výkonu.

Strom je vytvořen určením korelací mezi vstupem a cílovým výsledkem. Po korelaci všech atributů algoritmus identifikuje jediný atribut, který nejčistěji odděluje výsledky. Tento bod nejlepšího rozdělení se měří pomocí rovnice, která vypočítá získání informací. Atribut, který má nejlepší skóre pro získání informací, se používá k rozdělení případů na podmnožina, které se pak rekurzivně analyzují stejným procesem, dokud strom už nebude možné rozdělit.

Přesná rovnice použitá k vyhodnocení získání informací závisí na parametrech nastavených při vytváření algoritmu, datovém typu předvídatelného sloupce a datovém typu vstupu.

Diskrétní a souvislé vstupy

Pokud je předvídatelný atribut diskrétní a vstupy jsou diskrétní, počítání výsledků na vstup je otázkou vytvoření matice a generování skóre pro každou buňku v matici.

Pokud je však předvídatelný atribut diskrétní a vstupy jsou spojité, vstup průběžných sloupců se automaticky diskretizuje. Můžete přijmout výchozí hodnotu a nechat sql Server Analysis Services najít optimální počet intervalů, nebo můžete řídit způsob, jakým jsou průběžné vstupy diskretizovány nastavením DiscretizationMethod a DiscretizationBucketCount vlastností. Další informace naleznete v tématu Změna diskretizace sloupce v modelu dolování.

U spojitých atributů algoritmus používá lineární regresi k určení místa, kde se rozhodovací strom rozdělí.

Pokud je předvídatelným atributem souvislý číselný datový typ, použije se pro výstupy i výběr funkce, aby se snížil možný počet výsledků a model se sestavil rychleji. Prahovou hodnotu pro výběr funkce můžete změnit a tím zvýšit nebo snížit počet možných hodnot nastavením parametru MAXIMUM_OUTPUT_ATTRIBUTES.

Metody vyhodnocování a výběr funkcí

Algoritmus Microsoft Decision Trees nabízí tři vzorce pro bodování informačního zisku: Shannonovu entropii, Bayesovskou síť s K2 předpokladem a Bayesovskou síť s jednotným Dirichletovým rozložením předpokladů. Všechny tři metody jsou dobře zavedeny v oblasti dolování dat. Doporučujeme experimentovat s různými parametry a metodami bodování, abyste zjistili, které výsledky jsou nejlepší. Další informace o těchto metodách bodování naleznete v tématu Výběr funkce.

Všechny algoritmy dolování dat služby SQL Server Analysis Services automaticky používají výběr funkcí ke zlepšení analýzy a snížení zatížení zpracování. Metoda použitá pro výběr funkce závisí na algoritmu, který se používá k sestavení modelu. Parametry algoritmu, které řídí výběr funkcí pro model rozhodovacích stromů, jsou MAXIMUM_INPUT_ATTRIBUTES a MAXIMUM_OUTPUT.

Algorithm Metoda analýzy Comments
Rozhodovací stromy Skóre zajímavosti

Shannonův entropie

Bayesian s K2 prior distribuční funkcí

Bayesovský Dirichlet s uniformní apriorní pravděpodobností (výchozí)
Pokud některé sloupce obsahují nebinární souvislé hodnoty, použije se pro všechny sloupce skóre zajímavého zájmu, aby byla zajištěna konzistence. V opačném případě se použije výchozí nebo zadaná metoda.
Lineární regrese Skóre zajímavosti Lineární regrese používá pouze zajímavost, protože podporuje pouze kontinuální sloupce.

Škálovatelnost a výkon

Klasifikace je důležitá strategie dolování dat. Obecně platí, že množství informací potřebných ke klasifikaci případů roste přímo v poměru k počtu vstupních záznamů. Tím se omezí velikost dat, která je možné klasifikovat. Algoritmus Rozhodovací stromy Společnosti Microsoft používá následující metody k řešení těchto problémů, zlepšení výkonu a odstranění omezení paměti:

  • Výběr funkce pro optimalizaci výběru atributů

  • Bayesovské bodování pro řízení růstu stromu.

  • Optimalizace binningu pro průběžné atributy

  • Dynamické seskupení vstupních hodnot pro určení nejdůležitějších hodnot

Algoritmus Rozhodovací stromy Microsoftu je rychlý a škálovatelný a byl navržen tak, aby byl snadno paralelizován, což znamená, že všechny procesory spolupracují na vytvoření jednoho konzistentního modelu. Kombinací těchto charakteristik je klasifikátor rozhodovacího stromu ideální nástroj pro dolování dat.

Pokud jsou omezení výkonu závažná, můžete během trénování modelu rozhodovacího stromu zlepšit dobu zpracování pomocí následujících metod. Pokud to ale uděláte, mějte na paměti, že odstranění atributů za účelem zlepšení výkonu zpracování změní výsledky modelu a může být méně reprezentativní pro celkový počet obyvatel.

  • Zvyšte hodnotu parametru COMPLEXITY_PENALTY, aby se omezil růst stromu.

  • Omezte počet položek v modelech přidružení, abyste omezili počet vytvořených stromů.

  • Zvyšte hodnotu parametru MINIMUM_SUPPORT, abyste se vyhnuli přeurčení.

  • Omezte počet diskrétních hodnot pro libovolný atribut na 10 nebo méně. Můžete zkusit seskupit hodnoty různými způsoby v různých modelech.

    Poznámka:

    Pomocí nástrojů pro zkoumání dat dostupných v SQL Serveru 2017 Integration Services (SSIS) můžete vizualizovat distribuci hodnot v datech a odpovídajícím způsobem seskupit hodnoty před zahájením dolování dat. Další informace naleznete v tématu Úloha Profilace Dat a Prohlížeč. Pomocí doplňků pro dolování dat pro Excel 2007 můžete také zkoumat, seskupovat a přejmenovávat data v Microsoft Excelu.

Přizpůsobení algoritmu rozhodovacích stromů

Algoritmus Rozhodovací stromy Microsoftu podporuje parametry, které ovlivňují výkon a přesnost výsledného modelu dolování. Můžete také nastavit příznaky modelování ve sloupcích modelu dolování nebo sloupcích struktury dolování, abyste mohli řídit způsob zpracování dat.

Poznámka:

Algoritmus Rozhodovací stromy Microsoftu je k dispozici ve všech edicích SQL Serveru; Některé pokročilé parametry pro přizpůsobení chování algoritmu Microsoft Decision Trees jsou však k dispozici pouze v konkrétních edicích SQL Serveru. Seznam funkcí podporovaných edicemi SQL Serveru najdete v tématu Funkce podporované edicemi SQL Serveru 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

Nastavení parametrů algoritmu

Následující tabulka popisuje parametry, které můžete použít s algoritmem Microsoft Decision Trees.

penalizační koeficient složitosti
Řídí růst rozhodovacího stromu. Nízká hodnota zvyšuje počet rozdělení a vysoká hodnota snižuje počet rozdělení. Výchozí hodnota je založená na počtu atributů pro konkrétní model, jak je popsáno v následujícím seznamu:

  • Pro atributy 1 až 9 je výchozí hodnota 0,5.

  • Pro atributy 10 až 99 je výchozí hodnota 0,9.

  • Pro 100 nebo více atributů je výchozí hodnota 0,99.

FORCE_REGRESSOR
Vynutí algoritmus použití zadaných sloupců jako regresorů bez ohledu na důležitost sloupců vypočítaných algoritmem. Tento parametr se používá pouze pro rozhodovací stromy, které predikují souvislý atribut.

Poznámka:

Nastavením tohoto parametru vynutíte, aby se algoritmus pokusil použít atribut jako regresor. Jestli se ale atribut ve skutečnosti používá jako regresor v konečném modelu, závisí na výsledcích analýzy. Pomocí dotazu na obsah modelu můžete zjistit, které sloupce se použily jako regresory.

[K dispozici pouze v některých edicích SQL Serveru ]

MAXIMÁLNÍ_VSTUPNÍ_ATTRIBUTY
Definuje počet vstupních atributů, které může algoritmus zpracovat, než vyvolá výběr funkce.

Výchozí hodnota je 255.

Nastavením této hodnoty na hodnotu 0 vypnete výběr funkcí.

[K dispozici pouze v některých edicích SQL Serveru]

MAXIMUM_OUTPUT_ATTRIBUTES
Definuje počet výstupních atributů, které může algoritmus zpracovat předtím, než vyvolá výběr funkce.

Výchozí hodnota je 255.

Nastavením této hodnoty na hodnotu 0 vypnete výběr funkcí.

[K dispozici pouze v některých edicích SQL Serveru]

MINIMUM_SUPPORT
Určuje minimální počet případů typu list, které je nutné k vygenerování rozdělení v rozhodovacím stromu.

Výchozí hodnota je 10.

Tuto hodnotu možná budete muset zvýšit, pokud je datová sada velmi velká, abyste se vyhnuli přetrénování.

SCORE_METHOD
Určuje metodu, která se používá k výpočtu rozděleného skóre. K dispozici jsou následující možnosti:

ID Název
1 Entropie
3 Bayesian s K2 prior distribuční funkcí
4 Bayesovský Dirichletův ekvivalent (BDE) s jednotným priori

(default)

Výchozí hodnota je 4 nebo BDE.

Vysvětlení těchto metod bodování najdete v tématu Výběr funkce.

SPLIT_METHOD
Určuje metodu, která se používá k rozdělení uzlu. K dispozici jsou následující možnosti:

ID Název
1 Binární: Označuje, že bez ohledu na skutečný počet hodnot atributu by měl být strom rozdělen do dvou větví.
2 Kompletní: Označuje, že strom může vytvořit tolik rozdělení, kolik existuje hodnot atributů.
3 Obojí: Určuje, že služba Analysis Services může určit, jestli se má k dosažení nejlepších výsledků použít binární nebo úplné rozdělení.

Výchozí hodnota je 3.

Příznaky modelování

Algoritmus Rozhodovací stromy Microsoftu podporuje následující příznaky modelování. Při vytváření datové struktury nebo dolovacího modelu definujete příznaky modelování k určení, jak se hodnoty v jednotlivých sloupcích zpracovávají při analýze. Další informace naleznete v tématu Modeling Flags (Data Mining).

Příznak modelování Description
MODEL_EXISTENCE_ONLY Znamená, že se sloupec bude považovat za dva možné stavy: Chybějící a Existující. Hodnota null chybí.

Platí pro sloupce modelu dolování.
NESMÍ BÝT NULL Označuje, že sloupec nemůže obsahovat hodnotu null. Pokud služba Analysis Services během trénování modelu narazí na hodnotu null, dojde k chybě.

Platí pro sloupce struktury dolování.

Regresory v modelech rozhodovacího stromu

I když nepoužíváte algoritmus lineární regrese Microsoftu, může jakýkoli model rozhodovacího stromu, který má souvislé číselné vstupy a výstupy, potenciálně zahrnovat uzly, které představují regresi u spojitého atributu.

Nemusíte zadávat, že sloupec souvislých číselných dat představuje regresor. Algoritmus Rozhodovací stromy Microsoftu automaticky použije sloupec jako potenciální regresor a rozdělí datovou sadu do oblastí smysluplnými vzory, i když ve sloupci nenastavíte příznak REGRESSOR.

Pomocí parametru FORCE_REGRESSOR ale můžete zaručit, že algoritmus použije konkrétní regresor. Tento parametr lze použít pouze s algoritmy Microsoft Decision Trees a Microsoft Linear Regression. Při nastavování příznaku modelování se algoritmus pokusí najít regresní rovnice formuláře a*C1 + b*C2 + ... tak, aby odpovídaly vzorům v uzlech stromu. Součet reziduí se vypočítá a pokud je odchylka příliš velká, je vynuceno rozdělení ve stromu.

Pokud například předpovídáte chování zákazníků při nákupu pomocí příjmu jako atributu a nastavíte příznak modelování REGRESSOR ve sloupci, algoritmus se nejprve pokusí přizpůsobit hodnoty příjmů pomocí standardního regresního vzorce. Pokud je odchylka příliš velká, vzorec regrese je opuštěn a strom se rozdělí na jiný atribut. Algoritmus rozhodovacího stromu se pak pokusí přizpůsobit regresor pro příjem v každé větvi po rozdělení.

Požadavky

Model rozhodovacího stromu musí obsahovat klíčový sloupec, vstupní sloupce a alespoň jeden předvídatelný sloupec.

Vstupní a předvídatelné sloupce

Algoritmus Rozhodovací stromy Microsoftu podporuje konkrétní vstupní sloupce a předvídatelné sloupce uvedené v následující tabulce. Další informace o tom, co typy obsahu znamenají při použití v modelu dolování, naleznete v tématu Typy obsahu (Dolování dat).

Sloupec Typy obsahu
Vstupní atribut Nepřetržitý, Cyklický, Diskrétní, Diskretizovaný, Klíč, Seřazený, Tabulka
Předvídatelný atribut Nepřetržité, Cyklické, Diskrétní, Diskretizované, Seřazené, Tabulka

Poznámka:

Cyklické a seřazené typy obsahu jsou podporovány, ale algoritmus je považuje za diskrétní hodnoty a neprovádí speciální zpracování.

Viz také

Algoritmus rozhodovacích stromů Microsoftu
Příklady dotazů modelu rozhodovacích stromů
Obsah modelu dolování pro modely rozhodovacího stromu (Analysis Services – Dolování dat)