PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY DIPLOMOVÁ PRÁCE. Analýza dat ze studentských dotazníků Bc.

Podobné dokumenty
Asociační pravidla (metoda GUHA)

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

Dolování asociačních pravidel

Analytické procedury v systému LISp-Miner

AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza

Státnice odborné č. 20

Statistické metody v ekonomii. Ing. Michael Rost, Ph.D.

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

Vícerozměrné statistické metody

Vysoká škola ekonomická. Katedra informačního a znalostního inženýrství. Fakulta informatiky a statistiky. Systém LISp-Miner

Algoritmy pro shlukování prostorových dat

NADSTAVBOVÝ MODUL MOHSA V1

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

Základy vytěžování dat

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

Fakulta chemicko-technologická Katedra analytické chemie. 3.2 Metody s latentními proměnnými a klasifikační metody

Tabulkový procesor. Základní rysy

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

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

Výroková a predikátová logika - III

Matematika B101MA1, B101MA2

Obsah Úvod Kapitola 1 Než začneme Kapitola 2 Práce s hromadnými daty před analýzou

Výroková a predikátová logika - II

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

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

teorie logických spojek chápaných jako pravdivostní funkce

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Modifikace algoritmu FEKM

Markov Chain Monte Carlo. Jan Kracík.

DOBÝVÁNÍ ZNALOSTÍ Z DATABÁZÍ

Matematická analýza 1

5 Orientované grafy, Toky v sítích

Výroková a predikátová logika - II

platné nejsou Sokrates je smrtelný. (r) 1/??

Algoritmizace prostorových úloh

xrays optimalizační nástroj

Michal Burda. 27. ledna Abstrakt

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Vzdálenost uzlů v neorientovaném grafu

Microsoft Office. Excel vyhledávací funkce

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ PŘÍRODOVĚDECKÁ FAKULTA

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

PRODUKTY. Tovek Tools

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

10. Techniky formální verifikace a validace

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

Cvičná bakalářská zkouška, 1. varianta

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

Výroková a predikátová logika - III

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

ALGORITMIZACE A PROGRAMOVÁNÍ

Matematická logika. Rostislav Horčík. horcik

Segmentace bankovních zákazníků algoritmem k- means

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se

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

Získávání dat z databází 1 DMINA 2010

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

PRODUKTY. Tovek Tools

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

UČENÍ BEZ UČITELE. Václav Hlaváč

Shluková analýza dat a stanovení počtu shluků

Operační výzkum. Síťová analýza. Metoda CPM.

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

Příprava dat v softwaru Statistica

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

4.2 Syntaxe predikátové logiky

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

2. úkol MI-PAA. Jan Jůna (junajan)

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

Výroková a predikátová logika - V

Formální systém výrokové logiky

DUM 06 téma: Tvorba makra pomocí VBA

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

Základní pojmy matematické logiky

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Výroková a predikátová logika - II

Úvodem Dříve les než stromy 3 Operace s maticemi

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

0. ÚVOD - matematické symboly, značení,

Překladač a jeho struktura

FUNKCE 3. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Aplikovaná numerická matematika - ANM

Program a životní cyklus programu

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Ontologie. Otakar Trunda

Úvod do informatiky. Miroslav Kolařík

Manuál k programu EMSoftware

Excel - pokračování. Př. Porovnání cestovních kanceláří ohraničení tabulky, úprava šířky sloupců, sestrojení grafu

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

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

Vícerozměrné statistické metody

EXCELentní tipy a triky pro mírně pokročilé. Martina Litschmannová

Necht L je lineární prostor nad R. Operaci : L L R nazýváme

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Transkript:

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY DIPLOMOVÁ PRÁCE Analýza dat ze studentských dotazníků 2013 Bc. Tomáš Matonoha

Anotace Data mining je proces získávání netriviálních a dříve neznámých informací z dat. Na datech z dotazníků při zápisu studentů do 1. ročníku Přírodovědecké fakulty UP v Olomouci z let 2010 a 2011 jsem provedl dolování dat pomocí asociačních pravidel, hierarchického shlukování a metody GUHA. Výsledkem mé práce jsou analyzované shluky a zajímavá pravidla, která se dají využít pro další účely.

Děkuji doc. RNDr. Michalu Krupkovi, Ph.D. za vedení této diplomové práce a za rady při konzultacích.

Obsah 1. Úvod 10 2. Dobývání znalostí z databází 11 2.1. Metodika CRISP-DM......................... 11 2.2. Asociační pravidla.......................... 13 2.2.1. Algoritmy hledání asociačních pravidel........... 14 2.3. Metoda GUHA............................ 16 2.3.1. Pojmy............................. 16 2.3.2. Kvantifikátory......................... 17 2.3.3. Procedury metody GUHA.................. 18 2.4. Shluková analýza........................... 18 2.4.1. Hierarchické shlukování.................... 20 2.4.2. Nehierarchické shlukování.................. 22 3. Software 23 3.1. LISp-Miner.............................. 23 3.1.1. Struktura systému...................... 23 3.1.2. Procedura 4ft-Miner..................... 24 3.2. R.................................... 26 3.2.1. Asociační pravidla...................... 27 3.2.2. Shlukování........................... 27 3.2.3. k-means............................ 28 4. Data mining dotazníků při zápisu do 1. ročníku PřF UP 28 4.1. Struktura dotazníků......................... 29 4.2. Příprava dat.............................. 30 4.3. Rok 2011 - Apl. informatika a Informatika............. 30 4.3.1. Asociační pravidla...................... 30 4.3.2. Hierarchické shlukování.................... 31 4.3.3. k-means............................ 36 4.3.4. Metoda GUHA........................ 37 4.4. Rok 2010 - Apl. informatika a Informatika............. 42 4.4.1. Hierarchické shlukování.................... 42 4.4.2. Metoda GUHA........................ 44 4.5. Rok 2010 a 2011 - Apl. informatika a Informatika......... 46 4.5.1. Hierarchické shlukování.................... 46 4.5.2. Metoda GUHA........................ 47 4.6. Rok 2011 - všechny obory...................... 50 4.6.1. Hierarchické shlukování.................... 50 4.6.2. Metoda GUHA........................ 54 4.7. Rok 2010 - všechny obory...................... 55 4

4.7.1. Hierarchické shlukování.................... 55 4.7.2. Metoda GUHA........................ 60 4.8. Rok 2010 a 2011 - všechny obory.................. 61 4.8.1. Hierarchické shlukování.................... 61 4.8.2. Metoda GUHA........................ 66 4.9. Vyhodnocení výsledků........................ 67 4.9.1. Interpretace pro zákazníka.................. 68 4.10. Závěr.................................. 69 Závěr 70 Conclusions 71 Reference 72 A. Obsah přiloženého CD 73 B. Dendrogramy hierarchického shlukování 74 C. Typičtí zástupci shluků 97 5

