hledání zajímavých asociací i korelací ve velkém množství dat původně pro transakční data obchodní transakce analýza nákupního košíku



Podobné dokumenty
Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Dolování asociačních pravidel

Základy vytěžování dat

Tvorba asociačních pravidel a hledání. položek

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna Filip Železný (ČVUT) Vytěžování dat 9.

Získávání znalostí z databází. Alois Kužela

Radim Navrátil. Robust 24. ledna 2018

Asociační i jiná. Pravidla. (Ch )

Asociační pravidla. Informační a komunikační technologie ve zdravotnictví. Biomedical Data Processing G r o u p

Databázové systémy Tomáš Skopal

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Informační systémy pro podporu rozhodování

Národní informační středisko pro podporu jakosti

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Kontingenční tabulky. (Analýza kategoriálních dat)

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

ANALÝZA NÁKUPNÍHO KOŠÍKU SEMINÁŘ

NORMALIZACE Část 2 1

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Moderní systémy pro získávání znalostí z informací a dat

Upozornění : barevné odstíny zobrazené na této stránce se mohou z důvodu možného zkreslení Vašeho monitoru lišit od fyzické dodávky.

Vytěžování znalostí z dat

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Kombinatorický předpis

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Úlohy domácí části I. kola kategorie C

IDS optimalizátor. Ing. Jan Musil, IBM ČR Community of Practice for

Michal Burda. 27. ledna Abstrakt

Kombinatorika, výpočty

oddělení Inteligentní Datové Analýzy (IDA)

Základy umělé inteligence

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

UDBS Cvičení 10 Funkční závislosti

Algoritmy a datové struktury

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

Datové struktury 2: Rozptylovací tabulky

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Tvorba asociačních pravidel a hledání častých skupin položek

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

Algoritmy pro shlukování prostorových dat

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

12. Globální metody MI-PAA

Úvod do dobývání. znalostí z databází

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY DOLOVÁNÍ ASOCIAČNÍCH PRAVIDEL ASSOCIATION RULES MINING

Dolování v objektových datech. Ivana Rudolfová

Úloha ve stavovém prostoru SP je <s 0, C>, kde s 0 je počáteční stav C je množina požadovaných cílových stavů

Řešení: PŘENESVĚŽ (N, A, B, C) = přenes N disků z A na B pomocí C

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

Algoritmy výpočetní geometrie

Národní informační středisko pro podporu jakosti

DATA MINING KLASIFIKACE DMINA LS 2009/2010

1. Implementace funkce počet vrcholů. Předmět: Algoritmizace praktické aplikace (3ALGA)

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář,

Jednoznačné a nejednoznačné gramatiky

Analýza dat z otevřených zdrojů

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Matematická olympiáda ročník (1998/1999) Komentáře k úlohám druhého kola pro kategorie Z5 až Z7. Zadání úloh Z5 II 1

Grafové algoritmy. Programovací techniky

Dynamické programování

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha

Návody k domácí části I. kola kategorie C

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Rozhodování v podnikatelství za podpory fuzzy logiky a neuronových sítí

Pravidlové systémy. Klasifikační pravidla. Asociační pravidla.

Časté podsekvence, epizodální pravidla. Katedra kybernetiky, FEL, ČVUT v Praze.

MIDTERM D. Příjmení a jméno:

STEREOMETRIE ZÁKLADNÍ POJMY, METRICKÉ VLASTNOSTI, ODCHYLKY, VZDÁLENOSTI. STEREOMETRIE geometrie v prostoru

Asociační pravidla (metoda GUHA)

BA_EM Electronic Marketing. Pavel

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

Markov Chain Monte Carlo. Jan Kracík.

Doplňování chybějících hodnot v kategoriálních datech 2.00

Analytické procedury v systému LISp-Miner

Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018

Kapitola 6: Omezení integrity. Omezení domény

63. ročník matematické olympiády Řešení úloh krajského kola kategorie B. 1. Odečtením druhé rovnice od první a třetí od druhé dostaneme dvě rovnice

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

