Základy vytěžování dat



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

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. ledna 2017

Dolování asociačních pravidel

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

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

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

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

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

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

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

Testování a spolehlivost. 1. Laboratoř Poruchy v číslicových obvodech

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

Přednáška 13 Redukce dimenzionality

Modul účetnictví: Kontrolní výkaz DPH (SK) Podklady ke školení

Analytické procedury v systému LISp-Miner

Dobývání znalostí z databází (MI-KDD) Přednáška číslo 5 Zajímavé dvojice podmnožin objektů, procedura SD4ft-Miner

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

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

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

Self Organizing Map. Michael Anděl. Praha & EU: Investujeme do vaší budoucnosti. 1 / 10 Slef Organizing Map

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

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Radim Navrátil. Robust 24. ledna 2018

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

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

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

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

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

Hranová konzistence. Arc consistency AC. Nejprve se zabýváme binárními CSP. podmínka odpovídá hraně v grafu podmínek

Vytěžování znalostí z dat

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

Regulární výrazy. Filtry grep, sed a awk.

Řazení řádků ve vzestupném pořadí (A až Z nebo 0 až 9) nebo sestupném pořadí (Z až A nebo 9 až 0)

Algoritmizace. 1. Úvod. Algoritmus

Akcie Materiál pro školení

Dynamické datové struktury III.

5. Vyhledávání a řazení 1

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

Metodologie pro Informační studia a knihovnictví

Dynamické programování

Algoritmy výpočetní geometrie

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

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Dobývání znalostí z databází (MI-KDD) Přednáška číslo 4 Asociační pravidla

Požadavky Modelování případů užití

NPRG030 Programování I, 2018/19 1 / :03:07

NPRG030 Programování I, 2017/18 1 / :22:16

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

ZÁKLADY STATISTICKÉHO ZPRACOVÁNÍ ÚDAJŮ 5. hodina , zapsala Veronika Vinklátová Revize zápisu Martin Holub,

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

Základní prvky internetového prohlížeče Explorer Google Chrome Mozilla Opera

Lineární algebra : Metrická geometrie

Metodologie pro Informační studia a knihovnictví 2

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Anotace. Informace o praktiku z programování!!! Direktivy překladače Soubory (textové) Quicksort Metoda rozděl a panuj

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

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

DYNAMICKÉ PROGRAMOVÁNÍ A PROBLÉM BATOHU

Návrh Designu: Radek Mařík

Další příklady. Katedra softwarového inženýrství. Katedra teoretické informatiky, Fakulta informačních technologii, ČVUT v Praze. Karel Müller, 2011

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

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

Jak obnovit ztraceny dokumentu

Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Pole a kolekce. v C#, Javě a C++

Vytěžování znalostí z dat

UŽIVATELSKÁ PŘÍRUČKA K EVIDENCI DEKLARACÍ CHOVU KONÍ

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

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

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

Matematika I 2a Konečná pravděpodobnost

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

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

Vstupní požadavky, doporučení a metodické pokyny

Michal Burda. 27. ledna Abstrakt

Pracovní list č. 15 Microsoft Word 2010 reference II

Rekurzivní algoritmy

Základy algoritmizace a programování

Algoritmy na ohodnoceném grafu

Středoškolská technika 2017 PROGRAM NA GENEROVÁNÍ PRVOČÍSEL

Úvod do RapidMineru. Praha & EU: Investujeme do vaší budoucnosti. 1 / 23 Úvod do RapidMineru

Zadání k 2. programovacímu testu

Činnost: 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V.

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Manuál k programu RIZIKA

Pravděpodobně skoro správné. PAC učení 1

Operační výzkum. Přiřazovací problém.

Algoritmy a datové struktury

Katedra kybernetiky, FEL, ČVUT v Praze.

Vyhledávání podle klíčových slov v relačních databázích. Dotazovací jazyky I ZS 2010/11 Karel Poledna

KTE / PPEL Počítačová podpora v elektrotechnice

Soustavy linea rnı ch rovnic

Výukový materiál zpracován v rámci projektu EU peníze školám

František Hudek. duben ročník

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 3. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Databázové systémy Cvičení 5.2

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

KAPITOLA 11 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

Transkript:

Základy vytěžování dat předmět A7Bb36vyd Vytěžování dat Filip Železný, Miroslav Čepek, Radomír Černoch, Jan Hrdlička katedra kybernetiky a katedra počítačů ČVUT v Praze, FEL Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Časté množiny Odkaz na výukové materiály: https://cw.felk.cvut.cz/doku.php/courses/a7b36vyd/moduly/start (oddíl 4) Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Vytěžování dat, přednáška 6: Vyhledávání častých množin Filip Železný Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 16 Časté množiny

