Algoritmus rozhodovacích stromů 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ích stromů Microsoft je klasifikační a regresní algoritmus pro použití při prediktivním modelování diskrétních i průběžných atributů.

U diskrétních atributů algoritmus vytváří předpovědi na základě vztahů mezi vstupními sloupci v datové sadě. Algoritmus používá hodnoty nebo stavy těchto sloupců k predikci stavů sloupce, který určíte jako předvídatelný. Konkrétně algoritmus identifikuje vstupní sloupce, které korelují s předvídatelným sloupcem.

Například ve scénáři, ve kterém se dá předpovědět, kteří zákazníci budou pravděpodobně kupovat kolo, pokud devět z deseti mladších zákazníků, ale jenom dva z deseti starších zákazníků si koupí kolo, algoritmus odvodí, že věk je dobrým prediktorem nákupu jízdních kol. Rozhodovací strom vytváří předpovědi na základě této tendenci k určitému výsledku.

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

Pokud je nastaveno více než jeden sloupec na předvídatelné nebo pokud vstupní data obsahují vnořenou tabulku, která je nastavená na předvídatelnou, algoritmus vytvoří samostatný rozhodovací strom pro každý předvídatelný sloupec.

Example

Marketingové oddělení společnosti Adventure Works Cycles chce identifikovat charakteristiky předchozích zákazníků, které by mohly indikovat, jestli si tito zákazníci budou pravděpodobně produkt kupovat v budoucnu. Databáze AdventureWorks2012 ukládá demografické informace, které popisují předchozí zákazníky. Pomocí algoritmu rozhodovacích stromů Microsoft k analýze těchto informací může marketingové oddělení vytvořit model, který předpovídá, jestli konkrétní zákazník bude nakupovat produkty na základě stavů známých sloupců o daném zákazníkovi, jako jsou demografické údaje nebo vzorce nákupu v minulosti.

Jak algoritmus funguje

Algoritmus rozhodovacích stromů Microsoft vytvoří model dolování dat vytvořením řady rozdělení ve stromu. Tyto rozdělení jsou reprezentovány jako uzly. Algoritmus přidá do modelu uzel pokaždé, když najde vstupní sloupec, který výrazně koreluje s předvídatelným sloupcem. Způsob, jakým algoritmus určuje rozdělení, se liší v závislosti na tom, jestli predikuje souvislý sloupec nebo diskrétní sloupec.

Algoritmus rozhodovacích stromů Microsoft používá výběr funkcí k vodítku výběru nejužitečnějších atributů. Všechny algoritmy dolování dat v SQL Serveru používají výběr příznaků ke zlepšení výkonu a kvality analýzy a k tomu, aby nepodstatné atributy nevyužívaly čas procesoru. Pokud při návrhu modelu dolování dat použijete příliš mnoho vstupních nebo předvídatelných atributů, může zpracování modelu trvat dlouho nebo mu může dojít paměť. Metody používané k určení, zda strom rozdělit, zahrnují standardní oborové metriky pro entropii a bayesovské sítě. Další informace o metodách používaných k výběru smysluplných atributů a následnému určení skóre a hodnocení atributů naleznete v tématu Výběr funkcí (Dolování dat).

Běžným problémem u modelů pro dolování dat je, že se model stává příliš citlivým na malé rozdíly v trénovacích datech, čemuž se říká přeučený nebo přetrénovaný. Pře fitovaný model nelze generalizovat do jiných datových sad. Aby se zabránilo přeurčení určité sady dat, algoritmus rozhodovacích stromů Microsoft používá techniky pro řízení růstu stromu. Podrobné vysvětlení toho, jak algoritmus rozhodovacích stromů Microsoft funguje, najdete v technických referenčních informacích k Microsoft algoritmu rozhodovacích stromů.

Predikce diskrétních sloupců

Algoritmus rozhodovacích stromů Microsoft vytvoří strom pro diskrétní předvídatelný sloupec pomocí histogramu. Následující diagram znázorňuje histogram, který vykreslí předvídatelný sloupec Bike Buyer proti vstupnímu sloupci Age. Histogram ukazuje, že věk osoby pomáhá rozlišit, jestli si tato osoba koupí jízdní kolo.

Snímek obrazovky s histogramem z algoritmu rozhodovacích stromů Microsoft

Korelace zobrazená v diagramu způsobí, že algoritmus rozhodovacích stromů Microsoft vytvoří v modelu nový uzel.

Snímek obrazovky s uzlem rozhodovacího stromu

Když algoritmus přidá do modelu nové uzly, vytvoří stromovou strukturu. Horní uzel stromu popisuje rozdělení predikovaného sloupce pro celkovou populaci zákazníků. S tím, jak model stále roste, algoritmus bere v úvahu všechny sloupce.

Predikce souvislých sloupců

Když algoritmus rozhodovacích stromů Microsoft vytvoří strom založený na souvislém předvídatelném sloupci, každý uzel obsahuje regresní vzorec. Rozdělení se vyskytuje v bodě nelinearity ve vzorci regrese. Představte si například následující diagram.

