Vysoká škola ekonomická Katedra informačního a znalostního inženýrství Fakulta informatiky a statistiky Systém LISp-Miner Stručný popis určený pro posluchače kurzů Metod zpracování informací verse 20. listopadu 2005 Vypracoval: Jan Rauch
Obsah 1 Úvod 5 2 Přehledný popis 7 3 Procedura 4ft-Miner 11 3.1 Booleovské atributy......................... 11 3.2 Asociační pravidla.......................... 13 3.3 Vstup procedury 4ft-Miner..................... 15 3.4 Výstup procedury 4ft-Miner..................... 18 4 Asociační pravidla a nákupní košík 21 3
4
Kapitola 1 Úvod LISp-Miner je akademický softwarový systém určený pro podporu výuky a výzkumu v oblasti dobývání znalostí z databází, viz http://lispminer.vse.cz. Systém je vyvíjen skupinou pedagogů a studentů převážně z Fakulty informatiky a statistiky VŠE. Toto jsou provizorní skripta obsahující základní informace o systému. Jsou určena zejména pro posluchače předmětů IZI240 - Metody zpracování informací a IZI212 - Metody zpracování informací - praktika vyučované na VŠE. Předpokádá se, že budou postupně rozšířena na skripta, která se budou systému věnovat podrobně a v širších souvislostech. Systém LISp-Miner se v současné době skládá ze šesti analytických procedur, z procedury KEX pro strojové učení, ze dvou procedur pro vstupní transformace dat a z několika modulů, které různým způsobem doplňují analytické procedury. Stručný přehledný popis systému je v kapitole 2. Z pohledu výuky v letním semestru 2004/2005 je nejdůležitější analytická procedura 4ft-Miner které je věnována kapitola 3. Procedura 4ft-Miner je určena pro získávání asociačních pravidel. Jedná se však o značně obecnější vztahy než jsou klasická asociační pravidla definovaná v souvislosti s analýzou nákupních košíků. Asociační pravidla definovaná pro nákupní košíky a jejich vztah k proceduře 4ft-Miner jsou popsány v kapitole 4 Stručný popis dalších procedur a modulů je prozatím k dispozici pouze na http://lispminer.vse.cz/procedures/. Významným úkolem systému LISp-Miner je podpora výzkumných aktivit v oblasti dobývání znalostí z databází s důrazem na aktivity studentské. Přehled výzkumných aktivit souvisejících se systémem LISp-Miner je v současné době k dispozici na http://lispminer.vse.cz/research/. Studentské aktivity mají často formu vypracování diplomové práce. Připadají v úvahu i práce bakalářské např. formou pilotních analýz pomocí procedur jiných než 4ft-Miner nebo formou aplikací modulu AR2NL (viz http://lispminer.vse.cz/research/nl. html a http://lispminer.vse.cz/download/ ) na další oblasti. 5
Je třeba zdůraznit, že systém LISp-Miner je výsledkem činnosti týmu pedagogů a studentů a že autor této první verse provizorních skript popisuje výsledky práce celého týmu. Dále je uvedena stručná historie vývoje systému. Další podrobnosti o autorech systému jsou uvedeny na http://lispminer. vse.cz/people.html a u popisu jednotlivých procedur a modulů na http: //lispminer.vse.cz/procedures/. Vývoj systému LISp-Miner byl zahájen v roce 1996 kdy byla implementována první verse procedury 4ft-Miner. Autorem projektu byl J. Rauch a procedura byla implementována Milanem Šimůnkem. Nová koncepce procedury 4ft-Miner byla v roce 1999 vytvořena J. Rauchem a M. Šimůnkem. V této souvislosti byla M. Šimůnkem implementována matabáze a také procedura LMDataSource. Petr Berka vypracoval projekt procedury KEX pro strojové učení, projekt byl implementován M. Šimůnkem. Při implementaci byly použity softwarové nástroje pro práci s bitovými řetězci vytvořené při implementaci procedury 4ft- Miner. Ucelený systém podprogramů a pravidel pro další vývoj systému LISp-Miner byl připraven M. Šimůnkem. Tento systém jeho autor využil při implementaci nových analytických procedur KL-Miner, CF-Miner, SD4ft-Miner, SDKL- Miner a SDCF-Miner navržených J. Rauchem. Na vývoji těchto nových procedur a na vývoji různých dalších modulů se podíleli další autoři, viz též popis jednotlivých procedur a modulů na http: //lispminer.vse.cz/procedures/. 6
Kapitola 2 Přehledný popis Systém LISp-Miner se v současné době skládá ze šesti analytických procedur 4ft-Miner KL-Miner CF-Miner SD4ft-Miner SDKL-Miner SDCF-Miner, z procedury KEX pro strojové učení, ze dvou procedur pro vstupní transformace dat LMDataSource TimeTransf a z několika modulů (např. AR2NL nebo COLLAPS), které různým způsobem doplňují analytické procedury. Každá z analytických procedur i procedura KEX je realizována pomocí dvou modulů. Pro proceduru 4ft-Miner to jsou moduly - programy 4ftTask.exe a 4ftResult.exe. Modul 4ftTask.exe zajišťuje dialog s uživatelem, jehož výsledkem je zadání vstupních parametrů které se uloží do metabáze. Dále modul 4ftTask.exe vyřeší úlohu s takto zadanými parametry a výsledky uloží také do metabáze. Modul 4ftResult.exe umožňuje prohlížení výsledků. Analogicky pro ostatní z těchto procedur. Procedura LMDataSource je realizována pomocí 7
Obrázek 2.1: Metabáze a moduly systému LISp-Miner modulu LMDataSource.exe, procedura TimeTransf modulem TimeTransf.exe. Schematicky je celá situace znázorněna na obr. 2.1. Jedním z úkolů metabáze je oddělit analyzovaná data od provozních dat systému LISp-Miner. Analyzovaná data musí být přístupná pomocí ODBC, příkladem takto přístupných dat jsou data uchovávaná pomocí databázového systému Microsoft ACCESS. Informace o ODBC zdroji ve kterém jsou analyzovaná data je uložena také v metabázi. Tím je zajištěno propojení metabáze s analyzovanými daty. Uložení provádí modul LMAdmin.exe. Architektura systému LISp-Miner daná vztahy analyzovaných dat, metabáze a jednotlivých modulů je znázorněna v obr. 2.2. Poznamenejme, že v této kapitole jsou uvedeny skutečně jen základní informace, které je třeba doplnit o další informace z přednášek a cvičení. Rozhodně se zde nejedná o ucelený popis architektury systému LISp-Miner. Další podrobnosti jsou uvedeny v dokumentu LISp-Miner project č. 8 - Metabase Structure který je volně přístupný na adrese http://lispminer.vse.cz/download/documentation. php. 8
Obrázek 2.2: Arhitektura systému LISp-Miner Dále zde nejsou uvedeny podrobnosti o práci se systémem. Omezujeme se na konstatování, že před zahájením práce s analytickými procedurami je třeba připravit analyzovanou matici pomocí modulu LMDataSource. 9
10
Kapitola 3 Procedura 4ft-Miner Procedura 4ft-Miner je určena pro získávání asociačních pravidel z matic dat. Zároveň se jedná o implementaci metody GUHA automatické tvorby hypotéz. Cílem metody GUHA je nabízet vše zajímavé co lze k danému problému odvodit z analyzovaných dat. Jedná se o původní českou metodu explorační analýzy dat, viz např. [4, 7]. Metoda GUHA je realizována pomocí GUHA procedur. GUHA procedura je program, jehož vstupem je jednoduché zadání rozsáhlé množiny potenciálně zajímavých vztahů a analyzovaná data. GUHA procedura generuje všechny zadané vztahy a verifikuje každý z nich. Výstupem jsou všechny vztahy ze zadané množiny, které jsou pravdivé v analyzovaných datech. Zároveň jsou do výstupu uváděny pouze takové vztahy, které nevyplývají z jiných, jednušších a ve výstupu již uvedených vztahů. Nejvíce používanou GUHA procedurou je procedura ASSOC. Procedura AS- SOC hledá vztahy, které jsou zobecněním asociačních pravidel tak jak byla definována např. v [1], viz též [3]. Procedura 4ft-Miner je nejnovější implementací procedury ASSOC. Má zároveň některé nové rysy ve srovnání s dřívějšími implementacemi [7, 8, 9]. Schema činnosti GUHA procedury 4ft-Miner je v obr. 3.1. Procedura 4ft-Miner pracuje s booleovskými atributy odvozenými ze sloupců analyzované matice dat, viz odstavec 3.1. Asociační pravidla jsou definována v odstavci 3.2. Zadávání množiny relevantních asociačních pravidel pro proceduru 4ft-Miner je popsáno v odstavci 3.3. Stručný komentář k výstupu procedury 4ft- Miner je v odstavci 3.4. 3.1 Booleovské atributy Procedura 4ft-Miner pracuje s booleovskými atributy odvozenými ze sloupců analyzované matice dat. Analyzovaná matice dat vznikne z databázové tabulky 11
Obrázek 3.1: Schéma činnosti GUHA procedury 4ft-Miner pomocí procedury LMDataSource. To znamená, že každý řádek matice odpovídá jednomu řádku databázové relace (tabulky) který popisuje jeden pozorovaný objekt. Podstatné je, že každý atribut - sloupec matice může nabývat konečně mnoha hodnot. Tyto hodnoty nazýváme kategoriemi. Ze sloupců matice dat se vytvářejí základní booleovské atributy. Základní booleovský atribut je výraz A(α), kde α je vlastní neprázdná podmnožina množiny všech kategorií atributu A. Základní booleovský atribut A(α) je pravdivý v řádku matice právě když a α kde a je hodnota atributu A v tomto řádku. Booleovské atributy jsou obvyklým způsobem odvozeny ze základních booleovských atributů pomocí logických spojek, and. Příklad matice dat M s atributy A 1,... A K je v obr. 3.2 kde jsou uvedeny i základní booleovské atributy A 1 (1) a A 2 (1, 4, 5) a odvozené booleovské atributy A 1 (1) A 2 (1, 4, 5) a A K (6) (zde A 2 (1, 4, 5) je zkráceným zápisem formálně korektního A 2 ({1, 4, 5, 7}) atd. ). řádek sloupce M příklady booleovských atributů matice (atributy) základní odvozené M A 1 A 2... A K A 1(1) A 2(1, 4, 5) A 1(1) A 2(1, 4, 5) A K(6) o 1 1 9... 4 1 0 0 1 o 2 1 4... 6 1 1 1 0 o 3 3 5... 7 0 1 0 1..................... o n 2 2... 6 0 0 0 0 Obrázek 3.2: Data matrix M and examples of Boolean attributes 12
3.2 Asociační pravidla Asociační pravidlo je výraz ϕ ψ kde ϕ a ψ jsou Booleovské atributy. Symbol se nazývá 4ft-kvantifikátor. Asociační pravidlo ϕ ψ se týká analyzované matice dat M. Každému 4ft-kvantifikátoru odpovídá nějaká podmínka týkající se čtyřpolních tabulek. Čtyřpolní tabulkou rozumíme čtveřici a, b, c, d celých nezáporných čísel takových, že a + b + c + d > 0. Pomocí 4ft-kvantifikátorů lze vyjádřit různé typy vzájmných závislostí booloevských atributů ϕ a ψ včetně závislostí odpovídajících statistickým testům hypotéz. Asociační pravidlo ϕ ψ je pravdivé v matici dat M jestliže podmínka odpovídající 4ft-kvantifikátoru je splněna pro kontingenční tabulku booleovských atributů ϕ a ψ v matici dat M. V opačném případě je asociační pravidlo ϕ ψ nepravdivé v matici dat M. Kontingenční tabulka booleovských atributů ϕ a ψ v matici dat M je čtveřice čísel a, b, c, d definovaných tak, že a je počet řádků matice M splňujících jak ϕ tak i ψ b je počet řádků matice M splňujících ϕ a nesplňujících ψ c je počet řádků matice M nesplňujících ϕ ale splňujících ψ d je počet řádků matice M nesplňujících ani ϕ ani ψ. Kontingenční tabulku booleovských atributů ϕ a ψ v matici dat M nazýváme 4ft tabulkou ϕ a ψ v M a značíme ji 4ft(ϕ, ψ, M). Krom frekvencí a, b, c, d používáme někdy ještě obvyklé značení pro dílčí součty těchto frekvencí r = a+b, s = c + d, k = a + c, l = b + d a n = a + b + c + d, viz Tab. 3.1. M ψ ψ ϕ a b r ϕ c d s k l n Tabulka 3.1: 4ft tabulka ϕ a ψ v M Hodnotu V al(ϕ ψ, M) asociačního pravidla ϕ ψ v matici dat M definujeme jako V al(ϕ ψ, M) = 1 je-li ϕ ψ pravdivé v M a jako V al(ϕ ψ, M) = 0 je-li ϕ ψ ne pravdivé v M Uvádíme důležité příklady 4ft-kvantifikátorů: 13
4ft-kvantifikátor p,base fundované implikace je pro 0 < p 1 a Base > 0 definován v [4] podmínkou a a + b p a Base. To znamená, že nejméně 100p procent objektů splňujících ϕ splňuje také ψ a že nejméně Base objektů (řádků) matice M splňuje ϕ i ψ. 4ft-kvantifikátor p,base fundované dvojité implikace je pro 0 < p 1 a Base > 0 definován v [7] podmínkou a a + b + c p a Base. To znamená, že nejméně 100p procent objektů splňujících ϕ nebo ψ splňuje také jak ϕ tak i ψ a že zároveň nejméně Base objektů splňuje ϕ i ψ. 4ft-kvantifikátor p,base fundované ekvivalence je pro 0 < p 1 a Base > 0 definován v [7] podmínkou a + d a + b + c + d p a Base. To znamená, že ϕ a ψ mají stejnou hodnotu (true nebo false) pro nejméně 100p procent objektů matice M a že nejméně Base objektů splňuje ϕ i ψ. 4ft-kvantifikátor p,base kladné odchylky od průměru je pro 0 < p a Base > 0 definován podmínkou a a + b a + c (1 + p) a + b + c + d a Base. To znamená, že relativní četnost objektů splňujících ψ mezi objekty spňujícími ϕ je alespoň o 100p procent vyšší, než relativní četnost objektů splňujících ψ v celé matici a že zároveň nejméně Base objektů splňuje ϕ i ψ. 4ft-kvantifikátor p,base se nazývá také AA-kvantifikátor (z anglického Above Average ). Řada dalších 4ft-kvantifikátorů je definována např. v [4], [7] a [10] včetně kvantifikátorů inspirovaných statistickými testy hypotéz a kvantifikátoru odpovídajícího klasickému asociačnímu pravidlu. Procedura 4ft-Miner pracuje i s podmíněnými asociačními pravidly. Podmíněné asosiační pravidlo je výraz ϕ ψ/χ kde ϕ, ψ and χ jsou booleovské atributy. Asociační pravidlo ϕ ψ/χ říká, že ϕ a ψ jsou v relaci dané 4ftkvanifikátorem pokud je splněna podmínka daná booleovským atributem χ. Podmíněné asociační pravidlo ϕ ψ/χ je pravdivé v matici dat M jestliže existuje řádek matice M splňující χ a jestliže asociační pravidlo ϕ ψ je pravdivé v matici dat M/χ. Jinak je ϕ ψ/χ nepravdivé v matici dat M. 14
Matice dat M/χ vznikne z matice dat M vynecháním všech řádků nesplňujících χ. Hodnotu V al(ϕ ψ/χ, M) podmíněného asociačního pravidla ϕ ψ/χ v matici dat M definujeme jako V al(ϕ ψ/χ, M) = 1 je-li ϕ ψ/χ pravdivé v M a jako s V al(ϕ ψ/χ, M) = 0 je-li ϕ ψ/χ nepravdivé v M. 3.3 Vstup procedury 4ft-Miner Procedura 4ft-Miner hledá asociační pravidla tvaru ϕ ψ a podmíněná asociační pravidla tvaru ϕ ψ/χ. Booleovský atribut ϕ se nazývá antecedent, ψ se nazývá sukcedent [4] a χ je podmínka. Asociační pravidla i podmíněná asociační pravidla nazýváme souhrnně asociačními pravidly. Antecedent, sukcedent a podmínka se souhrnně nazývají cedenty. Vstup procedury 4ft-Miner je dán: maticí dat zadáním množiny asociačních pravidel která mají být automaticky generována a verifikována zadáním práce s neúplnou informací zadáním způsobu výstupu pro implikace. Asociační pravidla která mají být generována a verifikována se v souvislosti s metodou GUHA nazývají relevantní otázky. Množina asociačních pravidel která mají být automaticky generována a verifikována se nazývá množina relevantních otázek. Množina relevantních otázek je dána zadáním množiny relevantních antecedentů zadáním množiny relevantních sukcedentů zadáním množiny relevantních podmínek zadáním 4ft-kvantifikátoru. Antecedent, sukcedent i podmínka jsou konjunkce literálů. Literál je základní booleovský atribut A(α) nebo negace A(α) základního booleovského atributu. Příklady literálů jsou: A 1 (1), A K (6), A 7 (3, 5, 9), A 9 (4, 1). Literál A(α) nazýváme pozitivním literálem, literál A(α) nazýváme negativním literálem. Množinu α v literálu A(α) a A(α) nazýváme koeficient. Připomeňme, že α je množina kategorií (tj. přípustných hodnot) atributu A. 15
Relevantní antecedent je definován jako konjunkce ϕ = ϕ 1 ϕ 2... ϕ k kde ϕ 1, ϕ 2,..., ϕ k jsou dílčí antecedenty. Každý dílčí anteceent ϕ i patří do jedné množiny relevantních dílčích antecedentů To mimo jiné znamená, že každý dílčí antecedent je konjunkce literálů, stejně jako celý antecedent. Délka dílčího antecedentu je počet literálů v dílčím antecedentu. Zadání množiny relevantních antecedentů je dáno zadáním alespoň jedné množiny relevantních dílčích antecedentů. Množina relevantních dílčích antecedentů je zadána: minimální a maximální délkou dílčího antecedentu seznamem atributů z nichž budou generovány literály některé atributy mohou být označeny jako basic, platí že relevantní dílčí antecedent musí obsahovat alespoň jeden basic atribut jednoduchou definicí množiny literálů, které mají být automaticky generovány pro každý atribut navíc je možno definovat nekolik tříd ekvivalence, každý atribut může patřit nejvýše do jedné třídy ekvivalence; relevantní dílčí antecedent potom nesmí obsahovat dva nebo více atributů z jedné třídy ekvivalence. Poznamenejme, že minimální délka dílčího antecedentu může být 0, což vede ke konjunkcím délky 0 a že konjunkce délky 0 je podle definice vždy pravdivá. Délkou literálu A(α) nebo A(α) rozumíme počet kategorií v koeficientu α. Množina literálů, které mají být automaticky generovány je pro každý atribut dána: jedním ze sedmi možných typů koeficientu: subsets (podmnožiny), intervals (intervaly), cyclic intervals (cyklické intervaly), left cuts (levé řezy), right cuts (pravé řezy), cuts (řezy), one particular category (jednotlivá kategorie) minimální a maximální délkou literálu jednou z možností: generovat pouze pozitivní literály generovat pouze negativní literály generovat pozitivní i negativní literály Použijeme atribut A s kategoriemi {1, 2, 3, 4, 5} abychom na příkladech ukázali jednotlivé typy literálů: 16
subsets: použití podmnožin s délkou 2-3 definuje literály A(1,2), A(1,3), A(1,4), A(1,5), A(2,3),..., A(4,5), A(1,2,3), A(1,2,4), A(1,2,5), A(2,3,4),..., A(3,4,5) intervals: použití intervalů s délkou 2-3 definuje literály A(1,2), A(2,3), A(3,4), A(4,5), A(1,2,3), A(2,3,4) a A(3,4,5) cyclic intervals: použití cyklických intervalů s délkou 2-3 definuje literály A(1,2), A(2,3), A(3,4), A(4,5), A(5,1) A(1,2,3), A(2,3,4), A(3,4,5), A(4,5,1) a A(5,1,2) left cuts: použití levých řezů s maximální délkou 3 (minimální délka je v tomto případě vždy 1) definuje literály A(1), A(1,2) a A(1,2,3) right cuts: použití pravých řezů s maximální délkou 4 (minimální délka je v tomto případě vždy 1) definuje literály A(5), A(5,4), A(5,4,3) a A(5,4,3,2) cuts: toto zadání znamená, že jsou generovány levé i pravé řezy zadané délky one particular value znamená že bude použit literál s jednou zadanou kategorií, např A(2). Zadání množiny relevantních sukcedentů a zadání množiny relevantních podmínek jsou analogická k definici množiny relevantních antecedentů. Jeden atribut se může vyskytovat i ve dvou nebo ve všech třech definicích. Procedura 4ft-Miner však negeneruje taková asociační pravidla, která obsahují dva nebo více literálů odvozených z jednoho atributu. Zadání 4ft-kvantifikátoru je dáno seznamem základních 4ft-kvantifikátorů. Je k dispozici celkem 18 základních 4ft-kvantifikátorů. Víme již, že ke každému 4ft-kvantifikátoru je přiřazena podmínka týkající se čtyřpolních tabulek, viz odstavec 3.2. Taková podmínka je také přiřazena každému ze základních 4ft-kvantifikátorů. Ke 4ft-kvantifikátoru, který je dán seznamem základních 4ft-kvantifikátorů, je přiřazena podmínka která je konjunkcí podmínek přiřazených jednotlivých základním 4ft-kvantifikátorům použitým v seznamu. Dále uvedeme podmínky přiřazené některým základním 4ft-kvantifikátorům. Jedná se zejména o ty základní kvantifikátory, ze kterých je možno sestavit 4ftkvantifikátory uvedené v odstavci 3.2. Požíváme značení frekvencí z tabulky 3.1. Základní 4ft-kvantifikátor BASE Base s parametrem Base je pro Base 0 definován podmínkou a Base. Volitelně je Base možno zadat v procentech (z intervalu 0, 100 ) z celkového počtu řádků analyzované matice. Je-li Base zadáno v procentech, pak podmínka je 100 a n Base. 17
Základní 4ft-kvantifikátor CEILING Ceiling s parametrem Ceiling je pro Ceiling 0 definován podmínkou a Ceiling. Volitelně je Ceiling možno zadat v procentech (z intervalu 0, 100 ) z celkového počtu řádků analyzované matice. Je-li Ceiling zadáno v procentech, pak podmínka je 100 a n Ceiling. Základní 4ft-kvantifikátor p fundované implikace je pro 0 < p 1 definován podmínkou a a + b p. Základní 4ft-kvantifikátor p fundované dvojité implikace je pro 0 < p 1 definován podmínkou a a + b + c p. Základní 4ft-kvantifikátor p fundované ekvivalence je pro 0 < p 1 definován podmínkou a + d a + b + c + d p. Základní 4ft-kvantifikátor p kladné odchylky od průměru je pro 0 < p a definován podmínkou a a + b a + c (1 + p) a + b + c + d. Platí tedy například, že 4ft-kvantifikátor p,base fundované implikace je možno nahradit seznamem obsahující dva základní 4ft-kvantifikátory: základní 4ft-kvantifikátor BASE Base a základní 4ft-kvantifikátor p fundované implikace. Podobně pro ostatní 4ft-kvantifikátory. Zadání práce s neúplnou informací a zadání způsobu výstupu pro implikace bude podrobněji vysvětleno v některé z příštích versí těchto skript. Doporučujeme použít volby dle obr. 3.3. 3.4 Výstup procedury 4ft-Miner Výstupem procedury 4ft-Miner jsou všechna prostá asociační pravidla. Asociační pravidlo je prosté, pokud je pravdivé a zřejmým způsobem neplyne z jiného, ve výstupu již uvedeného pravidla. Například platí, že je-li pravdivé asociační pravidlo A 1 (1) p,base A 2 (1), pak je pravdivé i asociační pravidlo A 1 (1) p,base A 2 (1, 2). 18
Obrázek 3.3: Zadání dalších parametrů pro proceduru 4ft-Miner Podrobnější výklad k prostým asociačním pravidlům bude podán v některé z příštích versí těchto skript. Poznamenejme ještě, že je-li výstup tvořen všemi prostými asociačními pravidly, pak z těchto pravidel plynou všechna pravdivá asociační pravidla. 19
20
Kapitola 4 Asociační pravidla a nákupní košík Pojem asociační pravidlo byl zaveden Agravalem, viz např. [1] v souvislosti s analýzou nákupního košíku. V souvislosti s metodou GUHA nebyl pojem asociačního pravidla používán, místo něho se používal pojem hypotéza viz např. [7]. Byl však používán pojem asociační kvantifikátor, viz např. [4, 7, 12, 11]. Cílem tohoto odstavce je poukázat na souvislosti asociačních pravidel zavedených Agravalem a asociačních pravidel používaných v souvisosti s metodou GUHA. Abychom je rozlišili, budeme pro asociační pravidla zavedená Agravalem používat v této kapitole pojem klasické asociační pravidlo. Klasickým asociačním pravidlem se obvykle rozumí výraz X Y kde X a Y jsou množiny prvků. Tento výraz říká, že transakce obsahující množinu prvků X mají tendenci obsahovat i množinu prvků Y. Příkladem transakcí jsou nákupy reprezentované nákupními košíky. Každý z nákupních košíků b 1,..., b n obsahuje některé z položek P 1, P 2,..., P K, viz obr. 4.1. nákupní košík položky b 1 P 1, P 2, P 3, P 4, P 5 b 2 P 2, P 3, P 4, P 5, P K b 3 P 1, P 3, P 12 b 4 P 1, P 3.. b n 1 P 2, P 4, P 7, P 9, P 107 b n P 2, P 4, P K Obrázek 4.1: Příklad množiny transakcí - nákupních košíků b 1,..., b n 21
Výraz {P 2, P 5 } {P 1, P 3 } je příklad asociačního pravidla které říká, že nákupní košíky obsahující položky P 2 a P 5 často obsahují i položky P 1 a P 3. Používají se dvě míry intenzity asociačního pravidla - podpora (support) a konfidence (confidence). Podpora asociačního pravidla X Y je podíl počtu transakcí obsahujících jak X tak i Y ku počtu všech transakcí. Konfidence je podíl počtu transakcí obsahujících jak X tak Y ku počtu transakcí obsahujících X. Pro formální definici těchto měr intenzity se zavádí výraz M(X) který označuje množinu všech nákupních košíků obsahujících množinu položek X. Podobně pro M(Y ), výraz M(X Y ) označuje množinu všech nákupních košíků obsahujících sjednocení X Y, tedy jak množinu položek X tak i množinu položek Y. Počet prvků v množině Ω se značí Ω, výraz M(X) tedy značí počet košíků obsahujících množimu položek X, analogicky pro M(Y ) a M(X Y ). Konfidence asociačního pravidla X Y se značí conf(x Y ) podpora asociačního pravidla X Y se značí sup(x Y ). Formální definice konfidence a podpory tedy je conf(x Y ) = M(X Y ) M(X) kde n je počet košíků v celé databázi. a sup(x Y ) = M(X Y ) n Asociační pravidlo X Y je v dané databázi pravdivé na úrovni konfidence C a podpory S jestliže platí conf(x Y ) C a zároveň sup(x Y ) S. Na příkladu ukážeme, že takto definované klasické asociační pravidlo můžeme vyjádřit pomocí čtyřpolní tabulky. Použijeme transakční databázi z obr. 4.1. Tuto transakční databázi můžeme reprezentovat jako booleovskou matici dat KOSIKY. Její řádky odpovídají jednotlivým košíkům a sloupce jsou booleovské atributy odpovídající jednotlivým položkám. Ve sloupci, který odpovídá položce P 1, je v řádku b 1 uvedeno 1 protože košík b 1 obsahuje položku P 1. V tomtéž sloupci je v řádku b 2 uvedeno 0, protože košík b 2 položku P 1 neobsahuje. Analogicky pro ostatní sloupce a řádky, viz obr. 4.2. Budeme se zabývat výše uvedeným asociačním pravidlem {P 2, P 5 } {P 1, P 3 }. V matici dat M KOSIKY jsou ještě dva přidané sloupce. V prvním přidaném sloupci je booleovský atribut P 2 P 5 který je v řádku pravdivý právě když nákupní košík odpovídající tomuto řádku obsahuje obě položky P 2 a P 5. Analogicky, ve druhém přidaném sloupci je booleovský atribut P 1 P 3, který je v řádku pravdivý právě když nákupní košík odpovídající tomuto řádku obsahuje obě položky P 1 a P 3. 22
nákupní košík P 1 P 2 P 3 P 4 P 5... P K P 2 P 5 P 1 P 3 b 1 1 1 1 1 1... 0 1 1 b 2 0 1 1 1 1... 1 1 0 b 3 1 0 1 0 0... 0 0 1 b 4 1 0 1 0 0... 0 0 1.................. b n 1 0 1 0 1 0... 0 0 0 b n 0 1 0 1 0... 1 0 0 Obrázek 4.2: Matice dat KOSIKY Ukážeme, že podmínku pravdivosti asociačního pravidla X Y na úrovni konfidence C a podpory S v transakční databázi z obr. 4.1 je možno vyjádřit pomocí vhodné čtyřpolní tabulky na matici dat M KOSIKY. Připomeňme, že podpora asociačního pravidla X Y je podíl počtu transakcí obsahujících jak X tak i Y ku počtu všech transakcí a že konfidence asociačního pravidla X Y je podíl počtu transakcí obsahujících jak X tak Y ku počtu transakcí obsahujících X. a V případě asociačního pravidla {P 2, P 5 } {P 1, P 3 } tedy platí conf({p 2, P 5} {P 1, P 3}) = počet košíků obsahujících jak P2 a P5 tak i P1 a P3 počet košíků obsahujících P 2 a P 5 sup({p 2, P 5} {P 1, P 3}) = počet košíků obsahujících jak P2 a P5 tak i P1 a P3 n. Pro vyjádření conf({p 2, P 5 } {P 1, P 3 }) a sup({p 2, P 5 } {P 1, P 3 }) můžeme použít kontingenční tabulku booleovských atributů P 2 P 5 a P 1 P 3 v matici dat KOSIKY, viz Tab. 4.1. KOSIKY P 1 P 3 (P 1 P 3 ) P 2 P 5 a b r (P 2 P 5 ) c d s k l n Tabulka 4.1: 4ft tabulka P 2 P 5 a P 1 P 3 v matici KOSIKY Z definice atributů P 2 P 5 a P 1 P 3 plyne, že počet košíků obsahujících jak P 2 a P 5 tak i P 1 a P 3 = a a počet košíků obsahujících P 2 a P 5 = a + b. 23
Platí tedy conf({p 2, P 5 } {P 1, P 3 }) = a a + b a sup({p 2, P 5 } {P 1, P 3 }) = a n. Poznamenejme, že konfidence je definována stejně jako základní 4ft-kvantifikátor p fundované implikace a že suport je definován stejně jako základní 4ftkvantifikátor BASE Base pokud použijeme zadání Base v procentech, viz odstavec 3.3. Podrobnější výklad bude podán v další versi těchto provizorních skript. Je třeba vzít v úvahu i základní 4ft-kvantifikátor SUPP p, který je definován podmínkou a a+b+c+d p, pro podmíněná asociační pravidla se však pro výpočet čtyřpolní tabulky berou v úvahu pouze objekty splňující podmínku. 24
Literatura [1] Agraval R et al (1996) Fast Discovery of Association Rules. In: Fayyad UM et al (eds) Advances in Knowledge Discovery and Data Mining. AAAI Press, Menlo Park (CA) [2] Berka P, Ivánek J (1994) Automated knowledge acquisition for PROSPECTOR-like expert systems. In: Bergadano F, de Raedt L (eds) Proceedings of ECML 94. Springer, Berlin Heidelberg New York [3] Berka P: (2003) Dobývání znalostí z databází. ACADEMIA, Praha [4] Hájek P, Havránek T (1978) Mechanising Hypothesis Formation - Mathematical Foundations for a General Theory. Springer, Berlin Heidelberg New York [5] Hájek P (guest editor) (1978) International Journal of Man-Machine Studies, special issue on GUHA, 10 [6] Hájek P (guest editor) (1981) International Journal of Man-Machine Studies, second special issue on GUHA, 15 [7] Hájek P, Havránek T, Chytil M (1983) GUHA Method. Academia, Praha [8] Hájek P, Sochorová A, Zvárová J (1995) GUHA for personal computers. Computational Statistics & Data Analysis 19: 149 153 [9] Rauch J (1978) Some Remarks on Computer Realisations of GUHA Procedures. International Journal of Man-Machine Studies 10: 23 28 [10] Rauch J (1998) Classes of Four-Fold Table Quantifiers. In: Zytkow J, Quafafou M (eds) Principles of Data Mining and Knowledge Discovery. Springer, Berlin Heidelberg New York [11] Rauch, J (2005) Logic of Association Rules. Applied Intelligence, č. 22, s. 928. [12] Rauch, J (2004) Asociační pravidla a matematická logika. In: SNÁŠEL, Václav (ed.). Znalosti 2004. Ostrava : VŠB TU Ostrava, s. 114125. 25
[13] Šimůnek M (2003) Academic KDD Project LISp-Miner. In Abraham A et al (eds) Advances in Soft Computing - Intelligent Systems Design and Applications, Springer, Berlin Heidelberg New York %bibitemscr:04 Strossa P, Černý Z, Rauch J (2004) 26