Asociace Pokračujeme v metodách vytěžování bez učitele tedy modelování rozdělení PX, z něhož jsou generována data Připomínka: X = X 1 X 2... X n, kde X i je množina hodnot příznaku i Úloha: najít hodnoty nějaké podmnožiny příznaků, které se často objevují společně tj. jsou asociovány Příklad: X = příjem bydliště pohlaví úvěr Častá asociace např. příjem = vysoký & bydliště = Praha častá znamená, že pravděpodobnost P příjem,bydliště (vysoký, Praha) je vysoká 2 / 16 Časté množiny

Podpora asociace Podpora: podíl instancí, v nichž asociace platí, mezi všemi instancemi příjem bydliště pohlaví úvěr vysoký Praha M splácí vysoký Plzeň M splácí nízký Praha M nesplácí vysoký Praha Ž splácí střední Brno M splácí Asociace A = příjem = vysoký & bydliště = Praha má podporu 2/5 = 0.4. Zapisujeme podp(a) = 0.4 podp(a) je odhadem P příjem,bydliště (vysoký, Praha) 3 / 16 Časté množiny

Podpora asociace Všechny asociace s podporou alespoň 0.4 příjem vysoký vysoký nízký vysoký střední příjem vysoký vysoký nízký vysoký střední bydliště Praha Plzeň Praha Praha Brno bydliště Praha Plzeň Praha Praha Brno příjem bydliště 1. true (prázdná asociace) 4 / 16 Časté množiny

Asociace jako množiny Hledání asociací se uplatňuje zejm. v analýze transakcí ( analýze nákupních košíků ) Příznaky: položky sortimentu. Instance: obsah nákupního košíku. Hodnoty příznaků jsou binární {ano, ne}. pivo párky horčice pleny ano ne ne ano ne ano ano ne Zde místo např. pivo = ano & pleny = ano zapisujeme (a chápeme) asociaci jako množinu položek, např. {pivo, pleny} 5 / 16 Časté množiny

Princip monotonicity pivo párky horčice pleny ano ne ne ano ano ne ano ano 6 / 16 ne Časté množiny ano ano ne pivo párky horčice pleny ano ne ne ano ano ne ano ano ne ano ano ne ano ano ano ne ano ano ano ano pivo párky horčice pleny ano ne ne ano ano ne ano ano ne ano ano ne ano ano ano ne ano ano ano ano

Hledání častých množin položek algoritmem APRIORI Postupujeme z vyšších pater do nižších Prázdná množina je vždy častá. Kandidáti o patro níž: {A}, {B}, {C}, {D}. 7 / 16 Časté množiny

Algoritmus APRIORI Apriori: C 1 = množiny položek velikosti 1 L 1 = časté množiny z C 1 (podpora min_podp) i = 1 repeat i := i + 1 C i = Apriori-Gen(L i 1) L i := všechny časté množiny z C i {Vyžaduje průchod databází} until L i = L = L i, i return L Apriori-Gen(L i 1 ): C i = for dvojice množin položek M p, M q L i 1 do if se shodují v i 2 položkách then přidej M p M q do C i end if end for for množiny položek M C i do if jakákoliv podmnožina M o délce i 1 není v L i 1 then odstraň M z C i end if end for return C i 8 / 16 Časté množiny

Maximální množiny položek Častých množin může být velmi mnoho Výstup algoritmu je pak nepřehledý Možné zjednodušení výstupu: zachovat pouze maximální množiny Maximální množina: Je častá a žádná z jejích vlastních nadmnožin není častá 9 / 16 Časté množiny

Uzavřené množiny položek Množina častých množin může být redundantní Informace o všech častých množinách je implicitně obsažena v množině uzavřených častých množin Uzavřená množina: žádná její vlastní nadmnožina nemá stejnou podporu Každá maximální množina je uzavřená (obráceně nemusí platit) 10 / 16 Časté množiny

Maximální a uzavřené množiny časté množiny položek barevně (podpora alespoň 3 instance), maximální množiny červeně Transakce t 1 t 2 t 3 t 4 t 5 t 6 t 7 t 8 t 9 t 10 Položky a, d, e b, c, d a, c, e a, c, d, e a, e a, c, d b, c a, c, d, e b, c, e a, d, e 11 / 16 Časté množiny

Asociační pravidlo Pravidlo ve tvaru if Ant then Suc kde Ant a Suc jsou množiny položek nazývané antecedent resp. sukcedent. Pravidlo též zapisujeme jako Ant Suc Podpora asociačního pravidla R definována jako podp(ant Suc) = podp(ant Suc) Spolehlivost (confidence) asociačního pravidla R definována jako spol(ant Suc) = podp(ant Suc) podp(ant) 12 / 16 Časté množiny