Prohledávání do šířky = algoritmus vlny

PŘEDNÁŠKA 7 Kongruence svazů

Grafové algoritmy. Programovací techniky

STEREOMETRIE. Odchylky přímek. Mgr. Jakub Němec. VY_32_INOVACE_M3r0114

vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí

2. Která z trojice úseček může a která nemůže být stranami trojúhelníku. a) b)

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Zobrazte si svazy a uspořádané množiny! Jan Outrata

Úlohy krajského kola kategorie C

Cílem této kapitoly je uvedení pojmu matice a jejich speciálních typů. Čtenář se seznámí se základními vlastnostmi matic a s operacemi s maticemi

1. jarní série Termín odeslání: 4. února 2019

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

3.2.3 Podobnost trojúhelníků I

Disková pole (RAID) 1

3.2.3 Podobnost trojúhelníků I

Transkript:

Asociační pravidla

Asociační pravidla hledání zajímavých asociací i korelací ve velkém množství dat původně pro transakční data obchodní transakce analýza nákupního košíku podpora rozhodování

Analýza nákupního košíku MBA: Market Basket Analysis Analýza prodeje: Které položky jsou v košíku pohromadě? Výsledky: vyjádřené formou pravidel lze bezprostředně použít Použití: Plánování a rozvržení obchodu nabídka kupónu,omezení slev balení produktu

Asociační pravidla Jak spolu jednotlivé produkty navzájem souvisejí? asociační pravidla by měla být snadno pochopitelná je-li nějaký vztah nalezen, lze ho snadno ověřit použitelná obsahují užitečné informace, které mohou vést k dalším intervencím asociační pravidla by neměla být: triviální výsledky už stejně každý zná nevysvětlitelná neexistuje k nim žádné vysvětlení a nevedou k žádné akci

MBA jak se to dělá? Položka produkt nebo nabídka služeb Transakce obsahuje jednu nebo více položek Tabulka četností udává počet výskytu libovolných dvou položek v některé z provedených transakcí (tj. kolikrát byly tyto dva produkty zakoupeny najednou) hodnoty na diagonále odpovídají počtu transakcí obsahujících příslušnou položku

Příklad MBA Nákupní transakce Id Položky 1 pečivo, káva, minerálka 2 pečivo, sýr, minerálka 3 pečivo, sýr, máslo, káva 4 pečivo, máslo, sýr 5 pečivo, máslo, káva 6 pečivo, máslo, mléko 7 pečivo, káva, sušenky 8 káva, minerálka Tabulka četností pečivo minerálsýr máslo káva mléko suš. pečivo 8 2 3 4 3 2 0 minerál 2 4 1 0 3 0 1 sýr 3 1 3 2 1 0 0 máslo 4 0 2 4 2 1 0 káva 3 3 1 2 6 0 2 mléko 2 0 0 1 0 2 0 sušen. 0 1 0 0 2 0 2 9 pečivo, mléko 10 káva, minerálka, sušenky pečivo se kupuje často s máslem, sýrem a kávou káva se kupuje často s minerálkou a pečivem

MBA asociační pravidla Pravidlo IF Podmínka THEN Výsledek. Pravidlo_r IF Položka_i THEN Položka_j. Otázky Jak dobrá jsou nalezená asociační pravidla? podpora spolehlivost zlepšení Jak hledat asociační pravidla automaticky?

Podpora a spolehlivost Podpora jak často lze pravidlo použít Podpora ( Pravidlo_r ) Pocet transakcí obsahující Pocet všech transakcí ch i a j *100 % Spolehlivost jak moc se můžeme na výsledky pravidla spolehnout? Spolehlivo st ( Pravidlo_r ) Pocet transakcí Pocet transakcí obsahující ch i a obsahující ch i j *100 %