Seznam obrázků 1. Fáze metodiky CRISP-DM...................... 12 2. Metoda nejbližšího souseda...................... 21 3. Metoda nejvzdálenějšího souseda.................. 21 4. Metoda průměrné vzdálenosti.................... 21 5. Centroidní metoda.......................... 22 6. LISp-Miner - Modul 4ftTask.exe................... 24 7. Dendrogram shlukování - Apl. inf. a Informatika 2011 (single linkage) 75 8. Dendrogram shlukování - Apl. inf. a Inf. 2011 (average linkage).. 76 9. Dendrogram shlukování - Apl. inf. a Inf. 2011 (complete linkage). 77 10. Dendrogram shlukování - Apl. inf. a Inf. 2011 (Wardova metoda). 78 11. Dendrogram shluk. - Apl. inf. a Inf. 2011 - jádra (complete linkage) 79 12. Dendrogram shluk. - Apl. inf. a Inf. 2011 - jádra (Wardova metoda) 80 13. Dendrogram shlukování - Apl. inf. a Inf. 2010 (complete linkage). 81 14. Dendrogram shlukování - Apl. inf. a Inf. 2010 (Wardova metoda). 82 15. Dendrogram shluk. - Apl. inf. a Inf. 2010 a 2011 (complete linkage) 83 16. Dendrogram shluk. - Apl. inf. a Inf. 2010 a 2011 (Wardova metoda) 84 17. Dendrogram shlukování - 2011 (complete linkage)......... 85 18. Dendrogram shlukování - 2011 (Wardova metoda)......... 86 19. Dendrogram shluk. s obory - 2011 (complete linkage)....... 87 20. Dendrogram shluk. s obory - 2011 (Wardova metoda)....... 88 21. Dendrogram shlukování - 2010 (complete linkage)......... 89 22. Dendrogram shlukování - 2010 (Wardova metoda)......... 90 23. Dendrogram shluk. s obory - 2010 (complete linkage)....... 91 24. Dendrogram shluk. s obory - 2010 (Wardova metoda)....... 92 25. Dendrogram shlukování - 2010 a 2011 (complete linkage)..... 93 26. Dendrogram shlukování - 2010 a 2011 (Wardova metoda)..... 94 27. Dendrogram shluk. s obory - 2010 a 2011 (complete linkage)... 95 28. Dendrogram shluk. s obory - 2010 a 2011 (Wardova metoda)... 96 6

Seznam tabulek 1. Frekvenční (čtyřpolní) tabulka.................... 13 2. Příklad tabulky dat studentů a jejich pozornosti........... 16 3. Vybraná asoc. pravidla (min. podpora 0,1; min. spolehlivost 0,5). 31 4. Tabulka odpovědí a vzdáleností s jednou opačnou odpovědí.... 34 5. Tabulka odpovědí a vzdáleností se třemi různými odpověďmi.... 34 6. Tabulka odpovědí a vzdáleností se třemi různými odpověďmi.... 35 7. Tabulka odpovědí a vzdáleností se třemi různými odpověďmi.... 35 8. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 36 9. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 36 10. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 37 11. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 37 12. Tabulka proc. podílů shluků jednotlivých vah u complete linkage první kategorie............................. 38 13. Tabulka proc. podílů shluků jednotlivých vah u complete linkage druhé kategorie............................. 38 14. Tabulka proc. podílů shluků jednotlivých vah u complete linkage třetí kategorie.............................. 39 15. Tabulka proc. podílů shluků jednotlivých vah u Wardovy metody první kategorie............................. 39 16. Tabulka proc. podílů shluků jednotlivých vah u Wardovy metody druhé kategorie............................. 40 17. Tabulka proc. podílů shluků jednotlivých vah u Wardovy metody třetí kategorie.............................. 40 18. Tabulka hodnot podpory a spolehlivosti............... 41 19. Tabulka hodnot podpory a spolehlivosti............... 41 20. Tabulka hodnot podpory a spolehlivosti............... 42 21. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 44 22. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 44 23. Tabulka hodnot podpory a spolehlivosti............... 45 24. Tabulka hodnot podpory a spolehlivosti............... 46 25. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 48 26. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 48 27. Tabulka hodnot podpory a spolehlivosti............... 49 7

28. Tabulka hodnot podpory a spolehlivosti............... 50 29. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 51 30. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 52 31. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 53 32. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 54 33. Tabulka hodnot podpory a spolehlivosti............... 56 34. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 57 35. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 58 36. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 59 37. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 60 38. Tabulka hodnot podpory a spolehlivosti............... 61 39. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 63 40. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 63 41. Tabulka procentuálních podílů shluků jednotlivých vah u complete linkage................................. 65 42. Tabulka procentuálních podílů shluků jednotlivých vah u Wardovy metody................................. 65 43. Tabulka hodnot podpory a spolehlivosti............... 67 44. Typičtí zástupci shluků - Apl. inf. a Inf. 2011 - complete linkage. 98 45. Typičtí zástupci shluků - Apl. inf. a Inf. 2011 - Wardova metoda. 99 46. Typičtí zástupci shluků - Apl. inf. a Inf. 2011 - complete linkage. 100 47. Typičtí zástupci shluků - Apl. inf. a Inf. 2011 - Wardova metoda. 101 48. Typičtí zástupci shluků - Apl. inf. a Inf. 2010 - complete linkage. 102 49. Typičtí zástupci shluků - Apl. inf. a Inf. 2010 - Wardova metoda. 103 50. Typičtí zástupci shluků - Apl. inf. a Inf. 2010 a 2011 - complete linkage................................. 104 51. Typičtí zástupci shluků - Apl. inf. a Inf. 2010 a 2011 - Wardova metoda................................. 105 52. Typičtí zástupci shluků - 2011 - complete linkage......... 106 53. Typičtí zástupci shluků - 2011 - Wardova metoda......... 108 54. Typičtí zástupci shluků s obory - 2011 - complete linkage..... 109 55. Typičtí zástupci shluků s obory - 2011 - Wardova metoda..... 110 56. Typičtí zástupci shluků - 2010 - complete linkage......... 111 8

57. Typičtí zástupci shluků - 2010 - Wardova metoda......... 112 58. Typičtí zástupci shluků s obory - 2010 - complete linkage..... 113 59. Typičtí zástupci shluků s obory - 2010 - Wardova metoda..... 114 60. Typičtí zástupci shluků - 2010 a 2011 - complete linkage..... 115 61. Typičtí zástupci shluků - 2010 a 2011 - Wardova metoda..... 116 62. Typičtí zástupci shluků s obory - 2010 a 2011 - complete linkage. 118 63. Typičtí zástupci shluků s obory - 2010 a 2011 - Wardova metoda. 119 9

1. Úvod Dobývání znalostí z dat je disciplína, jejíž kořeny sahají do 60. let 20. století. Využívá se hojně v komerční oblasti (marketing, telekomunikace, finance) a vědeckém výzkumu. S neustálým zvyšováním rychlosti a paměti počítačů rostl požadavek po zpracování velkého množství dat. Dolování dat je myšleno jako automatický nebo poloautomatický proces. Jeho výsledkem jsou netriviální a dříve neznámé informace nebo závislosti, které je nutné také vhodně formulovat pro další využití. Cílem této práce je nastudovat a aplikovat vhodné metody dobývání znalostí (především metodu GUHA) na dotazníky při zápisu do 1. ročníku Přírodovědecké fakulty UP z let 2010 a 2011. 10

