Technické referenční informace k algoritmu přidružení 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 asociace pravidel Microsoft je jednoduchá implementace dobře známého algoritmu Apriori.

Algoritmus rozhodovacích stromů Microsoft i algoritmus pravidel přidružení Microsoft může analyzovat přidružení, ale pravidla, která každý algoritmus najde, se mohou lišit. V modelu rozhodovacích stromů informační zisk určuje rozdělení, která vedou ke konkrétním pravidlům. V modelu přidružení zcela určuje spolehlivost pravidla. Proto nemusí být v modelu přidružení silné pravidlo nebo pravidlo, které má vysokou spolehlivost, nutně zajímavé, protože neposkytuje nové informace.

Implementace algoritmu přidružení Microsoftu

Algoritmus Apriori neanalyzuje vzory. Místo toho vygeneruje a pak spočítá kandidátské sady položek. Položka může představovat událost, produkt nebo hodnotu atributu v závislosti na typu analyzovaných dat.

V nejběžnějším typu asociačního modelu přiřadíte ke každému atributu, například názvu produktu nebo události, logické proměnné, které vyjadřují hodnotu Ano/Ne nebo chybějící/existující. Analýza nákupního košíku na trhu je příkladem modelu pravidel přidružení, který používá logické proměnné k reprezentaci přítomnosti nebo nepřítomnosti konkrétních produktů v nákupním košíku zákazníka.

Pro každou sadu položek algoritmus vytvoří skóre, která představují podporu a spolehlivost. Tato skóre můžete použít k řazení a odvození zajímavých pravidel ze sad položek.

Můžete také vytvořit modely přidružení pro číselné atributy. Pokud jsou atributy kontinuální, můžete je diskretizovat, tedy seskupit čísla do intervalů. Diskretizované hodnoty můžete zpracovat buď jako logické hodnoty, nebo jako páry atribut-hodnota.

Podpora, pravděpodobnost a důležitost

Podpora, někdy označovaná jako frekvence, je počet případů, které obsahují cílovou položku nebo kombinaci položek. Model může obsahovat pouze položky, které mají alespoň zadanou míru podpory.

Sada častých položek je kolekce položek, kde kombinace položek má také podporu nad prahovou hodnotu definovanou parametrem MINIMUM_SUPPORT. Pokud je například sada položek {A,B,C} a hodnota MINIMUM_SUPPORT je 10, musí být každá jednotlivá položka A, B a C nalezena alespoň v 10 případech, aby byla zahrnuta do modelu, a kombinace položek {A,B,C} musí být také nalezena v nejméně 10 případech.

Poznámka:

Počet sad položek v modelu dolování můžete také řídit zadáním maximální délky sady položek, kde délka znamená počet položek.

Ve výchozím nastavení je podpora pro každou konkrétní položku nebo sadu položek počtem případů, které obsahují danou položku nebo položky. Můžete však také vyjádřit MINIMUM_SUPPORT jako procento celkového počtu případů v sadě dat, když číslo zadáte jako desetinnou hodnotu menší než 1. Pokud například zadáte hodnotu MINIMUM_SUPPORT 0,03, znamená to, že alespoň 3% celkového počtu případů v sadě dat musí obsahovat tuto položku nebo sadu položek pro zahrnutí do modelu. Experimentujte s modelem a zjistěte, jestli použití počtu nebo procent dává větší smysl.

Naproti tomu prahová hodnota pravidel není vyjádřena jako počet nebo procento, ale jako pravděpodobnost, někdy označovaná jako spolehlivost. Pokud například sada položek {A,B,C} nastane v 50 případech, ale sada položek {A,B,D} se vyskytuje také v 50 případech a sada položek {A,B} v dalších 50 případech, je zřejmé, že {A,B} není silným prediktorem {C}. Proto pokud chcete určit váhu konkrétního výsledku proti všem známým výsledkům, Analytické služby SQL Serveru vypočítá pravděpodobnost jednotlivých pravidel (například pokud {A,B} Pak {C}) vydělíte podporu sady položek {A,B,C} podporou všech souvisejících sad položek.