Zlepšení pravidla Zlepšení nakolik je lepší pravidlo při predikci použít než výsledek prostě předpokládat Zlepšení ( Pravidlo_r ) p( i _ a _ p( i) * p( j) j) je-li Zlepšení < 1 pravidlo při predikci je horší než náhodná volba negace výsledku může vést k lepšímu pravidlu IF podmínka THEN NOT výsledek

Hlavní kroky MBA zvolit odpovídající položky na adekvátní úrovni vytvořit pravidla na základe údajů z tabulky četností spočítat (podmíněné) pravděpodobnosti výskytu položek a jejich kombinací v transakcích omezit prohledávání prahovou hodnotou pro podporu určit nejlepší pravidla analýzou vypočtených pravděpodobností překonat omezení daná počtem položek a jejich kombinací v zajímavých transakcích

MBA analýza jasné a srozumitelné výsledky IF-THEN pravidla s bezprostředním použitím dobývání znalostí (bez požad. výstupu) důležité při zpracovávání velkého množství dat bez dalších apriorních znalostí zpracování dat s variabilní délkou snadné a srozumitelné výpočty Výpočetní nároky rostou exponenciálně s počtem položek!

Analýza log záznamu server www.einnews.com prezentace studentů MFF (Ševčíková, Zoulek)

Asociační pravidla podobná klasifikačním pravidlům v důsledku pravidla muže být predikce jakéhokoliv atributu (i kombinace predikcí pro více atributu) Příklady: if teplota = chladno then vlhkost = normální if pohlaví = žena then tv_žánr = romantika if pohlaví = muž then tv_žánr = sport if mouka then máslo and vajíčka if kolo then helma if brusle then helma and chrániče klasifikační pravidla implikace znamená společný výskyt, nikoliv příčinu a důsledek!!!

Využití asociačních pravidel analýza nákupního košíku podpora marketingu, inzerování produktu umístění zboží regálech detekce chyb v telekomunikačních sítích analýza bankovních služeb kombinace nabízených produktů analýza služeb mobilních operátorů

Asociační pravidla Velké množství asociačních pravidel X => Y Bereme v úvahu ty, které pokrývají dostatečné množství instancí podpora (support) jsou dostatečně přesné - spolehlivost (confidence) Podpora - podíl těch instancí, které vyhovují pravidlu X Y oproti všem instancím (n) Spolehlivost - podíl těch instancí, které vyhovují pravidlu X Y oproti těm, na které se dá pravidlo aplikovat (X)

Příklad volitelné předměty Studentský výběr předmětů id Kombinace S1 ANK, ESV, LIS S2 ANK, SPJ, DEG S3 ANK, ESV, DEG S4 ANK, LIS S5 ANK, IVT S6 ANK, IVT, MAS S7 ANK, MAS,MPC S8 ANK, MAS, PRA S9 PRA, LIS, NEK S10 ANK, IVT,MPC Možné skupiny položek Skupiny Podpora ANK 90 % IVT 30 % ANK, DEG 20 % ANK, ESV 20 % ANK, MPC 10 % ANK, PRA 10 % ANK, SPJ 20 % ANK, LIS 20 % ANK, MAS 30 % ANK, IVT, MPC 10 % ANK, MAS, MPC 10 %

Triviální algoritmus Je dána množina transakcí, máme najít všechna relevantní pravidla tj. taková, že Hrubá síla: podpora prahová hodnota s p spolehlivost prahová hodnota c p 1. Nakombinujeme všechny dvojice, trojice, položek a zjistíme seznam všech možných pravidel 2. Určíme podporu a spolehlivost pro každé pravidlo 3. Vyloučíme irelevantní pravidla

Triviální algoritmus Transakční tabulka s booleovskými daty A B C D E t1 1 1 0 0 1 t2 0 1 0 1 0 t3 0 1 1 0 0 t4 1 1 0 1 0 t5 1 0 1 0 0 t6 0 1 1 0 0 t7 1 0 1 0 0 t8 1 1 1 0 1 t9 1 1 1 0 0 9 transakcí, 5 druhů zboží [1] B C => A (s=0.22 ; c= 0.5) [2] A B => E (s=0.22 ; c= 0.5) [3] B => E (s = 0.55 ; c = 0.71) [4] C => D (s = 0.67 ; c = 1) Pro prahové hodnoty: s p = 0.2 ; c p = 0.75 jsou zjištěná pravidla 1-3 irelevantní, 4 je relevantní