2. Dobývání znalostí z databází Dobývání znalostí z databází, označováno také jako data mining, je proces získávání netriviálních a dříve neznámých informací z dat. Tento proces je většinou iterativní a má obecně několik kroků, které vedou k určitému cíli. Je to selekce, předzpracování, transformace, dolování dat a interpretace [1] a [2]. Předzpracování dat zahrnuje přípravu dat do formy vyžadované pro aplikaci konkrétních metod. Samotné dolování dat je prováděno analytickými metodami, které mohou být prováděny vícekrát za sebou s různými hodnotami parametrů. Cílem interpretace je vhodné zpracování velkého množství výsledků dolování dat a interpretace cílovým uživatelům. Při řešení problému je nutné ho nejdříve specifikovat a poté je třeba získat všechna dostupná data pro jeho řešení. Existuje několik metod analýzy dat a často je potřeba tyto metody kombinovat navzájem. Mezi nejznámější metody patří klasifikační metody, asociační pravidla, metody explorační analýzy, rozhodovací stromy, genetické algoritmy, neuronové sítě, hrubé množiny atd. V průběhu vývoje byly navrženy metodiky, které poskytují jednotné postupy pro řešení úloh při dolování dat. Některé metodiky vznikly ve výzkumných a komerčních institucích či firmách. Mezi nejznámější metodiky patří 5A, SEMMA a CRISP-DM, kterou blíže představím. Tato kapitola obsahuje teoretický přehled metod dolování dat, které jsem na dotazníky použil. 2.1. Metodika CRISP-DM CRISP-DM (CRoss Industry Standard Process for Data Mining) [3] je jednou z nejpoužívanějších metodik [4]. Byla poprvé publikována v roce 1998 sdružením firem zabývajících se dolováním dat. Jejím cílem je vytvořit univerzální postup při dolování dat a umožnit řešit úlohy rychleji, efektivněji, spolehlivěji a s nižšími náklady. Myšlenkou této metodiky je znázornění procesu získávání znalostí jako neustále se opakující posloupnosti kroků. Metodiku tvoří celkem šest fází, jejichž pořadí není pevně stanoveno. Výsledek jedné fáze ovlivňuje fáze následující a často je třeba se vracet k předchozím fázím. Celý tento proces je znázorněn na obrázku 1. 1. Porozumění problematice - první krok procesu obsahující pochopení cílů a požadavků. Je nutné porozumět zákazníkovi, co vlastně vyžaduje. 2. Porozumění datům - prvotní seznámení a analýza dat dodaných zákazníkem. 11

3. Příprava dat - časově nejnáročnější fáze metodiky. Zahrnuje převedení dat od zákazníka do podoby vhodné pro zpracování dalšími nástroji. V této fázi se vybírají data vhodná pro dolování, zjišťují se chybějící hodnoty, probíhá slučování tabulek, diskretizace atributů a formátování dat [5]. 4. Modelování - v této fázi se na data iterativně aplikují modelovací techniky a vylaďují se optimální hodnoty parametrů. Pro řešení úlohy se použije jedna nebo více dolovacích technik. Pro každou techniku se nastaví vhodné parametry a metriky. 5. Vyhodnocení výsledků - výsledky předchozí fáze musejí být před předáním zákazníkovi zhodnoceny. To zahrnuje i aspekt, zda jsme vůbec našli nové informace. Případně je také nutné opakovat jednotlivé fáze nebo začít celé dobývání dat znovu od začátku. 6. Využití výsledků - výsledky dolování musejí být zákazníkovi dodány v takovém formátu, aby je mohl dále využít. Obrázek 1.: Fáze metodiky CRISP-DM V metodice je kladen velký důraz na přípravnou fázi porozumění problematiky a porozumění reprezentaci problematiky v datech. Po této fázi následuje předzpracování dat a analýza. 12

Tato metodika pokrývá všechny fáze dobývání znalostí z databází a zdůrazňuje jeho cyklický charakter. Podle této metodiky jsem se snažil v mé praktické části diplomové práce řídit. 2.2. Asociační pravidla Asociační pravidla jsou zajímavé vazby ve velkém množství dat a patří k nejčastějším způsobům vyjadřování znalostí. Samotný termín asociační pravidlo zpopularizovala v 90. letech skupina kolem Agrawala, která se zabývala analýzou nákupního košíku (angl. market basket analysis [6]). Tato analýza zjišťuje závislosti mezi zbožím, které si zákazníci vložili do svého nákupního košíku. Znalost této informace se může poté využít pro marketingové účely, rozmístění zboží v prodejně atd. Všechny následující metody dobývání dat z databází pracují nad daty, které jsou ve formě tabulky viz 2. Tato tabulka neboli matice obsahuje obecně m řádků (záznamů) a n sloupců (atributů). Asociační pravidlo je tento výraz: Ant Suc [podpora = p, spolehlivost = s] kde Ant i Suc jsou vzájemně disjunktní množiny konjunkcí hodnot atributů. Ant nazýváme předpoklad a Suc závěr. Výraz vyjadřuje, že záznamy obsahující Ant mají tendenci obsahovat také Suc. Základními charakteristikami asociačních pravidel jsou podpora (support) a spolehlivost (confidence). Asociace, které překročí uživatelem zadané minimální hodnoty podpory a spolehlivosti, jsou označeny jako zajímavé a vypsány na výstup. Tyto charakteristiky jsou počítány ze čtyřpolní tabulky 1. Číslo a uvádí, kolik záznamů splňuje předpoklad a zároveň i závěr. Číslo b je počet záznamů, které splňují předpoklad, ale nesplňují závěr. Číslo r vyjadřuje celkový počet záznamů, které splňují předpoklad. Číslo c, d a s vyjadřují analogicky počet záznamů, které ale nesplňují předpoklad. Číslo k (resp. l) vyjadřuje záznamy splňující (resp. nesplňující) závěr. Číslo n je celkový počet záznamů. Suc Suc Ant a b r Ant c d s k l n Tabulka 1.: Frekvenční (čtyřpolní) tabulka. Podpora je počet záznamů, které splňují předpoklad i závěr: 13

supp(ant Suc) = P (Ant Suc) = a a + b + c + d Spolehlivost (někdy také platnost nebo správnost) je podmíněná pravděpodobnost závěru, pokud platí předpoklad: conf(ant Suc) = P (Suc Ant) = a a + b Existují také další charakteristiky, např. pokrytí (coverage) nebo zdvih (lift). Např. asociační pravidlo Horcice P arky [10 %, 85 %] říká, že hořčice a párky byly koupeny dohromady v 10 % případů. Spolehlivost nám říká, že 85 % košíků, které obsahovaly hořčici, obsahovaly také párky. 2.2.1. Algoritmy hledání asociačních pravidel Pro hledání asociačních pravidel, které splňují minimální hodnoty podpory a spolehlivosti, můžeme využít jednoduchý algoritmus generující všechny možné kombinace. V praxi se však hojně využívá apriori algoritmus. Silné asociační pravidlo je takové pravidlo, které splňuje požadované minimální hodnoty podpory p p i spolehlivosti s p. Množina položek M se nazývá frekventovaná, jestliže dosahuje minimální hodnoty podpory, tzn. P (M) p p. Výsledkem hledání je seznam všech silných asociačních pravidel. Jednoduchý algoritmus by mohl postupně generovat všechny možné kombinace predikátů na levé i pravé straně a testovat taková pravidla v datech. Takový algoritmus má však exponenciální časovou složitost a je tedy nepoužitelný, protože datová matice má většinou velký počet řádků i sloupců. Apriori algoritmus Tzv. apriori algoritmus využívá apriorní znalost silných asociačních pravidel [7]. Algoritmus probíhá ve dvou krocích. V první fázi jsou vyhledány frekventované množiny položek a ve druhé fázi jsou z nich generovány silná asociační pravidla. Apriori znalost znamená, že pokud množina k položek není frekventovaná, potom žádná její nadmnožina také není frekventovaná. Přidáváním položek do M tedy pravděpodobnost P (M) monotónně klesá. V algoritmu se využívá toho, že každá neprázdná podmnožina R frekventované množiny M musí být také frekventovaná. Algoritmus funguje následovně: Vyhledá se frekventovaná množina položek (označíme ji L 1 ) 14