Počet pravidel, která model vytváří, můžete omezit nastavením hodnoty pro MINIMUM_PROBABILITY.

Pro každé pravidlo, které vytvoří, vrací Analytické služby SQL Serveru skóre, které udává jeho důležitost, označovanou také jako lift. Důležitost výtahu se pro sady položek a pravidla počítá odlišně.

Důležitost sady položek se vypočítá jako pravděpodobnost sady položek dělená složenou pravděpodobností jednotlivých položek v sadě položek. Pokud například sada položek obsahuje {A,B}, Analytické služby SQL Serveru nejprve spočítá všechny případy, které obsahují tuto kombinaci A a B, a vydělí tento počet celkovým počtem případů a pak normalizuje pravděpodobnost.

Důležitost pravidla se vypočítá na základě logaritmické věrohodnosti pravé strany pravidla za podmínky, že je splněna levá strana pravidla. Například v pravidle If {A} Then {B}služba Analytické služby SQL Serveru vypočítá poměr případů s A a B oproti případům B, ale bez A a pak tento poměr normalizuje pomocí logaritmického měřítka.

Výběr součástí

Algoritmus pravidel přidružení Microsoft neprovádí žádný druh automatického výběru funkcí. Místo toho algoritmus poskytuje parametry, které řídí data, která algoritmus používá. Tento ovládací prvek může zahrnovat omezení velikosti jednotlivých sad položek nebo nastavení maximální a minimální podpory potřebné k přidání sady položek do modelu.

  • Pokud chcete vyfiltrovat položky a události, které jsou příliš běžné a proto neinterestující, snižte hodnotu MAXIMUM_SUPPORT, abyste z modelu odebrali velmi časté sady položek.

  • Pokud chcete vyfiltrovat položky a sady položek, které jsou vzácné, zvyšte hodnotu MINIMUM_SUPPORT.

  • Pokud chcete vyfiltrovat pravidla, zvyšte hodnotu MINIMUM_PROBABILITY.

Přizpůsobení algoritmu pravidel přidružení Microsoftu

Algoritmus Pravidel přidružení Společnosti Microsoft podporuje několik parametrů, které ovlivňují chování, výkon a přesnost výsledného modelu dolování.

Nastavení parametrů algoritmu

Parametry modelu dolování můžete kdykoli změnit pomocí Návrháře dolování dat v nástrojích SQL Server Data Tools. Parametry můžete také změnit programově pomocí AlgorithmParameters kolekce v AMO nebo pomocí elementu MiningModels (ASSL) v XMLA. Následující tabulka popisuje jednotlivé parametry.

Poznámka:

Pomocí příkazu DMX nemůžete změnit parametry v existujícím modelu. Parametry musíte zadat v příkazu DMX CREATE MODEL nebo ALTER STRUCTURE... ADD MODEL při vytváření modelu.

MAXIMUM_ITEMSET_COUNT
Určuje maximální počet sad položek k vytvoření. Pokud nezadáte číslo, použije se výchozí hodnota.

Výchozí hodnota je 200000.

Poznámka:

Sady položek jsou seřazené podle podpory. U sad položek, které mají stejnou podporu, je řazení libovolné.

MAXIMUM_ITEMSET_SIZE
Určuje maximální počet položek, které jsou povoleny v sadě položek. Nastavení této hodnoty na hodnotu 0 určuje, že velikost sady položek není nijak omezena.

Výchozí hodnota je 3.

Poznámka:

Snížení této hodnoty může potenciálně zkrátit čas potřebný k vytvoření modelu, protože zpracování modelu se zastaví při dosažení limitu.

MAXIMUM_SUPPORT
Určuje maximální počet případů, které má sada položek pro podporu. Tento parametr použijte k odstranění položek, které se často objevují, a proto mohou mít malý význam.

Pokud tuto hodnotu nastavíte na méně než 1, představuje hodnota procento celkového počtu případů. Hodnoty větší než 1 představují absolutní počet případů, které mohou obsahovat sadu položek.

Výchozí hodnota je 1.