Možné kombinace pro 5 položek null 5 1 A B C D E 5 2 AB AC AD AE BC BD BE CD CE DE 5 3 ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE 5 4 ABCD ABCE ABDE ACDE BCDE 5 5 ABCDE

Příklad s 5 položkami celkem 2 5 = 32 kombinací celkem 180 pravidel 60000 Počet pravidel R 3 d d k 1 1 j 1 2 d k d 1 1 d k d j k 50000 40000 30000 20000 Výpočetně složité!!! 10000 0 0 2 4 6 8 10

TID Položky 1 Chleba, Mléko 2 Chleba, Plenky, Pivo, Vejce 3 Mléko, Plenky, Pivo, Cola 4 Chleba, Mléko, Plenky, Pivo 5 Chleba, Mléko, Plenky, Cola Pozorování Dolování asociační pravidel Příklady pravidel {Mléko, Plenky} {Pivo} (s=0.4, c=0.67) {Mléko, Pivo} {Mléko} (s=0.4, c=1.0) {Plenky, Pivo} {Mléko} (s=0.4, c=0.67) {Pivo} {Mléko, Plenky} (s=0.4, c=0.67) {Plenky} {Mléko, Pivo} (s=0.4, c=0.5) {Mléko} {Plenky, Pivo} (s=0.4, c=0.5) položky všech uvedených pravidel jsou prvky téže množiny FIS: {Mléko, Plenky, Pivo} pravidla vycházející ze stejné množiny mají stejnou podporu, ale různou spolehlivost lze tedy oddělit požadavky na podporu a spolehlivost 21

Dolování asociačních pravidel vytvoření klasifikačního pravidla pro každý možný důsledek pravidla není efektivní dvoufázový postup: 1. hledání frekventovaných množin položek (frequent itemsets) 2. generování pravidel z frekventovaných množin položek

Frekventované množiny položek Frekventované množiny položek (frequent (large) itemsets) množiny položek, které mají větší podporu než prahová hodnota s p Dolování asociačních pravidel (upřesnění): 1. hledání frekventovaných množin položek 2. generování pravidel z frekventovaných množin položek

Frekventované množiny položek pro každé asociační pravidlo X => Y, musí platit, že X Y je frekventovaná množina položek platí: podmnožina každé frekventované množiny je frekventovaná množina nalézání frekventovaných množin položek jednoduché, časově náročné!!! pro m položek: 2 m-1 kandidátu Příklad: pro m = 30 počet kandidátu je 1073741823

Faktory ovlivňující složitost Stanovení prahové podpory nižší hodnota vede k většímu počtu FIS vyšší počet kandidátů a větší množiny frek. položek Dimenze (počet položek) množiny dat nutnost většího prostoru pro ukládání výsledků delší výpočet a IO operace Velikost databáze Průměrná šířka (velikost) transakce transakční šířka se zvyšuje s vyšší hustotou datových množin to může zvýšit max. délku FIS a průchod hash stromem

Strategie generování FIS Redukce počtu kandidátů (M) úplné vyhledávání: M=2 d redukce M s použitím prořezávacích technik Redukce počtu transakcí (N) redukce velikosti N, pokud narůstá velikost množin položek použití DHP a vertikálně-založených dolovacích algoritmů Redukce počtu porovnání (NM) použití efektivních dat. struktur pro uložení kandidátů či transakcí není nutné porovnávat každého kandidáta vůči každé transakci

Redukce počtu kandidátů Apriori princip je-li množina položek frekventovaná množina položek (FIS), pak i její podmnožiny jsou FIS Apriori princip platí díky následující vlastnosti podpory X, Y : ( X Y ) s( X ) s( Y ) podpora množiny položek nikdy nepřekročí podporu jejích podmnožin tzv. antimonotónní vlastnost podpory