Pomocí množiny L 1 se vyhledá L 2, pomocí L 2 se vyhledá L 3 atd. dokud nelze nalézt žádnou další frekventovanou množinu L k velikosti k. Hledání každé množiny L k vyžaduje jeden průchod daty. Před samotným uvedením algoritmu je nutné ještě zavést pojem kandidát na frekventovanou množinu položek. Je to množina položek, která nebyla prohlášena za nefrekventovanou, ale frekventovanost u ní nebyla potvrzena průchodem dat. Nalezení L k z L k 1 se provádí následovně: Z L k 1 vygenerujeme všechny kandidáty na L k (označíme je C k ) a budeme předpokládat, že jsou položky v množinách lexikograficky seřazeny. Pak stačí kombinovat takové dvojice množin l i, l j L k 1 (i j), které mají k 2 prvních položek stejných a (k 1)-položka je u l i lexikograficky menší než u l j. Výsledný kandidát vznikne spojením l i s poslední (k 1)-položkou l j. Jelikož platí L k C k, je nutné v C k nalézt nefrekventované množiny a odstranit je. Nefrekventovanost množiny lze zjistit jedním průchodem dat. Množina C k však může být rozsáhlá, a tak by bylo její zpracování pomalé. Zde můžeme opět využít apriorní znalost a vyloučit všechny množiny, pro které platí, že všechny jejich podmnožiny nejsou frekventované. Nakonec se s tímto redukovaným C k provede průchod daty. Nalezení všech množin L k je následující: 1. Vygeneruje se množina C 1 kandidátů c 1 i na frekventované množiny velikosti jedna: C 1 = {c 1 i : c 1 i I c 1 i = 1}, kde I je množina všech položek v datech. Nyní se provede průchod daty a pro každého kandidáta se zjišťuje počet výskytů. Vyloučením kandidátů, kteří nemají dostatečnou podporu p p získáme množinu L 1 frekventovaných množin li 1 velikosti jedna: L 1 = {li 1 : li 1 C 1 P (li 1 ) p p }. 2. Nyní se vytvoří kandidáti délky dva vzájemným kombinováním frekventovaných množin délky jedna pomocí algoritmu uvedeného výše. 3. Tento postup opakujeme dokud nenastane, že L k =. Ze všech nalezených frekventovaných položek nyní můžeme vygenerovat silná asociační pravidla. 1. Pro každou frekventovanou množinu položek l se vygenerují všechny neprázdné podmnožiny. 2. Pro každou neprázdnou podmnožinu s množiny l se otestuje nerovnost pocet vyskytu(l) s pocet vyskytu(s) p na splnění minimální spolehlivosti. Pokud je tato nerovnost splněna, patří toto asociační pravidlo s (l s) mezi řešení. 15

2.3. Metoda GUHA Metoda GUHA (General Unary Hypothesis Automaton - automat na obecné unární hypotézy) je metodou explorační analýzy českého původu. Metodu vytvořila skupina vědců kolem Petra Hájka. Její počátky sahají do 60. let 20. století. S podobnou myšlenkou přišla po třiceti letech i skupina kolem Agrawala a pojmenovali ji analýza nákupního košíku se svým algoritmem apriori viz kapitola 2.2.1. Tato metoda však nebyla tolik propracovaná jako metoda GUHA. Cílem metody GUHA je poskytnout zajímavé vztahy (hypotézy) z analyzovaných (empirických) dat. Samotná metoda je realizována pomocí tzv. GUHA procedur. Na vstupu procedury jsou analyzovaná data a definice množiny potenciálně zajímavých vztahů. Výstupem procedury jsou všechny platné vztahy, které nejsou logicky odvoditelné z některého jiného výstupního vztahu. Pojmy asociační pravidlo a hypotéza se volně zaměňují, protože se v podstatě jedná o to samé. 2.3.1. Pojmy Obor ChytryTelefon Notebook Pozornost Informatika Ne Ne vysoka Apl. informatika Ne Ano nizka Informatika Ano Ano vysoka Informatika Ne Ano nizka Apl. informatika Ne Ne vysoka Tabulka 2.: Příklad tabulky dat studentů a jejich pozornosti. Příklad pravidla vygenerovaného metodou GUHA z tabulky 2.: Obor(Informatika) ChytryT elefon(ano) 0,9;0,7 P ozornost(v ysoka) Syntaktické pojmy Predikát - symbolické jméno veličiny (např. Obor, Pozornost) Formule - jeden nebo více predikátů složených pomocí logických spojek negace, konjunkce, disjunkce (např. Obor(Inf ormatika) ChytryT elef on(ano)) Kvantifikátor - symbol určující druh a intenzitu souvislosti (např. 0,9;0,7 - fundovaná implikace viz 2.3.2.) Antecedent - formule na levé straně kvantifikátoru neboli předpoklad (např. Obor(Inf ormatika) ChytryT elef on(ano)) 16