Asociační pravidlo 13 / 16 Časté množiny

Hledání asociačních pravidel algoritmem APRIORI Hledáme pravidla Ant Suc, která jsou častá (tj. s podporou alespoň p) a spolehlivá (tj. se spolehlivostí alespoň s). Je-li pravidlo Ant Suc časté, tak množina položek (asociace) Ant Suc je častá. Nejprve tedy najdeme všechny časté množiny položek. Pro každou častou množinu položek M a každou její neprázdnou vlastní podmnožinu P M zkusíme, zda Pokud ano, tak pravidlo je časté a spolehlivé. podp(m) podp(p) P M \ P 14 / 16 Časté množiny

Hledání asociačních pravidel: příklad Hledáme asociační pravidla s podporou alespoň 0.1 a spolehlivostí alespoň 0.6. Právě 13% nákupních košíků obsahuje každou položku z množiny {párky, hořčice, pivo, otvírák} Množina je tedy častá. Vyberme nějakou její vlastní neprázdnou podmnožinu, např. Pravidlo {párky, hořčice} {párky, hořčice} {pivo, otvírák} má podporu 13%. Pokud navíc právě 19% nákupních košíků obsahuje párky i horčici, má pravidlo spolehlivost 13 19 > 0.6 a je tedy časté i spolehlivé. 15 / 16 Časté množiny

Algoritmus AR-Gen Vytvoří množinu asociačních pravidel ze zadané množiny L častých množin položek a zadaného parametru min_spol minimální spolehlivosti. AR-Gen: R := for M L do for P M, P do if podp(m)/podp(p) min_spol then R := R {P M \ P} end if end for end for return R 16 / 16 Časté množiny

Vytěžování dat, cvičení 8: Hledání množin častých položek a asociačních pravidel Jan Hrdlička Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 7 Asociační pravidla

Analýza nákupního koše Cílem této úlohy je zjistit, které produkty zákazníci kupují společně a z kterých produktů lze vytvořit asociační pravidla Jedná se o aplikaci úlohy Vyhledávání častých množin kterou znáte z přednášky. 2 / 7 Asociační pravidla

Dataset V matlabu načtěte soubor marketbasket.mat obsahující transakční databázi supermarketu vhodnou k analýze nákupního košíku. V daném souboru se nachází proměnné trandb a info. Proměnná trandb je transakční databáze v maticové booleanovské formě. Každý řádek je transakce - jeden nákupní košík jednoho zákazníka. Každý sloupec je jedna možná položka v košíku (item). Slovní popis těchto položek je v proměnné info. 3 / 7 Asociační pravidla

Apriori Stáhněte si apriorifpm.m, tato funkce vygeneruje množinu častých položek pro danou transakční databázi algoritmem apriori. Způsob použití funkce apriorifpm.m zjistíte příkazem help apriorifpm. Najděte množinu častých položek pro vámi zvolenou mininální relativní podporu. Tu odůvodněte. Nalezené množiny vypište do souboru pomocí funkce printfreqsets.m Mezivýsledek: Pro minimální relativní podporu rovnou 0.02 vám má vyjít 1302 častých množin. 4 / 7 Asociační pravidla

Srovnání položek Spusťte apriorifpm pro množinu položek lexikálně srovnanou sestupně podle častosti výskytu a srovnanou vzestupně. Porovnejte časy obou běhů. Výsledek popište a zdůvodněte. 5 / 7 Asociační pravidla

Asociační pravidla Použijte funkci associationrules.m pro vygenerování asociačních pravidel. Způsob použití funkce apriorifpm.m zjistíte příkazem help associationrules. Vygenerujte všechna asociační pravidla pro vámi zvolenou minimální relativní spolehlivost. Tu odůvodněte. Mezivýsledek: Pro minimální relativní spolehlivost rovnou 0.7 (a dříve danou minimální relativní podporu 0.02) vám vyjde 480 asociačních pravidel. Nalezená pravidla vypište do souboru pomocí funkce printrules.m 6 / 7 Asociační pravidla

Faktické náležitosti protokolu Váš protokol by měl obsahovat: Časté množiny položek pro vámi vybranou minimalní relativní podporu, minimální relativni podporu, kterou jste použili, její zdůvodnění Časy běhů funkce apriorifpm pro obě lexikální řazení, váš komentář k časům Asociační pravidla pro vámi vybranou minimalní relativní spolehlivost, minimální relativní spolehlivost, kterou jste použili, její zdůvodnění 7 / 7 Asociační pravidla