Příklad Apriori principu Jednoprvkové množiny Položka Počet Chleba 4 Cola 2 Mléko 4 Pivo 3 Plenky 4 Vejce 1 Minimální podpora FIS je 3 Dvojice Množina položek Počet Chleba, Mléko 3 Chleba, Pivo 2 Chleba, Plenky 3 Mléko, Pivo 3 Mléko, Plenky 2 Pivo, Plenky 3 Trojice Uvažujeme-li všechny kombinace, C 1 (6) + C 2 (6) + C 3 (6) = 41 Vynecháním 2 položek (redukce), 6 + 4 + 1 = 11 Množina položek Počet Chleba, Mléko, Pivo 2

Apriori algoritmus nechť k=1 generuj množiny frekventovaných položek délky 1 opakuj, dokud už nelze určit žádnou FIS z množin frekventovaných položek obsahující k položek generuj množiny o velikosti (k+1) položek (kandidátní množiny na FIS) prořež kandidátní množiny položek obsahující podmnožiny velikosti k, které nejsou frekventované spočti podporu pro každou kandidátní množinu eliminuj kandidáty, které nepatří k často se vyskytujícím

Problémy Problémy získávání FIS Opakované procházení (prohledávání) transakční databáze Obrovský počet kandidátů Otravný výpočet podpory pro kandidáty Vylepšení Apriori: základní myšlenky Redukovat počet průchodů databází Zmenšit počet kandidátů Ulehčit výpočet podpory pro kandidáty

Kompaktní reprezentace FIS některé množiny položek jsou redundantní, neboť mají stejnou podporu jako jejich nadmnožiny TID A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 Počet FIS Potřeba kompaktní reprezentace 3 10 k 1 10 k

Maximalní FIS Množina položek je maximální množina frekventovaných položek, pokud žádná její přímá nadmnožina není FIS null Maximální množina FIS A B C D E AB AC AD AE BC BD BE CD CE DE ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE Množiny nefrekv. položek ABCD ABCE ABDE ACDE BCDE ABCD E Hranice

Uzavřená množina položek Množina položek je uzavřená, pokud žádná její přímá nadmnožina nemá stejnou podporu TID Položky 1 {A,B} 2 {B,C,D} 3 {A,B,C,D} 4 {A,B,D} 5 {A,B,C,D} MnožinyP Podpora {A} 4 {B} 5 {C} 3 {D} 4 {A,B} 4 {A,C} 2 {A,D} 3 {B,C} 3 {B,D} 4 {C,D} 3 MnožinyP Podpora {A,B,C} 2 {A,B,D} 3 {A,C,D} 2 {B,C,D} 3 {A,B,C,D} 2

Maximální versus uzavřené množiny položek null Transakční Ids TID Položky 1 ABC 2 ABCD 3 BCE 4 ACDE 5 DE 124 123 1234 245 345 A B C D E 12 124 24 4 123 2 3 24 34 45 AB AC AD AE BC BD BE CD CE DE 12 2 24 4 4 2 3 4 ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE 2 4 ABCD ABCE ABDE ACDE BCDE Ne podporováno žádnou transakcí ABCDE

Maximální versus uzavřené FIS Minimální podpora = 2 null Uzavřené, ale ne maximální 124 123 1234 245 345 A B C D E Uzavřené a zároveň maximální 12 124 24 4 123 2 3 24 34 45 AB AC AD AE BC BD BE CD CE DE 12 2 24 4 4 2 3 4 ABC ABD ABE ACD ACE ADE BCD BCE BDE CDE 2 4 ABCD ABCE ABDE ACDE BCDE # Uzavřené = 9 # Maximální = 4 ABCDE

Maximální versus uzavřené FIS Frequent Itemsets Closed Frequent Itemsets Maximal Frequent Itemsets