Sukcedent - formule na pravé straně kvantifikátoru neboli závěr (např. P ozornost(v ysoka)) Formální sentence - zápis ve tvaru formule1 q formule2 jehož pravdivost se v datech testuje (q je kvantifikátor) (např. Obor(Informatika) ChytryT elefon(ano) 0,9;0,7 P ozornost(v ysoka)) Sémantické pojmy Pravdivá sentence - sentence pravdivá v datech (funkce kvantifikátoru pro ni vrátila hodnotu 1) Vstupem metody GUHA jsou data ve stejném formátu jako u asociačních pravidel (datová matice). 2.3.2. Kvantifikátory Metoda GUHA systematicky generuje ze zadaných množin antecedentů a sukcedentů hypotézy, které testuje v datech. Na výstup se však zařazují pouze sentence, které podporují nějakou hypotézu. Kvantifikátory popisují druh a intenzitu hypotéz (tedy druh a intenzitu mezi antecedentem a sukcedentem) [8]. Druhy kvantifikátorů: Implikační - A (asi, většinou) je příčinou B (A B) Asociační - A (asi, většinou) souvisí s B (A B) Korelační - A a B (asi, většinou) spolu korelují za podmínky F (A corr B/F ) GUHA používá jako své charakteristiky frekvence. Každý kvantifikátor je funkce frekvencí a, b, c, d čtyřpolní tabulky viz tab. 1. Pokud je tedy výsledkem zobrazení hodnota 1, patří sentence mezi řešení. Výběr zajímavých kvantifikátorů: s,p fundovaná implikace (pro s (0; 1 a p > 0): s,p (a, b, c, d) = 1, je-li a p a a s(a + b) Tento kvantifikátor představuje požadavek na splnění minimální podpory s a spolehlivosti p v datech. Číslo p je zde však absolutní počet výskytů. s,p dvojitá fundovaná implikace (pro s (0; 1 a p > 0): 17

s,p (a, b, c, d) = 1, je-li a p a a s(a + b + c) s,p fundovaná ekvivalence (pro s (0; 1 a p > 0): s,p (a, b, c, d) = 1, je-li a p a (a + d) s(a + b + c + d) 2.3.3. Procedury metody GUHA Metoda GUHA se skládá z několika procedur, mezi něž patří ASSOC, IMPL, COLLAPS a další. Procedura ASSOC Procedura ASSOC hledá v datech pravidla s asociačními kvantifikátory. Antecedent i sukcedent pravidel je ve tvaru elementární konjunkce. Procedura IMPL Procedura IMPL hledá pravidla s implikačními kvantifikátory. Antecedent je ve tvaru elementární konjunkce a sukcedent ve tvaru elementární disjunkce. Procedura COLLAPS Procedura COLLAPS hledá pravidla ve tvaru elementární konjunkce, pro které je podmíněná korelace dvou vybraných reálných veličin v datech vysoká. 2.4. Shluková analýza Úkolem shlukové analýzy neboli shlukování je rozložit množinu objektů popsaných atributy do skupin, kde objekty ve stejné skupině jsou si navzájem více podobné než objekty z jiných skupin. Těmto skupinám říkáme shluky. Za shluk můžeme považovat množinu objektů ve skupině, které mají mezi sebou malé vzdálenosti. O shlucích není před začátkem shlukování nic známo. Shlukování má také za cíl výsledné shluky charakterizovat, případně určit reprezentanty shluků. Shlukovou analýzu netvoří pouze jedna metoda, ale skládá se z několika různých metod. Tyto metody se mohou lišit v tom, co považují samy za shluk, svou složitostí a svými výstupy. U shlukové analýzy vycházíme z toho, že dva objekty jsou si tím podobnější, čím více jejich atributů nabývá stejných nebo podobných hodnot. Každý objekt je vektor s n atributy. Podobnost dvou objektů si nejlépe představíme v geometrické interpretaci vektorů, kde objekty jsou si tím podobnější, čím jsou k sobě blíže. Pro měření vzdálenosti dvou objektů a shluků je potřeba definovat metriku. Nechť M je množina. Metrika na M je reálná funkce d : M M R, která každé uspořádané dvojici (x, y) bodů z M přiřazuje právě jedno reálné číslo d(x, y) tak, že pro každé x, y, z M platí: 18

1. d(x, y) 0 (axiom nezápornosti) 2. d(x, y) = 0 x = y (axiom totožnosti) 3. d(x, y) = d(y, x) (axiom symetrie) 4. d(x, z) d(x, y) + d(y, z) (trojúhelníková nerovnost) Množinu M spolu s metrikou d nazýváme metrickým prostorem, ozn. (M, d). Prvky množiny M nazýváme body metrického prostoru (M, d). Číslo d(x, y) nazýváme vzdáleností bodu x, y. Mezi nejznámější metriky patří Euklidovská a Manhattanská. Euklidovská metrika je definována na množině R n (množina uspořádaných n-tic reálných čísel) předpisem: Nechť x, y R n, x = (x 1,..., x n ), y = (y 1,..., y n ), pak d(x, y) = n (x i y i ) 2 Existuje také čtvercová Euklidovská vzdálenost, která přiřazuje větší váhu bodům, které jsou si vzdálenější. Tato vzdálenost však není metrikou, protože nesplňuje trojúhelníkovou nerovnost. Její předpis je následující: d 2 (x, y) = i=1 n (x i y i ) 2 i=1 Manhattanská metrika byla inspirována pravoúhlou uliční sítí na Manhattanu. Tato metrika je definována na množině R n předpisem: Nechť x, y R n, x = (x 1,..., x n ), y = (y 1,..., y n ), pak d(x, y) = x 1 y 1 + x 2 y 2 +... + x n y n Volba metriky ovlivňuje výsledný tvar shluků a také některé objekty mohou být k sobě bližší nebo naopak vzdálenější. Shlukování můžeme rozdělit dle cíle na hierarchické a nehierarchické. Hierarchické shlukování produkuje hierarchii shluků, kde každý následující rozklad je zjemněním předchozího rozkladu. Nehierarchické shlukování nevytváří hierarchii shluků. Tento typ rozkládá danou množinu na podmnožiny dle předem daného kritéria. 19

2.4.1. Hierarchické shlukování Hierarchické shlukování je metoda shlukové analýzy, která vytváří hierarchii shluků [9]. Hierarchické shlukování se dělí na dva typy: Divizivní: přístup shora dolů. Na počátku tvoří všechny objekty jeden shluk. Shluky se postupně dělí a na konci tvoří každý shluk pouze jeden objekt. Aglomerativní: přístup zdola nahoru. Každý objekt tvoří na počátku jeden shluk. Shluky se postupně slučují a vytvářejí větší shluky. Nakonec se vytvoří jeden shluk obsahující všechny objekty. Nevýhodou hierarchického shlukování je jeho časová složitost, která je nejméně kvadratická. Toto omezení je znát hlavně u velkých datasetů. Výsledek hierarchického shlukování je většinou prezentován jako graf zvaný dendrogram. U aglomerativní metody hierarchického shlukování se vytváří velké množství hladin shluků. Konkrétně z n objektů se vytvoří n 1 hladin shluků. Z tohoto velkého množství rozkladů je vhodné vyhledat pouze několik konkrétních. Existují dva základní způsoby určení výsledné hladiny: hladina se zadaným počtem shluků - pokud známe dopředu počet shluků, vybereme tuto hladinu. největší rozdíly mezi sousedními hladinami - takové hladiny určují nejlepší shluky, na grafu jsou znázorněny delšími vertikálními čarami. Nepodobnost shluků Pro určení dvou nejbližších shluků, které se mají sloučit (aglomerativní metoda) nebo rozdělit (divizivní metoda), se používá míra nepodobnosti [10]. Tato míra se získá kombinací metriky pro výpočet vzdálenosti shluků a shlukovací strategie. Na počátku aglomerativní metody tvoří každý objekt jeden shluk. Vzdálenost mezi těmito shluky určuje metrika (např. Euklidovská). Jednotlivé vzdálenosti mezi shluky můžeme zaznamenat do čtvercové matice se všemi vzájemnými vzdálenostmi. Tato matice je symetrická a na diagonále jsou nuly. Shlukovací strategie se používá pro určení vzdáleností dvou shluků, které se skládají z více než jednoho objektu. Mezi nejvíce používané strategie patří tyto [11]: Nejbližší soused (single linkage): vzdálenost dvou nejbližších objektů z různých shluků viz obr. 2. Nejvzdálenější soused (complete linkage): vzdálenost dvou nejvzdálenějších objektů z různých shluků viz obr. 3. 20

Průměrná vzdálenost objektů (average linkage): průměr vzdáleností všech dvojic objektů z různých shluků viz obr. 4. Centroidní metoda (centroid linkage): vzdálenost center shluků, kde centroid je geometrický střed objektů shluku vypočítaný aritmetickým průměrem viz obr. 5. Wardova metoda (Ward s linkage): suma čtverců vzdáleností center shluků. Obrázek 2.: Metoda nejbližšího souseda Obrázek 3.: Metoda nejvzdálenějšího souseda Obrázek 4.: Metoda průměrné vzdálenosti Po sloučení nebo rozdělení dvou shluků není potřeba znovu počítat všechny vzdálenosti mezi jednotlivými shluky, ale pouze vzdálenosti změněných shluků od ostatních. Jednoduchý algoritmus aglomerativní metody by vypadal následovně: 1. Vypočti matici vzdáleností mezi všemi objekty. 2. Nechť každý objekt je shluk. 21

Obrázek 5.: Centroidní metoda 3. Sluč dva nejbližší shluky. 4. Uprav matici vzdáleností. 5. Opakuj krok 3. pokud existuje více než jeden shluk. 2.4.2. Nehierarchické shlukování Nehierarchické metody shlukování se snaží nalézt jediný optimální rozklad objektů na podmnožiny dle předem daného kritéria. V této skupině lze metody dále rozlišit dle jejich přístupu na: Optimalizační k-středové: iteračním způsobem zlepšují počáteční rozklad objektů. Analýzy modů: metody hledající nejhustší místa prostoru - mody. Fuzzy k-středové: pracují podobně jako iterační metody, ale pro každý objekt se navíc počítá, s jakou pravděpodobností patří do jakého shluku. Neuronové sítě : podobné objekty jsou reprezentovány blízkými si neurony v dané topologii sítě. Nalezení optimálního rozkladu vyzkoušením všech možných kombinací shluků není díky množství objektů možné. Většina algoritmů tedy začíná s nějakým počátečním rozkladem, který se následně optimalizuje. Optimální počet shluků je nutné na začátku shlukování najít. Dle toho se metody dále dělí na metody s pevným počtem shluků nebo s proměnným počtem shluků, kde se počet mění v závislosti na řídících parametrech. Nejznámější nehierarchický algoritmus je k-means, který pracuje s centry shluků. Mezi další patří k-medoids, který pracuje s medoidy. Medoid neboli typický zástupce je objekt shluku, který má minimální průměrnou vzdálenost ke všem ostatním objektům ve shluku. Medoid je narozdíl od centra shluku jedním z jeho reprezentantů. Algoritmy implementující tento přístup jsou např. PAM (Partitioning Around Medoids) nebo CLARA (Clustering LARge Applications). 22

k-means Algoritmus k-means patří mezi optimalizační k-středové algoritmy s pevným počtem shluků. Objekty rozděluje do k shluků. Toto číslo k se zadává před shlukováním a musí být menší nebo rovno než počet objektů. Algoritmus poté náhodně vybere k počátečních centroidů reprezentujících jednotlivé shluky. Alternativně můžeme místo čísla k zadat k počátečních centroidů sami. k-means pracuje tak, že v každé iteraci přiřadí objekt do shluku, jehož geometrický střed vypočítaný dle aritmetického průměru je nejblíže. Algoritmus se tak snaží minimalizovat sumu čtverců uvnitř shluků. Po každém takovém přiřazení se znovu spočítá střed shluku. Nevýhoda algoritmu k-means je skutečnost, že počáteční centroidy shluků jsou vybrány náhodně nebo je musíme zadat. Při ručním výběru počátečních centroidů je vhodné vybrat objekty, které jsou od sebe dostatečně vzdálené, aby algoritmus vyprodukoval dobře rozlišitelné shluky. Jednoduchý k-means algoritmus: 1. Vyber k objektů jako počáteční centroidy shluků. 2. Každý objekt přiřaď do shluku, jehož střed je nejblíže. 3. Vypočti centroidy shluků. 4. Opakuj krok 2. dokud se centroidy pohybují. 3. Software 3.1. LISp-Miner LISp-Miner je akademický softwarový systém implementací několika data miningových procedur založených na metodě GUHA [12]. Systém běží pod operačním systémem Windows. LISp-Miner je vyvíjený skupinou pedagogů a studentů na Vysoké škole ekonomické v Praze. Hlavní GUHA procedurou je 4ft-Miner pro různé typy asociačních pravidel. Mezi další procedury patří KL-Miner, CF-Miner, ETree-Miner atd. Následující text navazuje na kapitolu 2.3. o metodě GUHA. 3.1.1. Struktura systému Systém LISp-Miner tvoří několik samostatných modulů pro přípravu dat, zadání úloh a zobrazení výsledků. Analyzovaná data jsou uložena v databázi MS Access. Zadání úloh a jejich výsledky jsou jako metadata uloženy také v databázi MS Access (metabáze). Modul LMAdmin.exe se spouští jako první a kontroluje metabázi a analyzovaná data. Tímto modulem se také vytváří nová metabáze. 23

Modul LMDataSource.exe slouží pro přípravu a seznámení se s daty. V tomto modulu se zadávají atributy, ze kterých se budou dobývat asociační pravidla. Nezbytné je také zvolení primárního klíče, jehož hodnoty musí být unikátní. Modul umožňuje také vytvářet nové odvozené atributy. V neposlední řadě umožňuje analýzu dat pomocí čtyřpolních tabulek. Modul 4ftTask.exe je jedním z několika modulů, který implementuje metodu GUHA. Mezi další patří např. SD4ft-Miner, KL-Miner nebo CF-Miner. Práce s tímto modulem probíhá tak, že uživatel vytváří jednotlivé úlohy. V každé úloze lze nastavit všechny potřebné parametry. Po vygenerování se výsledky zobrazí v jednoduché textové podobě na výstupu a uloží se do metabáze. Modul 4ftResult.exe je jedním z několika modulů pro zobrazování výsledků dolování dat. Tento modul umožňuje zobrazovat výsledky pouze z modulu 4ft- Task.exe. Podobně pouze modul SD4ftResult.exe zobrazuje výsledky z modulu SD4ftTask.exe. Uživatel si může zobrazit výsledky v různých formách (grafy, čtyřpolní tabulky) a exportovat je do různých formátů (např. do HTML pomocí projektu SEWEBAR). Obrázek 6.: LISp-Miner - Modul 4ftTask.exe 3.1.2. Procedura 4ft-Miner Procedura 4ft-Miner je implementace metody GUHA k získávání asociačních pravidel z dat [13]. Tato procedura je nejvíce používanou implementací procedury ASSOC. 24

Procedura LMDataSource.exe převede databázovou tabulku na analyzovanou matici dat. Procedura 4ft-Miner pracuje s booleovskými atributy ze sloupců analyzované matice. Každý sloupec matice může obsahovat pouze konečné množství hodnot (nazýváme je kategorie). Vstupem procedury 4ft-Miner je: matice dat, množina asociačních pravidel, které mají být generovány, další parametry. Relevantní otázky jsou asociační pravidla, která mají být generována a ověřena. Množina asociačních pravidel, která mají být generována a ověřena, se nazývá množina relevantní otázek. Ta je dána: množinou relevantních antecedentů, množinou relevantních sukcedentů, množinou relevantních podmínek, 4ft-kvantifikátorem. Antecedent, sukcedent a podmínka se skládá z konjunkcí dílčích cedentů, což jsou konjunkce nebo disjunkce literálů. Literál je booleovský atribut A(α) nebo jeho negace A(α) základního booleovského atributu. Množina α v literálu se nazývá koeficient. Tato množina obsahuje jen přípustné hodnoty atributu A. Literál A(α) se nazývá pozitivní literál, A(α) se nazývá negativní literál. Délka literálu je definována jako počet kategorií v koeficientu α. Konjunkce dílčích antecedentů se nazývá relevantní antecedent. Např. φ = φ 1 φ 2... φ k Množina relevantních antecedentů je zadána alespoň jednou množinou relevantních dílčích antecedentů a zadáním minimální a maximální délky antecedentu. Součet délek dílčích antecedentů tvoří celkovou délku antecedentu. Délka dílčího antecedentu je dána počtem literálů v tomto antecedentu. Délka dílčího antecedentu může být i 0, což vede na konjunkce a disjunkce délky 0, které jsou vždy pravdivé. Množina relevantních antecedentů je zadána především: minimální a maximální délkou dílčího antecedentu, seznamem atributů, z nichž jsou generovány literály, použitou booleovskou spojkou (konjunkce, disjunkce), 25

definicí množiny literálů, které mají být pro každý atribut automaticky generovány. Množina literálů, které mají být pro každý atribut generovány, je dána: typem koeficientu (např. subsets, intervals, cyclic intervals, left cuts, right cuts, cuts, one particular category), minimální a maximální délkou literálu, následujícím typem: generovat pouze pozitivní literály, generovat pouze negativní literály, generovat pozitivní i negativní literály. Zadání množiny relevantních sukcedentů a relevantních podmínek je totožné jako v případě relevantních antecedentů. Zadání 4ft-kvantifikátoru probíhá výběrem ze seznamu kvantifikátorů (některé byly uvedeny v kapitole 2.3.2.). Výstupem procedury 4ft-Miner jsou všechna prostá asociační pravidla. Prosté asociační pravidlo je pravidlo, které je pravdivé a zřejmým způsobem neplyne z jiného pravidla uvedeného na výstupu. 3.2. R R je programovací jazyk, otevřený a multiplatformní software určený především pro statistickou analýzu a její grafické zpracování [14]. R je implementací programovacího jazyka S. Kód napsaný v jazyce S lze většinou bez problémů spustit přímo v R. Práce s R probíhá pomocí příkazové řádky, ale jsou dostupná různá grafická rozhraní pro práci s ním. Komunita kolem jazyka R se v posledních letech značně rozšířila a je aktivní. R podporuje procedurální programování, ale také objektově orientované programování. Části systému jsou napsány pomocí samotného jazyka R. Uživatel může při psaní kódu využívat také programovací jazyky C, C++ a Fortran. R je lehce rozšiřitelné pomocí funkcí a rozšíření. Balíky funkcí rozšiřující R se nazývají packages. Velké množství balíků je již obsaženo v základní instalaci programu R. Další balíky jsou dostupné v různých repozitářích. Nejznámější repozitář balíků R je centrální repozitář Comprehensive R Archive Network (CRAN) na adrese http://cran.r-project.org/, který obsahuje několik tisíc balíků. 26

3.2.1. Asociační pravidla Získávání asociačních pravidel v programu R zajišťuje balík arules. Tento balík obsahuje funkci apriori, která využívá stejnojmenný algoritmus. Použití funkce je následující: apriori(data, parameter = NULL, appearance = NULL, control = NULL) První parametr data slouží k zadání datové matice. Druhý parametr slouží k předání parametrů jako je podpora nebo spolehlivost. Parametrem appearance lze nastavit zobrazování pouze určitých pravidel. Posledním parametrem lze ovlivnit výkonnost algoritmu. 3.2.2. Shlukování Při hierarchickém shlukování jsem využil balík stats. Samotné hierarchické shlukování pomocí aglomerativního přístupu provádí funkce hclust: hclust(d, method = "complete", members=null) První parametr d je matice vzdáleností. V druhém parametru se může nepovinně zvolit metoda shlukování (single, complete, average, centroid, ward). Při použití Wardovy metody je nutné předat čtvercovou Euklidovskou vzdálenost. Poslední parametr se využívá při shlukování z jiného než počátečního stavu, tzn. shlukování může začít třeba uprostřed dendrogramu. Matice vzdáleností se získá pomocí funkce dist, která podporuje i chybějící hodnoty a proporčně je započítává do vzdálenosti. dist(x, method = "euclidean", diag = FALSE, upper = FALSE, p = 2) První parametr x je číselná matice. Druhým parametrem lze zvolit metodu výpočtu vzdáleností mezi dvěma objekty. Parametr diag udává, zda se jedná o diagonální matici. Parametr upper udává, zda se mají na výstupu objevit i hodnoty v horním trojúhelníku matice. Posledním parametrem lze zvolit mocninu Minkowského vzdálenosti. Ořezání výsledného stromu provádí funkce cutree, která požaduje objekt z funkce hclust a počet výsledných shluků (parametr k) nebo výšku ve stromě (parametr h), kde má být ořezán. Funkce vrací číselný vektor přiřazující každému objektu číslo shluku. cutree(tree, k = NULL, h = NULL) 27

Pro zpracování výsledků hierarchického shlukování jsem napsal funkci writehierchclusterssummary, která jako své parametry požaduje původní data, počet shluků, vektor přiřazující každému objektu číslo shluku a název výstupního souboru. Tato funkce zapíše jako CSV soubor (hodnoty jsou oddělené čárkou) tabulku obsahující v prvním sloupci jména jednotlivých sloupců původních dat. Dále tabulka obsahuje pro každý shluk jeden sloupec, ve kterém je uvedeno číslo shluku, počet objektů ve shluku a frekvence výskytů všech hodnot, které mohl sloupec v původních datech nabývat. writehierchclusterssummary(data, count, clusternr, filename) Pro spočítání procentuálního rozdílu objektů padnoucích do jiného shluku jsem napsal funkci countcutsdiffinpercent. První tři parametry funkce jsou objekty z funkce hclust. Parametr start určuje počáteční počet shluků a parametr end koncový počet shluků. Funkce postupně iteruje od hodnoty parametru start po end. Uvnitř cyklu se pomocí funkce countvectorsdiff spočítají rozdílné hodnoty ve vektorech vrácené funkcí cutree. countcutsdiffinpercent(hierch1, hierch2, hierch3, start, end) 3.2.3. k-means countvectorsdiff(vec1, vec2) Shlukování pomocí algoritmu k-means provádí v R stejnojmenná funkce [15]. Prvním parametrem je datová matice. Za parametr centers se může dosadit počet shluků (číslo k) nebo již vybraná množina centroidů shluků. V případě dosazení čísla se centroidy shluků vyberou náhodně. Parametr iter.max udává maximální počet iterací algoritmu. Pokud je parametr centers číslo, můžeme parametrem nstart ovlivnit počet náhodně vybraných centroidů shluků. Poslední parametr algorithm umožňuje zvolit typ algoritmus. kmeans(x, centers, iter.max = 10, nstart = 1, algorithm = c("hartigan-wong", "Lloyd", "Forgy", "MacQueen")) 4. Data mining dotazníků při zápisu do 1. ročníku PřF UP Má diplomová práce se zabývá zjištěním zajímavých souvislostí na dotaznících vyplněných studenty při zápisu do 1. ročníku Přírodovědecké fakulty Univerzity Palackého v Olomouci v roce 2010 a 2011. Dotazníky z roku 2012 bohužel nejsou k dispozici. Cílem je analyzovat data oborů Aplikovaná Informatika a Informatika a dále data všech oborů a najít v nich zajímavé souvislosti. 28

4.1. Struktura dotazníků Data z dotazníků byla uložena ve formátu Excel se sloupci studijní obor, střední škola, bydliště, kraj, počet přihlášek a dále 34 otázek. Tyto otázky byly rozděleny do tří tematických okruhů. První okruh otázek se zabývá zjištěním, co ovlivnilo rozhodnutí studenta studovat na PřF UP v Olomouci. Otázky byly následující: rodiče; učitel/é na SŠ nebo ZŠ; osobní kontakt se studentem nebo zaměstnancem PřF UP; spolupráce na projektech PřF UP během studia na SŠ, účast na odborných soustředěních apod.; propagační materiály PřF UP (webové stránky, brožury apod.); exkurze na pracovišti PřF UP, účast na propagační akci pořádané PřF UP; možnost odstěhovat se od rodičů a být nezávislý/á; možnost zůstat v místě bydliště; chtěl/a jsem být se svými kamarády (partnerem); snadnost přijetí na PřF UP (např. bez přijímacích zkoušek); možnost podílet se na špičkovém výzkumu; relativně nízké životní náklady v Olomouci; prestiž a výsledky PřF UP; vize nenáročného studia na PřF UP; atraktivní studijní obor; fakt, že na jinou VŠ, kam jsem se hlásil/a, mě nepřijali a jiné důvody. Druhý okruh otázek zjišťuje, odkud a z jakých informačních zdrojů se student dozvěděl o možnosti studia na PřF UP v Olomouci. Otázky byly následující: od spolužáků, známých, příbuzných apod.; od učitele/ů na střední škole; z televize, z rozhlasu, z novin; z internetových stránek PřF UP; na dni otevřených dveří nebo na jiných propagačních akcích pořádaných PřF UP; na veletrhu Gaudeamus; z propagační brožurky/letáku vydaného PřF UP; z Facebooku či jiné sociální sítě; z prezentace PřF UP na vaší SŠ; na odborných soutěžích, soustředěních apod.; z jiných informačních zdrojů. Třetí okruh otázek obsahuje informace, proč se student rozhodl studovat daný obor. Otázky byly následující: abych mohl/a po absolvování školy získat lukrativní zaměstnání; chtěl/a bych se dát na vědeckou dráhu a dělat výzkum v této oblasti; je to snadná cesta, jak získat vysokoškolský diplom; obor mě zajímá a baví, chci se o něm dozvědět víc; chtěl/a bych dělat práci, pro kterou je potřeba tento obor vystudovat a jiné důvody. Student mohl odpovědět na každou otázku odpovědí: určitě ano, spíše ano, spíše ne, určitě ne. Každý sloupec otázky byl dále rozdělen do čtyř podsloupců s názvy určitě ano, spíše ano, spíše ne a určitě ne. Odpověď studenta byla do příslušného podsloupce zanesena hodnotou x. 29

U každé otázky a i celého dotazníku byla také možnost poznámky. Řádky tvořily jednotlivé odpovědi studentů. Poznámka z celého dotazníku byla uvedena v posledním sloupci. Data z roku 2010 tvořilo celkem 577 záznamů z různých oborů. Obory Aplikovaná informatika a Informatika byly zastoupeny v počtu 79 záznamů. Data z roku 2011 tvořilo celkem 1124 záznamů z různých oborů, z toho 147 záznamů bylo z oboru Aplikovaná informatika a Informatika. U určitého počtu záznamů nebyly vyplněny odpovědi na všechny otázky. 4.2. Příprava dat V metodice CRISP-DM viz kap. 2.1. následuje po porozumění datům fáze přípravy dat. Tato nejnáročnější fáze metodiky má za úkol připravit data pro zpracování samotnými metodami dolování dat. U obou dat dotazníků jsem ručně prošel všechny záznamy oborů, které v mnohých případech obsahovaly jen číslo programu. Množství záznamů obsahuje pouze název programu bez specifikace oboru. Mezi daty z dotazníků roku 2010 a 2011 byly také různě pojmenovány stejné obory např. s různými mezerami. Tyto odlišnosti jsem v datech opravil a pomocí seskupení oborů ověřil, že data neobsahují žádné překlepy. V datech z let 2010 a 2011 se nachází celkem 85 programů a oborů. Do všech podsloupců otázek jsem místo hodnoty x doplnil hodnotu UrciteAno, SpiseAno, SpiseNe a UrciteNe. Následně jsem tyto podsloupce sloučil do jediného a pojmenoval jej podle příslušné otázky. U záznamů z oborů Aplikovaná informatika a Informatika jsem do dat přidal sloupec TypStredni. Do tohoto sloupce jsem doplnil hodnoty ss (střední škola), sps (střední průmyslová škola) nebo gymnazium dle typu střední školy jednotlivých záznamů. 4.3. Rok 2011 - Apl. informatika a Informatika Data z oborů Aplikovaná informatika a Informatika z dotazníků roku 2011 obsahují celkem 147 záznamů. 4.3.1. Asociační pravidla Jako datová matice do programu R byl použitý CSV soubor, který jsem získal exportováním dat z formátu Excel. Sloupce datové matice byly následující: studijní obor, počet přihlášek, střední škola, typ střední školy a dále všechny otázky ze třech okruhů dotazníku. Hodnota sloupce otázky z okruhů dotazníku mohla obsahovat jednu z těchto hodnot: UrciteAno, SpiseAno, SpiseNe, UrciteNe případně prázdnou hodnotu. Následně byly pomocí funkce apriori získány asociační pravidla se zadanou minimální podporou (supp) a spolehlivostí (conf ). Při hledání asociačních pra- 30

videl jsem také pomocí parametru omezil maximální délku položek v pravidle na tři. Toto omezení se mi jevilo jako optimální, jelikož při větších hodnotách se generovala pravidla, která byla pouze kombinací již známých pravidel. Příklad generování asociačních pravidel s nastavenými parametry: rules <- apriori(dotazniky, parameter = list(supp=0.1, conf=0.5, maxlen=3)) Pravidlo Podpora Spolehl. {} => {RozhodnutiAtraktivniObor=SpiseAno} 0,51 0,51 {} => {RozhodnutiPrestizPrf=SpiseAno} 0,52 0,52 {} => {RozhodnutiVyzkum=SpiseAno} 0,52 0,52 {} => {ZdrojeTelevizeNoviny=UrcNe} 0,52 0,52 {} => {ZdrojeGaudeamus=UrcNe} 0,52 0,52 {} => {RozhodnutiUcitele=UrcNe} 0,56 0,56 {} => {ProcZajemObor=UrcAno} 0,56 0,56 {} => {ZdrojeFacebook=UrcNe} 0,56 0,56 {} => {ZdrojePrezentaceNaSs=UrcNe} 0,58 0,58 {} => {StudijniObor=Apl, informatika} 0,62 0,62 {} => {RozhodnutiNeprijetiVs=UrcNe} 0,70 0,7 {} => {RozhodnutiSpolupraceProjekty=UrcNe} 0,72 0,72 {}=> {ZdrojeSoutezeSoustredeni=UrcNe} 0,71 0,71 {StredniSkola=VOŠ a SPŠE Ol.} => {TypStredni=sps} 0,11 1 {ProcDrahaVaV=UrcNe} => {RozhodUcitele=UrcNe} 0,10 0,79 {ZdrSpolZnami=UrcNe} => {RozhRodice=UrcNe} 0,11 0,73 {ZdrSpolZnami=UrcNe} => {ZdrUciteleSs=UrcNe} 0,12 0,82 {ZdrSpolZnami=UrcNe} => {ProcSnadnyDiplom=UrcNe} 0,10 0,68 {ZdrSpolZnami=UrcNe} => {RozhOsobKontakt=UrcNe} 0,13 0,86 Tabulka 3.: Vybraná asoc. pravidla (min. podpora 0,1; min. spolehlivost 0,5). I přes nespočet pokusů s nastavením parametrů funkce apriori jsem získával velké množství asociačních pravidel, která byla již zřejmá nebo byla jejich kombinací viz 3. Vhodnějším nástrojem pro získání asociačních pravidel je metoda GUHA viz kapitola 4.3.4. 4.3.2. Hierarchické shlukování Pro shlukování jsem opět využil program R. Při přípravě dat jsem převedl data z formátu Excel do formátu CSV s hodnotami oddělenými středníkem. Data obsahovala tyto sloupce: střední škola, typ střední školy, počet přihlášek, studijní 31