MINIMUM_ITEMSET_SIZE
Určuje minimální počet položek, které jsou povoleny v sadě položek. Pokud toto číslo zvýšíte, model může obsahovat méně sad položek. Tato změna může být užitečná, pokud chcete například ignorovat sady položek s jednou položkou.

Výchozí hodnota je 1.

Poznámka:

Dobu zpracování modelu nemůžete zkrátit zvýšením minimální hodnoty, protože Analytické služby SQL Serveru musí vypočítat pravděpodobnosti pro jednotlivé položky stejně jako součást zpracování. Nastavením této hodnoty na vyšší hodnotu ale můžete vyfiltrovat menší sady položek.

MINIMUM_PROBABILITY
Určuje minimální pravděpodobnost, že pravidlo je pravdivé.

Pokud například nastavíte tuto hodnotu na hodnotu 0,5, znamená to, že nelze vygenerovat žádné pravidlo s menší než padesátiprocentní pravděpodobností.

Výchozí hodnota je 0,4.

MINIMUM_SUPPORT
Určuje minimální počet případů, které musí obsahovat sadu položek, než algoritmus vygeneruje pravidlo.

Pokud tuto hodnotu nastavíte na méně než 1, minimální počet případů se vypočítá jako procento celkových případů.

Pokud nastavíte tuto hodnotu na celé číslo větší než 1, určuje se, že minimální počet případů se vypočítává jako počet případů, které musí obsahovat sadu položek. Algoritmus může automaticky zvýšit hodnotu tohoto parametru, pokud je paměť omezená.

Výchozí hodnota je 0,03. Tato hodnota znamená, že aby byla zahrnuta do modelu, musí být sada položek nalezena alespoň ve 3% případů.

OPTIMIZED_PREDICTION_COUNT
Definuje počet položek, které se mají ukládat do mezipaměti pro optimalizaci předpovědi.

Výchozí hodnota je 0. Pokud se použije výchozí hodnota, algoritmus vygeneruje tolik předpovědí, kolik požaduje dotaz.

Pokud pro OPTIMIZED_PREDICTION_COUNT zadáte nenulovou hodnotu , dotazy předpovědi můžou vrátit maximálně zadaný počet položek, i když požadujete další předpovědi. Nastavení hodnoty ale může zlepšit výkon předpovědi.

Pokud například nastavíte hodnotu na hodnotu 3, algoritmus ukládá do mezipaměti pouze tři položky pro predikci. Nevidíte další předpovědi, které by mohly být stejně pravděpodobné jako tři položky, které algoritmus vrátí.

Modelování vlajek

Algoritmus pravidel přidružení Microsoft podporuje následující příznaky modelování.

NESMÍ BÝT NULL
Označuje, že sloupec nemůže obsahovat hodnotu null. Pokud Analytické služby SQL Serveru během trénování modelu narazí na hodnotu null, vrátí chybu.

Platí pro sloupec dolování.

MODEL_EXISTENCE_ONLY
Považuje sloupec za dva možné stavy: Chybějící a Existující. Hodnota null chybí.

Platí pro sloupec modelu dolování.

Požadavky

Model přidružení musí obsahovat klíčový sloupec, vstupní sloupce a jeden předvídatelný sloupec.

Vstupní a předvídatelné sloupce

Algoritmus Pravidel přidružení Microsoftu podporuje konkrétní vstupní sloupce a předvídatelné sloupce uvedené v následující tabulce. Další informace o významu typů obsahu v modelu dolování naleznete v tématu Typy obsahu (Dolování dat).

Sloupec Typy obsahu
Vstupní atribut Cyklická, diskrétní, diskretizovaná, klíč, tabulka, seřazená
Předvídatelný atribut Cyklická, diskrétní, diskretizovaná, tabulka, seřazená

Poznámka:

Algoritmus podporuje typy obsahu Cyklické a Seřazené, ale považuje je za diskrétní hodnoty a neprovádí speciální zpracování.

Viz také

Algoritmus přidružení Microsoftu
Příklady dotazů modelu přidružení
Obsah asociačních modelů pro dolování dat (Analysis Services – Dolování dat)