Alternativní metoda pro generování FIS Reprezentace databáze Horizontal Data Layout TID Items 1 A,B,E 2 B,C,D 3 C,E 4 A,C,D 5 A,B,C,D 6 A,E 7 A,B 8 A,B,C 9 A,C,D 10 B horizontální versus vertikální data layout Vertical Data Layout A B C D E 1 1 2 2 1 4 2 3 4 3 5 5 4 5 6 6 7 8 9 7 8 9 8 10 9

ECLAT Uložení seznamu transakcí pro každou položku Horizontal Data Layout TID Items 1 A,B,E 2 B,C,D 3 C,E 4 A,C,D 5 A,B,C,D 6 A,E 7 A,B 8 A,B,C 9 A,C,D 10 B Vertical Data Layout A B C D E 1 1 2 2 1 4 2 3 4 3 5 5 4 5 6 6 7 8 9 7 8 9 8 10 9

ECLAT Určit podporu pro každou k-množinu položek průnikem seznamů TID dvou (k-1) podmnožin A 1 4 5 6 7 8 9 B 1 2 5 7 8 10 AB 1 5 7 8

FP-growth algoritmus využití zhuštěné reprezentace databáze využitím FP-stromů zkonstruuje se FP-strom a rekurzivně metodou rozděl-panuj se dolují FIS

FP-strom konstrukce Po přečtení TID=1: null TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} Po přečtení TID=2: A:1 B:1 B:1 null A:1 B:1 C:1 D:1

FP-Tree konstrukce TID Items 1 {A,B} 2 {B,C,D} 3 {A,C,D,E} 4 {A,D,E} 5 {A,B,C} 6 {A,B,C,D} 7 {B,C} 8 {A,B,C} 9 {A,B,D} 10 {B,C,E} Transakční databáze B:5 A:7 C:1 null D:1 B:3 C:3 Header table Item A B C D E Pointer C:3 D:1 D:1 D:1 E:1 E:1 D:1 E:1

FP-growth D:1 C:3 B:5 A:7 D:1 null C:1 D:1 D:1 B:1 C:1 D:1 Podmíněný základ pro D: P = {(A:1,B:1,C:1), (A:1,B:1), (A:1,C:1), (A:1), (B:1,C:1)} Rekurzivně aplikuj FP-growth na P Nalezeny množiny FIS (podpora > 1): AD, BD, CD, ACD, BCD

Generování pravidel Nechť L je FIS. Najdi všechny neprázdné podmnožiny f L takové, že f => L f splňuje minimální požadavky spolehlivosti je-li {A,B,C,D} množina FIS, kandidátní pravidla jsou: ABC => D, ABD => C, ACD => B, BCD => A, A => BCD, B => ACD, C => ABD, D => ABC AB => CD, AC => BD, AD => BC, BC => AD, BD => AC, CD => AB, Pokud L = k, pak existuje 2 k 2 kandidátních asociačních pravidel (ignorujme L and L)

Generování pravidel Jak efektivně generovat pravidla z množin FIS? obecně, podpora nemusí mít antimonotónní vlastnost c(abc D) může být větší či menší než c(ab D) ale spolehlivost pravidle generovaných z téže množiny položek musí mít antimonotónní vlastnost tj. L = {A,B,C,D}: c(abc => D) c(ab => CD) c(a => BCD)

Generování pravidel Apriori algoritmem Low Confide nce Rule ABCD=>{ } BCD=>A ACD=>B ABD=>C ABC=>D CD=>AB BD=>AC BC=>AD AD=>BC AC=>BD AB=>CD Prořezávání pravidel D=>ABC C=>ABD B=>ACD A=>BCD

Generování pravidel Apriori algoritmem Kandidátní pravidla jsou generována sloučením dvou pravidel, které sdílení stejný prefix v důsledku pravidla spojení (CD=>AB,BD=>AC) vytvoří kandidátní pravidlo D => ABC CD=>AB BD=>AC prořež pravidlo D=>ABC pokud jeho podmnožina AD=>BC nemá vysokou spolehlivost D=>ABC