Snímek obrazovky s několika regresními čárami zobrazující nelinearitu

Standardní regresní model se pokusí odvodit jeden vzorec, který představuje trend a relace dat jako celku. Jeden vzorec ale může udělat špatnou úlohu zachycení nesouvisenosti ve složitých datech. Místo toho algoritmus rozhodovacích stromů Microsoft hledá segmenty stromu, které jsou z velké části lineární, a vytváří pro tyto segmenty samostatné vzorce. Rozdělením dat do různých segmentů může model lépe postupovat při odhadování dat.

Následující diagram představuje stromový diagram modelu v předchozím bodovém grafu. K predikci výsledku model poskytuje dva různé vzorce: jeden pro levou větev se vzorcem y = 5x x 5 a druhý pro pravou větev se vzorcem y = 0 = 0 ,25x + 8,75. Bod, kde se obě čáry scházejí v bodovém grafu, je bod nelinearity, kdy se uzel v modelu rozhodovacího stromu rozdělí.

Snímek obrazovky rovnice, která představuje bod nelinearity

Tento model je jednoduchý pouze se dvěma lineárními rovnicemi, takže rozdělení stromu je hned za uzlem Vše . Rozdělení však může nastat na libovolné úrovni stromu. Ve stromu obsahujícím více úrovní a uzlů, kde je každý uzel charakterizován jinou kolekcí atributů, může být vzorec sdílen napříč více uzly nebo se vztahuje pouze na jeden uzel.

Můžete například získat jeden vzorec pro uzel definovaný jako "zákazníci v určitém věku a příjmu" a jiný v uzlu, který představuje "zákazníky, kteří dojížděli na dlouhé vzdálenosti". Pokud chcete zobrazit vzorec pro jednotlivé uzly nebo segmenty, vyberte uzel.

Data požadovaná pro modely rozhodovacího stromu

Když připravíte data pro použití v modelu rozhodovacího stromu, porozumíte požadavkům konkrétního algoritmu, včetně toho, kolik dat potřebuje a jak data používají.

Požadavky na model rozhodovacího stromu jsou následující:

  • Jeden klíčový sloupec. Každý model musí obsahovat jeden číselný nebo textový sloupec, který jednoznačně identifikuje každý záznam. Složené klíče nejsou povolené.

  • Předvídatelný sloupec. Model vyžaduje alespoň jeden předvídatelný sloupec. Do modelu můžete zahrnout více předvídatelných atributů a předvídatelné atributy můžou být různé typy, buď číselné, nebo diskrétní. Zvýšení počtu předvídatelných atributů může zvýšit dobu zpracování.

  • Vstupní sloupce Model vyžaduje vstupní sloupce, které můžou být diskrétní nebo souvislé. Zvýšení počtu vstupních atributů ovlivňuje dobu zpracování.

Podrobné informace o podporovaných typech obsahu a datových typech pro modely rozhodovacích stromů naleznete v části Požadavky v dokumentu Technická referenční příručka k algoritmu Microsoft Decision Trees.

Zobrazení modelu rozhodovacího stromu

Pokud chcete model prozkoumat, použijte prohlížeč stromové struktury Microsoft. Pokud váš model generuje více stromů, můžete vybrat strom a zobrazit rozpis způsobu kategorizace případů pro každý předvídatelný atribut. Interakci stromů můžete také zobrazit pomocí prohlížeče sítě závislostí. Další informace naleznete v tématu Procházení modelu pomocí prohlížeče Microsoft Tree Viewer.

Další podrobnosti o libovolné větvi nebo uzlu ve stromu můžete také procházet pomocí nástroje Microsoft Generic Content Tree Viewer. Obsah uložený pro model zahrnuje distribuci všech hodnot v každém uzlu, pravděpodobnosti na každé úrovni stromu a regresní vzorce pro průběžné atributy. Další informace naleznete v tématu Obsah modelu dolování dat pro modely rozhodovacího stromu (Analysis Services - Data Mining).

Vytváření předpovědí

Po zpracování modelu uloží výsledky jako sadu vzorů a statistik. Tyto výsledky můžete použít k prozkoumání relací nebo k předpovědím.

Příklady dotazů, které se mají použít s modelem rozhodovacího stromu, najdete v tématu Příklady dotazů modelu rozhodovacích stromů.

Obecné informace o tom, jak vytvářet dotazy na dolování modelů, naleznete v tématu Dotazy dolování dat.

Poznámky

  • Podporuje použití jazyka PMML (Predictive Model Markup Language) k vytváření dolování modelů.

  • Podporuje podrobnou analýzu.

  • Podporuje použití modelů dolování OLAP a vytváření dimenzí dolování dat.

Viz také

Algoritmy dolování dat (Analysis Services – Dolování dat)
Technické reference k algoritmu Rozhodovací stromy Microsoftu
Příklady dotazů modelu rozhodovacích stromů
Obsah modelu dolování pro modely rozhodovacího stromu (Analysis Services – Dolování dat)