• No results found

ASOCIAˇCN´I ALGORITMY V DATAMININGOV´YCH ´ULOH´ACH

N/A
N/A
Protected

Academic year: 2022

Share "ASOCIAˇCN´I ALGORITMY V DATAMININGOV´YCH ´ULOH´ACH"

Copied!
44
0
0

Loading.... (view fulltext now)

Full text

(1)

ASOCIAˇ CN´I ALGORITMY V DATAMININGOV ´ YCH ´ ULOH ´ ACH

Bakal´ aˇ rsk´ a pr´ ace

Studijn´ı program: B2646 – Informaˇcn´ı technologie Studijn´ı obor: 1802R007 – Informaˇcn´ı technologie Autor pr´ace: Milan Kov´aˇcik

Vedouc´ı pr´ace: Ing. Bc. Mari´an Lamr

(2)

ASSOCIATION ALGORITHMS IN DATAMINING TASKS

Bachelor thesis

Study programme: B2646 – Information technology Study branch: 1802R007 – Information technology Author: Milan Kov´aˇcik

Supervisor: Ing. Bc. Mari´an Lamr

(3)
(4)
(5)

Prohl´ aˇ sen´ı

Byl jsem sezn´amen s t´ım, ˇze na mou bakal´aˇrskou pr´aci se plnˇe vztahuje z´akon ˇc. 121/2000 Sb., o pr´avu autorsk´em, zejm´ena § 60 – ˇskoln´ı d´ılo.

Beru na vˇedom´ı, ˇze Technick´a univerzita v Liberci (TUL) neza- sahuje do m´ych autorsk´ych pr´av uˇzit´ım m´e bakal´aˇrsk´e pr´ace pro vnitˇrn´ı potˇrebu TUL.

Uˇziji-li bakal´aˇrskou pr´aci nebo poskytnu-li licenci k jej´ımu vyuˇzit´ı, jsem si vˇedom povinnosti informovat o t´eto skuteˇcnosti TUL;

v tomto pˇr´ıpadˇe m´a TUL pr´avo ode mne poˇzadovat ´uhradu n´aklad˚u, kter´e vynaloˇzila na vytvoˇren´ı d´ıla, aˇz do jejich skuteˇcn´e v´yˇse.

Bakal´aˇrskou pr´aci jsem vypracoval samostatnˇe s pouˇzit´ım uveden´e literatury a na z´akladˇe konzultac´ı s vedouc´ım m´e bakal´aˇrsk´e pr´ace a konzultantem.

Datum:

Podpis:

(6)

Abstrakt

Tato bakal´aˇrsk´a pr´ace se zab´yv´a asociaˇcn´ımi algoritmy v data mi- ningov´ych ´uloh´ach. V teoretick´e ˇc´asti je rozebr´ana metodologie CRISP-DM, podle kter´e je zpracov´ana pˇr´ıpadov´a studie pro mode- lovou ´ulohu anal´yza n´akupn´ıho koˇs´ıku. Jako e-learningov´a podpora pro pˇredmˇet data mining byla naprogramov´ana aplikace pro gene- rov´an´ı asociaˇcn´ıch pravidel pomoc´ı algoritmu Apriori.

Kl´ıˇcov´a slova: Data mining, CRISP-DM, anal´yza n´akupn´ıho koˇs´ıku, asociaˇcn´ı pravidla, Apriori

Abstract

This bachelor thesis talks about association algorithms in data mi- ning tasks. There is the analyse of CRISP-DM methodology in the teoretical part, which is base for the case study of the model task:

market basket analyse. The application for generating of associ- ation rules was programmed with using Apriori algorithm as the e-learning support for the Data mining course.

Keywords: Data mining, CRISP-DM, market basket analyse, as- sociation rules, Apriori

(7)

Podˇ ekov´ an´ı

T´ımto bych r´ad podˇekoval sv´emu vedouc´ımu pr´ace Ing. Bc. Mari´anu Lamrovi za konzultace a uˇziteˇcn´e rady pˇri ˇreˇsen´ı pr´ace. Dˇekuji sv´e rodinˇe a pˇr´atel˚um za podporu a RNDr. Kl´aˇre C´ısaˇrov´e, Ph.D.

dˇekuji za konzultace.

(8)

Obsah

Uvod´ 9

1 Data mining 11

1.1 Ulohy v data miningu´ . . . 11

1.2 Metodologie . . . 12

1.2.1 SEMMA . . . 12

1.2.2 CRISP-DM . . . 13

1.3 Cross-selling . . . 16

1.4 Software . . . 16

1.4.1 IBM SPSS Modeler . . . 16

2 Modelov´an´ı v data miningu pomoc´ı asociaˇcn´ıch pravidel 17 2.1 Asociaˇcn´ı pravidla . . . 17

2.2 Princip algoritmu Apriori . . . 18

2.2.1 Generov´an´ı frekventovan´ych mnoˇzin . . . 19

2.2.2 Generov´an´ı asociaˇcn´ıch pravidel . . . 21

3 Anal´yza n´akupn´ıch koˇs´ık˚u 22 3.1 Anal´yza datov´eho souboru . . . 23

3.1.1 Data audit . . . 23

3.1.2 Histogram ID objedn´avky . . . 25

3.1.3 Poˇcet n´avrat˚u z´akazn´ıka . . . 26

3.2 Pˇr´ıprava dat . . . 26

3.3 Modelov´an´ı . . . 28

3.4 Nasazen´ı . . . 31

4 Implementace aplikace 32 4.1 N´avrh grafick´eho rozhran´ı . . . 32

(9)

4.2 Hierarchie tˇr´ıd . . . 33

4.2.1 Zisk dat . . . 33

4.2.2 Cten´ı z csv souboru . . . 34ˇ 4.2.3 Uchov´an´ı atribut˚u . . . 36

4.2.4 Zprostˇredkov´an´ı informac´ı . . . 36

4.2.5 Frekventovan´e mnoˇziny . . . 37

4.2.6 Nalezen´ı implikac´ı . . . 38

4.2.7 Ovˇeˇren´ı nalezen´ych implikac´ı . . . 39

5 Z´avˇer 40 Poˇzit´a literatura . . . 41

Seznam pˇr´ıloh . . . 42

(10)

Uvod ´

T´ematem bakal´aˇrsk´e pr´ace jsou asociaˇcn´ı algoritmy v data miningov´ych ´uloh´ach.

V dneˇsn´ı dobˇe, je ukl´ad´ano st´ale v´ıce dat, kter´e jen bezcennˇe leˇz´ı v datab´az´ıch, a proto se ve svˇetˇe informatiky st´ale v´ıce objevuje pojem data mining. Tento pojem se d´a pˇreloˇzit jako dolov´an´ı dat, nebo vytˇeˇzov´an´ı dat z datab´az´ı. Pomoc´ı dolov´an´ı z dat je moˇzn´e z´ıskat potencion´alnˇe uˇziteˇcn´e informace. Tyto informace je nutn´e zpracovat a posoudit, jak s nimi naloˇzit. Tato pr´ace se zab´yv´a anal´yzou n´akupn´ıho koˇs´ıku, z nˇehoˇz lze z´ıskat spoustu informac´ı pouˇziteln´ych v marketingu.

Jen z jednoduch´eho pr˚uchodu dat lze zjistit strukturu, obsah, ´uplnost a kvalitu dat. Po podrobnˇejˇs´ım zkoum´an´ı m˚uˇzeme zjistit, jac´ı uˇzivatel´e se vracej´ı a co si ku- puj´ı, to je dobr´e pˇredevˇs´ım z obchodn´ıho hlediska, jelikoˇz udrˇzen´ı z´akazn´ıka je m´enˇe n´akladn´e neˇz zisk nov´eho. Z´ıskan´e znalosti je moˇzn´e vyuˇz´ıt na c´ılenou marketingovou kampaˇn, coˇz m˚uˇze uˇsetˇrit velk´e mnoˇzstv´ı penˇez. Hlavn´ı je vˇsak zjistit, jak´e zboˇz´ı si z´akazn´ıci nejˇcastˇeji kupuj´ı v kombinaci s jin´ym zboˇz´ım a pomoc´ı tˇechto infor- mac´ı z´akazn´ık˚um nab´ızet produkty podle toho, co maj´ı aktu´alnˇe ve sv´em n´akupn´ım koˇs´ıku.

Hlavn´ım c´ılem bakal´aˇrsk´e pr´ace je naprogramovat aplikaci na generov´an´ı aso- ciaˇcn´ıch pravidel. Pro generov´an´ı asociaˇcn´ıch pravidel bude pouˇzit algoritmus Apri- ori. Pro aplikaci bude navrhnuto grafick´e rozhran´ı s moˇznost´ı volby vstupn´ıho souboru. Po naˇcten´ı dat, si uˇzivatel bude moci zvolit, z kter´ych atribut˚u (druh zboˇz´ı) m´a generovat asociaˇcn´ı pravidla. V pˇr´ıpadˇe, kdy jsou k dispozici osobn´ı data o z´akazn´ıkovi, lze generovat pravidla pouze na urˇcit´e skupiny lid´ı. Nakonec uˇzivatel nastav´ı citlivost algoritmu a zah´aj´ı generov´an´ı pravidel. V´ystupem programu je ta- bulka vygenerovan´ych asociaˇcn´ıch pravidel. Pˇr´ımo v aplikaci bude moˇzn´e vyzkouˇset si pravidla pomoc´ı simulace n´akupu a podle obsahu koˇs´ıku se c´ılenˇe doporuˇc´ı dalˇs´ı zboˇz´ı. V´ysledn´e implikace bude moˇzn´e uloˇzit do souboru a d´ale pouˇz´ıt v praxi.

D´ılˇc´ım c´ılem je zpracov´an´ı pˇr´ıpadov´e studie pro pˇredmˇet v navazuj´ıc´ım stu-

(11)

diu. Studie zahrnuje celou anal´yzu vˇsech koˇs´ık˚u, zjiˇstˇen´ı a rozebr´an´ı d˚uleˇzit´ych faktor˚u a zpracov´an´ı dat do podoby vhodn´e pro algoritmus Apriori. Anal´yza zahr- nuje sestaven´ı funkˇcn´ıho modelu a vyzkouˇsen´ı vygenerovan´ych pravidel. Pro anal´yzu a sestaven´ı modelu bude pouˇzit data miningov´y n´astroj IBM SPSS Modeler a po- stupovat se bude pomoc´ı metodologie CRISP-DM popsan´e v teoretick´e ˇc´asti.

K dispozici jsou vˇsak jen ide´aln´ı data, vytvoˇren´a ke studijn´ım ´uˇcel˚um, proto z nich nelze zjistit nˇekter´e faktory vypl´yvaj´ıc´ı z praxe. Z´ısk´an´ım dat z re´aln´eho ob- chodu by cel´a anal´yza i v´ysledn´a pravidla mohla b´yt pouˇzita v praxi. Cel´a anal´yza a program mohou poslouˇzit dalˇs´ım provozovatel˚um jako n´avod, jak se svoj´ı datab´az´ı naloˇzit co nejl´epe.

(12)

1. Data mining

Term´ın data mining v pˇrekladu znamen´a dolov´an´ı dat nebo vytˇeˇzov´an´ı dat, nˇekdy ch´ap´ana jako dob´yv´an´ı znalost´ı z datab´aze (Knowledge Discovery in Databases [5]).

Data mining je proces vytˇeˇzov´an´ı dat z rozs´ahl´ych datab´az´ı, k nˇemuˇz se vyuˇz´ıvaj´ı metody umˇel´e inteligence, strojov´eho uˇcen´ı, statistik a datab´azov´ych syst´em˚u.

Obecnˇe jde o vytˇeˇzov´an´ı informac´ı z datab´az´ı a transformovan´ı do srozumiteln´e podoby pouˇziteln´e k dalˇs´ımu pouˇzit´ı.

Manu´aln´ı z´ısk´av´an´ı informac´ı z dat je zn´am´e jiˇz nˇekolik stolet´ı, mezi prvn´ı pouˇz´ıvan´e metody patˇr´ı Bayeovsk´a vˇeta (1700) a regresn´ı anal´yza (1800). S ros- touc´ım vlivem v´ypoˇcetn´ı techniky se zv´yˇsilo shromaˇzd’ov´an´ı a sloˇzitost dat. Nebylo jiˇz moˇzn´e ruˇcn´ı zpracov´an´ı a analyzov´an´ı dat, a proto zaˇcal vzestup automatick´eho zpracov´an´ı dat, kter´y byl podporov´an dalˇs´ımi objevy v informatice, jako jsou shlu- kov´e anal´yzy, neuronov´e s´ıtˇe, rozhodovac´ı stromy a genetick´e algoritmy. Data mining vlastnˇe vyuˇz´ıv´a tyto metody k zisku skryt´ych vzorc˚u v rozs´ahl´ych datech. [1]

1.1 Ulohy v data miningu ´

Dolov´an´ı dat lze pouˇz´ıt na velk´e mnoˇzstv´ı nejr˚uznˇejˇs´ıch probl´em˚u. Jednotliv´e probl´emy lze zaˇradit do kategori´ı, avˇsak rozdˇelen´ı do kategori´ı nen´ı jasnˇe stanoven´e.

Zde je nˇekolik z´akladn´ıch ´uloh ˇreˇsen´ych v data miningu.

• Predikce – na z´akladˇe statick´ych technik jsou pˇredpov´ıd´any n´asleduj´ıc´ı hod- noty z pˇredeˇsl´ych hodnot.

• Deskripce – nalezen´ı skryt´e struktury nebo vazeb, kter´e jsou pouˇzity k n´asledn´emu vyhodnocov´an´ı.

• Klasifikace – rozdˇelen´ı objekt˚u do tˇr´ıd na z´akladˇe spoleˇcn´ych charakteris- tick´ych rys˚u. Tˇr´ıdy jsou d´any pˇredem, a kaˇzd´y objekt do nich lze jednoznaˇcnˇe zaˇradit.

(13)

• Regrese – na z´akladˇe pˇredeˇsl´ych zkuˇsenost´ı pˇredpov´ıd´a n´asleduj´ıc´ı hodnotu.

Jedn´a se o statickou metodu popisuj´ıc´ı vztahy mezi vstupn´ımi a v´ystupn´ımi hodnotami.

• Segmentace – jedn´a se o nejstarˇs´ı techniku pouˇz´ıvanou v data miningu, zaloˇzenou na rozdˇelen´ı objekt˚u do skupin (shluk˚u), kter´e jsou vytv´aˇreny v anal´yze dat. Objekty jsou zaˇrazeny do shluk˚u podle podobnosti charak- teristick´ych rys˚u.

• Sumarizace – sumarizaci je vhodn´e pouˇz´ıt u velk´eho poˇctu dat, k zjiˇstˇen´ı struktury tˇechto dat. Jsou zde pouˇzity z´akladn´ı aritmetick´e operace.

1.2 Metodologie

V souˇcasnosti se data miningem zab´yv´a st´ale v´ıce firem, kter´e chtˇej´ı v´ysledky rychle, levnˇe a efektivnˇe, v d˚usledku toho pˇrich´azej´ı na sc´enu metodologie. Stan- dardizace postup˚u je jedn´ım ze zp˚usob˚u, jak ˇsetˇrit prostˇredky a ˇcas. Bylo vy- tvoˇreno nˇekolik metodologi´ı popisuj´ıc´ı efektivn´ı postup zpracov´an´ı projektu, mezi nejzn´amˇejˇs´ı a nejpouˇz´ıvanˇejˇs´ı patˇr´ı metodologie SEMMA a CRISP-DM.

1.2.1 SEMMA

Jm´eno t´eto metodologie je sloˇzen´ım prvn´ıch p´ısmen z jednotliv´ych f´az´ı vytˇeˇzov´an´ı dat. SEMMA byla vyvinuta spoleˇcnost´ı SAS Institute a je povaˇzov´ana za obecnou metodiku dolov´an´ı dat. Spoleˇcnost SAS Institute tvrd´ı, ˇze SEMMA je sp´ıˇse logick´a organizace funkˇcn´ı sady n´astroj˚u pro produkt SAS Enterprise Miner, a proto jej´ı pouˇz´ıv´an´ı mimo tento produkt m˚uˇze b´yt dvojznaˇcn´e. Je zamˇeˇrena pˇredevˇs´ım na mo- delov´an´ı ´uloh a oproti CRISP-DM nezahrnuje obchodn´ı str´anku projektu. [6]

• Sample – v´ybˇer dat dostateˇcnˇe velik´ych a z´aroveˇn dostateˇcnˇe mal´ych, aby byla data efektivnˇe vyuˇzita.

• Explore – porozumˇen´ı dat˚um, objevov´an´ı souvislost´ı pomoc´ı vizualizace.

• Modify – pˇr´ıprava dat pro modelov´an´ı.

• Model – modelov´an´ı na pˇripraven´ych datech k dosaˇzen´ı v´ysledku.

• Assess – zhodnocen´ı v´ysledk˚u.

(14)

1.2.2 CRISP-DM

Metodologie CRISP-DM (CRoss – Industry Standard Process for Data Mining) byla vyvinuta jako projekt Evropsk´e komise standardizuj´ıc´ı postup vytv´aˇren´ı data miningov´ych projekt˚u. CRISP-DM nab´ız´ı n´avod krok po kroku pro kaˇzdou ˇc´ast projektu. Model pom´ah´a zpracov´avat projekty rychleji, efektivnˇeji, s niˇzˇs´ımi n´aklady a bez bˇeˇzn´ych chyb. Metodologie je pops´ana v ˇsesti kroc´ıch, to vˇsak neznamen´a, ˇze mus´ıme j´ıt od prvn´ıho kroku k posledn´ımu, v r´amci cel´eho projektu se m˚uˇzeme vracet k minul´ym krok˚um a mˇenit je tak, aby bylo dosaˇzeno poˇzadovan´eho c´ıle.

V praxi je bˇeˇzn´e vracet se i nˇekolikr´at do stejn´eho bodu. Na obr´azku 1.1 je zobrazen pr˚ubˇeh cyklu CRISP-DM. [4]

Obr´azek 1.1: Pr˚ubˇeh metodologie CRISP-DM [7]

(15)

• Business understanding - (porozumnˇen´ı problematice)

V prvn´ı f´azi je nutn´e pochopit, ˇceho chce z´akazn´ık dos´ahnout z obchodn´ıho hlediska. Z´akazn´ıci maj´ı obˇcas protich˚udn´e c´ıle a omezen´ı, kter´ym mus´ı analytik porozumˇet a navrhnout vyv´aˇzenou cestu. Dalˇs´ım ´ukolem analytika je odhalen´ı d˚uleˇzit´ych faktor˚u, jeˇz by mohly ovlivnit v´ysledek projektu.

Nejd˚uleˇzitˇejˇs´ı je stanovit spr´avn´y c´ıl a to pˇredevˇs´ım z obchodn´ıho hlediska.

Zde pˇrich´az´ı i prvn´ı pl´an projektu, jak dolovat data za spr´avn´ym ´uˇcelem projektu, stanoven´ı z´akladn´ıch postup˚u a v´ybˇer n´astroj˚u a technik. Je d˚uleˇzit´e stanovit krit´eria pro ´uspˇech z podnikatelsk´eho hlediska. Dalˇs´ım bodem je po- drobnˇejˇs´ı zjiˇstˇen´ı o zdroj´ıch dat, vytvoˇrit seznam dostupn´ych zdroj˚u pro pro- jekt, a to i lidsk´ych zdroj˚u a software. Zkouman´a vstupn´ı data mus´ı b´yt zhodnocena, zda by nemˇela b´yt doplnˇena nebo modifikov´ana. Na z´akladˇe zn´am´ych fakt˚u je nutn´e zhodnotit m´ıru rizika, dostupnost zdroj˚u a v´yˇsi n´aklad˚u. Na rozs´ahlejˇs´ıch projektech, na kter´ych spolupracuje velk´y t´ym je dobr´e sestavit slovn´ık term´ın˚u.

• Data understanding - (porozumnˇen´ı dat˚um)

Zisk dat, nebo pˇr´ıstupu k dat˚um z projektov´ych zdroj˚u, je nutn´e tato data po- chopit, k tomu je k dispozici velk´a ˇrada n´astroj˚u. Pomoc´ı tˇechto n´astroj˚u jsou data charakterizov´ana a jsou pops´any jejich vlastnosti, vˇcetnˇe form´atu dat, mnoˇzstv´ı dat, popis pol´ı kaˇzd´e tabulky a dalˇs´ı objeven´e vlastnosti, pomoc´ı nichˇz je vyhodnoceno, zda data splˇnuj´ı poˇzadavky. Pro anal´yzu se zde ˇcasto vyuˇz´ıv´a jednoduch´ych funkc´ı, jako nalezen´ı minima a maxima, pr˚umˇern´e hod- noty, nebo ˇcetnosti jednotliv´ych hodnot. Pot´e jsou zkoum´any data d˚ukladnˇeji a jsou vytipov´any souvisej´ıc´ı mnoˇziny a jejich podmnoˇziny. Zhodnot´ı se prvn´ı hypot´ezy a jejich vliv na v´ysledek projektu. D˚uleˇzit´e je zhodnocen´ı kvality dat, zda jsou data kompletn´ı a neobsahuj´ı chyby. Pokud obsahuj´ı chyby, je nutn´e vˇedˇet, o jak´e chyby se jedn´a, jak jsou ˇcast´e a jestli mohou ovlivnit v´ysledek.

• Data preparation - (pˇr´ıprava dat)

Na zaˇc´atku je d˚uleˇzit´e zhodnotit technick´e omezen´ı, jako objem dat nebo da- tov´ych typ˚u. Hlavn´ı je selekce potˇrebn´ych atribut˚u (sloupc˚u) a v´ybˇer z´aznam˚u (ˇr´adk˚u). Mus´ı b´yt rozhodnuto jak´e atributy a z´aznamy budou vybr´any nebo vylouˇceny. Pomoc´ı vylouˇcen´ı nˇekter´ych z´aznam˚u je zv´yˇsena kvalita dat.

T´ım jsou vybr´ana pouze kompletn´ı data, je moˇzn´e chybˇej´ıc´ı data doplnit po- moc´ı technik, odhaduj´ıc´ıch chybˇej´ıc´ı ´udaje. Pˇri konstrukci dat mohou vznikat

(16)

nov´e atributy nebo generovan´e z´aznamy, potˇrebn´e pro modelov´an´ı. ˇCasto se sluˇcuje v´ıce zdroj˚u do jednoho spoleˇcn´eho a vytv´aˇr´ı se zcela nov´e tabulky.

• Modeling - (modelov´an´ı)

V prvn´ım kroku byl vybr´an n´astroj pro modelov´an´ı, ale v tomto kroku je nutn´e vybrat konkr´etn´ı modelovac´ı techniku, kter´a bude pouˇzita. Mezi pouˇz´ıvan´e techniky patˇr´ı napˇr´ıklad rozhodovac´ı stromy, neuronov´e s´ıtˇe nebo asociaˇcn´ı pravidla. Je moˇzn´e pouˇz´ıt v´ıce modelovac´ıch technik a porovn´avat v´ysledky, coˇz zv´yˇs´ı pravdˇepodobnost spr´avn´eho v´ysledku. Nˇekter´e modelovac´ı techniky maj´ı specifick´e poˇzadavky na data, kter´e mus´ı b´yt splnˇeny. Pˇred samotn´ym modelov´an´ım je dobr´e sestavit mechanismus na testov´an´ı kvality modelu.

N´asleduje sestaven´ı modelu a nastaven´ı parametr˚u a citlivost jednotliv´ych modelovac´ıch technik pro potˇrebn´y v´ysledek. Na z´avˇer je posuzov´ana pˇresnost a kvalita modelu.

• Evaluation - (zhodnocen´ı)

V minul´em kroku byl model posuzov´an z hlediska pˇresnosti a obecnosti.

V tomto kroku je vˇsak posuzov´an z obchodn´ıho hlediska, zda model splˇnuje c´ıle projektu, je hodnoceno jestli je model pouˇziteln´y ˇci nikoliv. K hodnocen´ı kvality modelu slouˇz´ı dvˇe mnoˇziny, prvn´ı mnoˇzina vstupn´ıch dat, na kter´ych se model nauˇc´ı generovat pravidla, druh´a mnoˇzina slouˇz´ı k otestov´an´ı pravi- del. Pomoc´ı testovac´ıch dat lze urˇcit procentu´aln´ı ´uspˇeˇsnost modelu. V´ysledky mohou uk´azat dalˇs´ı moˇznosti smˇeˇrov´an´ı obchodn´ı taktiky, odhalit nov´e v´yzvy a informace. V okamˇziku, kdy se zd´a, ˇze jsou v´ysledky uspokojiv´e, je vhodn´e udˇelat pˇrezkoum´an´ı a pod´ıvat se do minul´ych krok˚u, jestli nedoˇslo k pˇrehl´ednut´ı chyby nebo nˇekter´eho z v´yznamn´ych faktor˚u. Na z´avˇer je sesta- ven seznam krok˚u dalˇs´ıch moˇzn´ych akc´ı, jak model zlepˇsit nebo modifikovat.

Nakonec je rozhodnuto zda se modul nasad´ı do praxe nebo jestli bude posl´an zpˇet k pˇrepracov´an´ı nˇekter´eho z krok˚u.

• Deployment - (uveden´ı do praxe)

Napl´anov´an´ı strategie pro nasazen´ı do praxe pops´ana krok po kroku. Po na- sazen´ı do praxe je nutn´e monitorovat a udrˇzovat. Spr´avn´a strategie ´udrˇzby pom´ah´a vyhnout se nespr´avn´emu pouˇz´ıv´an´ı. Po zaveden´ı do praxe je nutn´e zhodnotit zda se nevyskytli nˇejak´e chyby a zjistit co se mˇelo st´at ale nestalo.

(17)

1.3 Cross-selling

Bez Cross-sellingu (kˇr´ıˇzov´y prodej) se v dneˇsn´ı dobˇe neobejde ˇz´adn´y vˇetˇs´ı internetov´y obchod, pr´avˇe tato metoda nejv´ıce souvis´ı s prodejem zboˇz´ı na internetu.

Cross-selling je marketingov´a metoda zajiˇst’uj´ıc´ı zv´yˇsen´ı trˇzeb, pomoc´ı c´ılen´e nab´ıdky doplˇnk˚u k zakoupen´emu zboˇz´ı. K z´ısk´an´ı modelu t´eto metody je potˇreba zn´at, co si z´akazn´ıci koupili dˇr´ıve v kombinaci s jin´ym zboˇz´ım. To lze zjistit z da- tab´az´ı, kter´e si kaˇzd´y internetov´y obchod ukl´ad´a. Z tˇechto dat jsou doslova vy- dolov´ana pravidla urˇcuj´ıc´ı nab´ıdku k vybran´emu zboˇz´ı. Pro tento druh dolov´an´ı se nejˇcastˇeji pouˇz´ıv´a algoritmus Apriori.

1.4 Software

Pro sestavov´an´ı model˚u je d˚uleˇzit´e m´ıt software, kter´y zn´a potˇrebn´e modely ke generov´an´ı pravidel a z´aroveˇn um´ı pracovat s r˚uzn´ymi form´aty vstupn´ıch dat. V´ybˇer software z´avis´ı na prostˇredc´ıch, m˚uˇzeme si vybrat mezi open source a komerˇcn´ım software. Pro tuto pr´aci byl vybr´an komerˇcn´ı n´astroj IBM SPSS Modeler.

1.4.1 IBM SPSS Modeler

P˚uvodnˇe se software jmenoval Clementine a byl vyvinut spoleˇcnost´ı Inte- gral Solutions Limited (ISL) ve Velk´e Brit´anii. Prvn´ı verze vyˇsla roku 1994 pod oznaˇcen´ım Clementine 1.0. Tento n´astroj se rychle stal obl´ıben´ym v oblasti data miningu, hlavnˇe d´ıky pouˇzit´ı ikon v grafick´em prostˇred´ı, coˇz uˇzivatele osvobo- zovalo od ruˇcn´ıho psan´ı k´odu v programovac´ım jazyce. Ovˇsem prvn´ı verze Modeleru vydan´a spoleˇcnost´ı IBM je aˇz verze 14.2 z roku 2011.

IBM SPSS Modeler je data miningov´y n´astroj urˇcen´y na anal´yzu textu a do- lov´an´ı dat z datab´az´ı. Vytv´aˇr´ı prediktivn´ı modely a prov´ad´ı r˚uzn´e analytick´e ´ulohy pomoc´ı grafick´eho rozhran´ı, d´ıky kter´emu m˚uˇze uˇzivatel pouˇz´ıvat data miningov´e algoritmy. [3]

(18)

2. Modelov´ an´ı v data miningu pomoc´ı asociaˇ cn´ıch pravidel

2.1 Asociaˇ cn´ı pravidla

V bˇeˇzn´em jazyce se hojnˇe vyuˇz´ıv´a posuzov´an´ı bud’ a nebo, tato syntaxe je z´akladem aciaˇcn´ı pravidla. Jelikoˇz se jedn´a o jedno z nejstarˇs´ıch a nejjednoduˇsˇs´ıch vyhodno- cov´an´ı, patˇr´ı mezi nejpouˇz´ıvanˇejˇs´ı prostˇredky pro reprezentaci znalost´ı. Asociaˇcn´ı pravidla jsou spjata pˇredevˇs´ım s anal´yzou n´akupn´ıho koˇs´ıku. V anal´yze jde o hled´an´ı spoleˇcn´ych vztah˚u mezi jednotliv´ymi atributy, pˇr´ıtomnost jedn´e poloˇzky implikuje jednu nebo v´ıce poloˇzek v jedn´e transakci.

U nalezen´ych pravidel z dat je d˚uleˇzit´e naj´ıt vztahy mezi pˇredpokladem a z´avˇerem.

Ant⇒Con (2.1)

Kde Ant (antecedent, pˇredpoklad) implikuje Con (consequent, z´avˇer). Kombi- nace kategori´ı pro n koˇs´ık˚u zn´azorˇnuje kontingenˇcn´ı tabulka (Tabulka 2.1).

Con -Con P

Ant a b r

-Ant c d s

P k l n

Tabulka 2.1: Kontingenˇcn´ı tabulka

• a = n(Ant V Con)

Poˇcet pˇr´ıpad˚u kdy je splnˇen pˇredpoklad a z´aroveˇn z´avˇer.

• b = n(Ant V -Con)

Poˇcet pˇr´ıpad˚u kdy je splnˇen pˇredpoklad a z´avˇer nen´ı splnˇen.

(19)

• c = n(-Ant V Con)

Poˇcet pˇr´ıpad˚u kdy pˇredpoklad nen´ı splnˇen a z´avˇer je splnˇen.

• d = n(-Ant V -Con)

Poˇcet pˇr´ıpad˚u kdy nen´ı splnˇen pˇredpoklad ani z´avˇer.

Z tˇechto ˇcetnost´ı lze vypoˇc´ıtat charakteristiky vypov´ıdaj´ıc´ı o kvalitˇe nalezen´eho pravidla. Z´akladn´ımi charakteristikami jsou podpora (support) a spolehlivost (con- fidence). Podpora je v kolika procentech pˇr´ıpad˚u byl splnˇen pˇredpoklad i z´avˇer.

Support = a

n (2.2)

Spolehlivost je pravdˇepodobnost splnˇen´ı z´avˇeru, pokud je splnˇen pˇredpoklad.

Conf idence = a

r (2.3)

2.2 Princip algoritmu Apriori

Algoritmus Apriori slouˇz´ı k vyhled´av´an´ı frekventovan´ych mnoˇzin a k n´asledn´emu generov´an´ı asociaˇcn´ıch pravidel. Snahou algoritmu je nal´ezt vazby mezi jednotliv´ymi atributy v datab´azi, takov´e ˇze pˇr´ıtomnost jednoho nebo v´ıce atribut˚u implikuje pˇr´ıtomnost jin´ych atribut˚u v jedn´e transakci. Hlavn´ı snahou je z´ıskat co nejsilnˇejˇs´ı asociaˇcn´ı pravidla. Pomoc´ı n´asleduj´ıc´ıch metrik jsou vybr´ana nejsilnˇejˇs´ı pravidla. [2]

• Podpora (support)

Minim´aln´ı pr´ah ˇcetnosti mnoˇziny poloˇzek v cel´e datab´azi, vyj´adˇren´e v procen- tech. Pokud mnoˇzina poloˇzek splˇnuje minim´aln´ı podporu, je pro algoritmus zaj´ımav´a a bude s n´ı d´ale pracovat.

podpora = kosiky obsahujici mnozinu prvku

vsechny kosiky ∗ 100% (2.4)

• Spolehlivost (confidence)

Jak moc se lze spolehnout na v´ysledn´e pravidla. Spolehlivost je poˇc´ıt´ana pro kaˇzd´y prvek ve frekventovan´e mnoˇzinˇe a jsou vybr´ana jen ta nejsilnˇejˇs´ı pravidla, tedy jen pravidla splˇnuj´ıc´ı zadanou spolehlivost. Kaˇzd´y prvek frek- ventovan´e mnoˇziny je porovn´av´an se vˇsemi jeho podmnoˇzinami.

podpora = pocet vyskytu mnoziny

pocet vyskytu podmnoziny ∗ 100% (2.5)

(20)

2.2.1 Generov´ an´ı frekventovan´ ych mnoˇ zin

Generov´an´ı zaˇc´ın´a pr˚uchodem datab´aze a zjiˇstˇen´ım vˇsech dostupn´ych atribut˚u.

Z tˇech je sestavena prvn´ı jednopoloˇzkov´a mnoˇzina kandid´at˚u, kter´a obsahuje vˇsechny atributy.

Id objedn´avky Seznam zboˇz´ı

1 I1, I2, I4

2 I1, I5

3 I2, I4

4 I1, I2, I4, I5

5 I4, I5

6 I1, I2, I4

7 I2, I4, I5

8 I1, I2, I3, I4, I5

Tabulka 2.2: Datab´aze objedn´avek

V tabulce 2.2 je vidˇet 8 n´akupn´ıch koˇs´ık˚u, kde kaˇzd´y m´a sv˚uj seznam zboˇz´ı.

Pr´avˇe zboˇz´ı budeme potˇrebovat ke generov´an´ı frekventovan´ych mnoˇzin. Pˇredt´ım je vˇsak nutn´e si stanovit vstupn´ı podm´ınky pro generov´an´ı tˇechto mnoˇzin. Pokud zvol´ıme minim´aln´ı podporu 25%, je vypoˇc´ıt´an minim´aln´ı poˇcet koˇs´ık˚u, kter´e mus´ı obsahovat mnoˇzinu zboˇz´ı.

minimalni support = pocet vsech nakupu ∗ zadany support

100 = 8 ∗ 25

100 = 2 (2.6) Pokud je zn´am minim´aln´ı support, m˚uˇze b´yt sestavena prvn´ı mnoˇzina kandid´at˚u C1, kter´a bude obsahovat vˇsechny druhy zboˇz´ı z n´akup˚u. N´aslednˇe bude sestavena frekventovan´a mnoˇzina L1 z kandid´at˚u, kteˇr´ı splˇnuj´ı minim´aln´ı support. Pro zjiˇstˇen´ı ˇcetnosti v´yskytu je nutn´e v kaˇzd´em kroku proj´ıt celou datab´azi.

(21)

Zboˇz´ı Poˇcet v´yskyt˚u

I1 5

I2 6

I3 1

I4 7

I5 5

Tabulka 2.3: Mnoˇzina kandid´at˚u C1

Z mnoˇziny kandid´at˚u C1 vybereme pouze prvky splˇnuj´ıc´ı minim´aln´ı support, tak dostaneme frekventovanou mnoˇzinu L1.

Mnoˇzina Poˇcet v´yskyt˚u

I1 5

I2 6

I4 7

I5 5

Tabulka 2.4: Frekventovan´a mnoˇzina L1

Z vygenerovan´e frekventovan´e mnoˇziny z tabulky 2.3 sestav´ıme novou mnoˇzinu kandid´at˚u C2 spojen´ım mnoˇziny L1 s mnoˇzinou L1. V tomto kroku je vyuˇzita vlast- nost algoritmu Apriori, ten kontroluje jestli kaˇzd´a podmnoˇzina z mnoˇziny kandid´at˚u C2 je frekventovanou mnoˇzinou. Pokud nˇekter´a z podmnoˇzin nen´ı frekventovanou mnoˇzinou je mnoˇzina vylouˇcena z mnoˇziny kandid´at˚u.

Mnoˇzina Poˇcet v´yskyt˚u

I1, I2 4

I1, I4 4

I1, I5 3

I2, I4 5

I2, I5 3

I4, I5 3

Tabulka 2.5: Mnoˇzina kandid´at˚u C2

Jelikoˇz vˇsechny mnoˇziny v mnoˇzinˇe kandid´at˚u splˇnuj´ı minim´aln´ı podporu je v´ysledn´a frekventovan´a mnoˇzina L2 rovna mnoˇzinˇe kandid´at˚u C2. N´asledovalo

(22)

by dalˇs´ı spojen´ı mnoˇziny L2 s mnoˇzinou L2. Takto by algoritmus pokraˇcoval dokud by byly nal´ez´any frekventovan´e mnoˇziny.

2.2.2 Generov´ an´ı asociaˇ cn´ıch pravidel

Nalezen´ı asociaˇcn´ıch pravidel se prov´ad´ı pomoc´ı vyuˇzit´ı siln´ych mnoˇzin, odstranˇena jsou pouze pravidla, jejichˇz confidence nesplˇnuje minim´aln´ı confidenci. Minim´aln´ı confidence se vol´ı jiˇz na zaˇc´atku, pro tento pˇr´ıklad je urˇcena minim´aln´ı confidence 75%. Napˇr´ıklad z frekventovan´e mnoˇziny L2 je vybr´ana mnoˇzina {I2, I4}, z n´ıˇz jsou generov´ana pravidla.

• I2 → I4

conf idence = support{I2, I4}

support{I2} ∗ 100 = 5

6∗ 100 = 83, 3% (2.7)

• I4 → I2

conf idence = support{I2, I4}

support{I4} ∗ 100 = 5

7∗ 100 = 71, 4% (2.8) Odstranˇeno je druh´e pravidlo, kter´e nesplˇnuje minim´aln´ı confidenci. Takto jsou ge- nerov´ana vˇsechna pravidla ze vˇsech nalezen´ych frekventovan´ych mnoˇzin. Pro algorit- mus je nalezen´ı siln´ych pravidel nen´aroˇcn´e oproti hled´an´ı frekventovan´ych mnoˇzin.

(23)

3. Anal´ yza n´ akupn´ıch koˇ s´ık˚ u

C´ılem t´eto pr´ace je zpracov´an´ı ´ulohy anal´yza n´akupn´ıho koˇs´ıku pro pˇredmˇet data mining. Pro tento ´uˇcel byl vybr´an n´astroj IBM SPSS Modeler urˇcen k realizaci cel´ych projekt˚u v oblasti data miningu. V tomto projektu bude pouˇzit pˇredevˇs´ım k anal´yze dat a n´asledn´emu zpracov´an´ı dat. Analytick´a ˇc´ast m´a za ´ukol zjistit vˇse potˇrebn´e o datech, jako jsou chybˇej´ıc´ı hodnoty, nalezen´ı extr´emn´ıch hodnot. Pomoc´ı

´

udaj˚u z anal´yzy se budou data moci zpracovat do v´ysledn´e podoby, potˇrebn´e pro zpracov´an´ı algoritmem Apriori. D´ale bude z anal´yzy vypl´yvat, jak ˇcasto se z´akazn´ıci vracej´ı, z ˇcehoˇz lze vyvodit z´avˇery, jak k takov´ymto z´akazn´ık˚um pˇristupovat.

Kdyˇz jsou zn´ama vˇsechna fakta o datech, je potˇreba data transformovat na z´akladˇe zn´am´ych informac´ı. Proveden´a transformace nemus´ı b´yt koneˇcn´a, jestliˇze dalˇs´ı kroky uk´aˇz´ı, ˇze jsou data nedostateˇcn´a nebo naopak obsahuj´ı v´ıce informac´ı neˇz je potˇreba. Koneˇcn´a transformovan´a data budou uloˇzena do nov´e datov´eho sou- boru, kter´y bude n´aslednˇe zpracov´an. Zpracov´an´ı dat probˇehne pomoc´ı algoritmu Apriori, obsaˇzen´ym v IBM SPSS Modeleru. V tomto kroku je d˚uleˇzit´e nastaven´ı spr´avn´e citlivosti algoritmu, jinak by v´ysledek mohl b´yt znehodnocen. Z´ıskan´e im- plikace budou aplikov´any a na z´akladˇe v´ysledk˚u budou z´akazn´ıkovi nab´ızeny dalˇs´ı druhy zboˇz´ı.

Pro anal´yzu n´akupn´ıho koˇs´ıku je rozhodnuto, pokud je potˇreba efektivnˇe prod´avat souvisej´ıc´ı produkty. Pomoc´ı anal´yzy se dozv´ıme, co si z´akazn´ıci nejˇcastˇeji kupuj´ı v kombinaci s jin´ymi produkty. Toto zjiˇstˇen´ı je pro majitele internetov´eho ob- chodu velmi zaj´ımav´e, jelikoˇz m˚uˇze tˇechto znalost´ı vyuˇz´ıt k c´ılen´e nab´ıdce produktu, kter´e z´akazn´ık zat´ım nekoupil. Z´akazn´ıkovi, kter´y m´a v koˇs´ıku notebook, tak bude nab´ıdnuto to, co si lid´e nejˇcastˇeji kupuj´ı pr´avˇe s notebookem, jako je taˇska na notebook, myˇs nebo chlad´ıc´ı podloˇzka. C´ılem prod´avaj´ıc´ıho je tedy nab´ıdnout z´akazn´ıkovi co nejzaj´ımavˇejˇs´ı zboˇz´ı tak, aby si ho z´akazn´ık koupil.

(24)

3.1 Anal´ yza datov´ eho souboru

K dispozici byla pouze ide´aln´ı data, ze kter´ych nelze z´ıskat informace z praxe. Tato data jsou vytvoˇrena pouze k simulaci a jsou nastavena tak, aby z nich bylo moˇzn´e vydolovat informace. Proto byla sehn´ana re´aln´a data z internetov´eho obchodu, kter´a budou zkoum´ana.

Pˇred zaˇc´atkem generov´an´ı pravidel je nutn´e zjistit podobu dat. Jelikoˇz vstupn´ı soubor pro tento projekt je ve form´atu xsl, m˚uˇze prob´ıhat anal´yza v excelu, vzhledem k mnoˇzstv´ı dat, by anal´yza byla ˇcasovˇe extr´emnˇe n´aroˇcn´e. Ovˇsem v dneˇsn´ı dobˇe kdy je data mining hojnˇe vyuˇz´ıv´an existuje spousta n´astroj˚u urˇcen´ych pr´avˇe pro dolov´an´ı dat. Pro tento projekt byl zvolen IBM SPSS Modeler, kter´y slouˇz´ı jak k anal´yze dat tak i k modelov´an´ı cel´ych projekt˚u. Pomoc´ı IBM SPSS Modeleru budou data pro- zkoum´ana a na z´akladˇe zkoum´an´ı modifikov´ana do potˇrebn´e podoby.

Na obr´azku 3.1 je proud pouˇzit´y pro anal´yzu dat. Vstupem do proudu je soubor export-objednavky.xsl, coˇz jsou data urˇcen´a pro tento projekt v nezmˇenˇen´e podobˇe z internetov´eho obchodu. V uzlu Type se pouze naˇc´ıtaj´ı hodnoty jednotliv´ych atri- but˚u, popˇr´ıpadˇe se zde mohou mˇenit jejich datov´e typy. Tento proud umoˇzˇnuje prozkoumat data pomoc´ı nˇekolika uzl˚u, kter´e odhal´ı nˇekter´a fakta o datech.

Obr´azek 3.1: Proud pro anal´yzu dat

3.1.1 Data audit

Uzel Data Audit je ˇcasto pouˇz´ıv´an k prvotn´ımu zkoum´an´ı vstupn´ıch dat, poskytuje komplexn´ı pohled na data. Zobrazuje souhrnn´e statistiky, histogram a distribuˇcn´ı grafy pro kaˇzd´e pole. Uzel m´a dvˇe karty pouˇziteln´e pro zkoum´an´ı dat prvn´ı z nich karta Audit zobrazuje jiˇz zm´ınˇen´e statistiky a grafy. Na kartˇe quality je posuzov´ana kvalita dat, zobrazuje informace o extr´emn´ıch, odlehl´ych a chybˇej´ıc´ı hodnot´ach. Po- skytuje tak´e n´astroj pro zpracov´an´ı tˇechto dat.

(25)

Obr´azek 3.2: Zobrazen´ı karty quality z uzlu Data Audit

Z auditu dat zobrazen´em na obr´azku 3.2 je patrn´a struktura souboru, kter´y obsahuje ˇsest atribut˚u (sloupc˚u) a 49 428 z´aznam˚u (ˇr´adk˚u). Po pr˚uchodu sou- boru bylo zjiˇstˇeno, ˇze kaˇzd´y z´aznam obsahuje jeden produkt v koˇs´ıku, takˇze v´ıce z´aznam˚u se spoleˇcn´ym ID objedn´avky tvoˇr´ı jeden n´akupn´ı koˇs´ık. Proto bude nutn´e v pˇr´ıpravˇe dat pˇretransformovat data do podoby, kde jeden z´aznam bude obsaho- vat jeden n´akupn´ı koˇs´ık. Ze sloupce Unique je patrn´y poˇcet kategori´ı obsaˇzen´ych v souboru. Ovˇsem 203 kategori´ı je pro sestavov´an´ı modelu pˇr´ıliˇs mnoho. Bylo vyzkouˇseno, ˇze s takto velk´ym mnoˇzstv´ım kategori´ı nen´ı moˇzn´e naj´ıt spoleˇcn´e mnoˇziny.Z pr˚uchodu internetov´ych str´anek je patrn´e, ˇze se jedn´a o podkategorie.

Proto je nutn´e tyto podkategorie slouˇcit do pˇr´ısluˇsn´ych kategori´ı.

Obr´azek 3.3: Zobrazen´ı karty quality z uzlu Data Audit

(26)

Z karty quality auditu dat bylo zjiˇstˇeno, ˇze 58% dat nen´ı kompletn´ı coˇz je vidˇet na Obr´azku 3.3. V ID kategorie a N´azev kategorie produktu je spousta chybˇej´ıc´ıch hodnot, coˇz m˚uˇze b´yt probl´em, jelikoˇz pr´avˇe atribut N´azev kategorie produktu bude pro projekt nejd˚uleˇzitˇejˇs´ı a je nutn´e z´ıskat pouze data obsahuj´ıc´ı tento atribut.

3.1.2 Histogram ID objedn´ avky

Do histogramu vstupuj´ı jiˇz kompletn´ı data, v uzlu Odstranˇen´ı doˇslo k selekci dat bez chybˇej´ıc´ıch prvk˚u. U vybran´ych dat bylo spoˇc´ıt´ano, kolik z´aznam˚u obsahuje jeden n´akupn´ı koˇs´ık, jednotliv´e koˇs´ıky byly setˇr´ıdˇeny podle ID objedn´avky tak, aby bylo patrn´e, jak´y byl v´yvoj poˇctu n´akup˚u na koˇs´ık v ˇcase.

Obr´azek 3.4: Poˇcet n´akup˚u na ID objedn´avky

Z histogramu na obr´azku 3.4 je patrn´y n´ar˚ust okolo hodnoty ID objedn´avky 9 000, takˇze na jeden koˇs´ık pˇripad´a v pr˚umˇeru aˇz dvakr´at v´ıce zboˇz´ı. Tento n´ar˚ust lze vysvˇetlit velkou obchodn´ı kampan´ı, kter´a nal´akala z´akazn´ıky ke koupi zboˇz´ı z ob- chodu. Po pr˚uchodu dat je vˇsak patrn´e, ˇze d˚uvod je zcela jin´y. Do ID objedn´avky 8 914, nejsou kompletn´ı data u n´azv˚u kategori´ı produktu.

(27)

3.1.3 Poˇ cet n´ avrat˚ u z´ akazn´ıka

Z obchodn´ıho hlediska je dobr´e vˇedˇet jac´ı z´akazn´ıci se vrac´ı a nakupuj´ı pravi- delnˇe, o takov´e z´akazn´ıky je potˇreba se starat, aby neutekli ke konkurenci. Vˇern´ym z´akazn´ık˚um jsou nab´ızeny v´yhody ve formˇe bonus˚u, slev nebo d´arkov´ych poukaz˚u.

Proˇc se ale starat o nˇekolik z´akazn´ık˚u, kteˇr´ı se vrac´ı? Odpovˇed’ je jednoduch´a, protoˇze je zn´amo, ˇze n´aklady na udrˇzen´ı st´avaj´ıc´ıch uˇzivatel˚u jsou nˇekolikan´asobnˇe menˇs´ı, neˇz na zisk nov´ych z´akazn´ık˚u. Nejde vˇsak jen o penˇeˇzn´ı str´anku, ale i o ˇcas str´aven´y nad reklamn´ı kampan´ı a administrativou, kter´a vˇsak nakonec nemus´ı m´ıt ˇz´adnou odezvu. Z Obr´azku 3.5 je patrn´e, kteˇr´ı z´akazn´ıci se nejˇcastˇeji vracej´ı do tohoto obchodu.

Obr´azek 3.5: Poˇcet n´avrat˚u z´akazn´ık˚u

3.2 Pˇ r´ıprava dat

Z anal´yzy dat je zˇrejm´e, ˇze data mus´ı b´yt restrukturalizov´ana a nˇekter´e z´aznamy mus´ı b´yt odstranˇeny. Pr˚ubˇeh pˇr´ıpravy dat je zobrazen na obr´azku 3.6.

(28)

Obr´azek 3.6: Proud pro pˇr´ıpravu dat

Vstupem do proudu jsou p˚uvodn´ı data, kter´a pomoc´ı nˇekolika uzl˚u budou zmˇenˇena do potˇrebn´e podoby. Jednotliv´e uzly jsou pops´any na dalˇs´ı str´ance.

• Odstranˇen´ı mezer a uˇziteˇcn´a data

V uzlu Odstranˇen´ı mezer jsou odstranˇena pr´azdn´a m´ısta z atributu n´azev kategorie produktu. V n´asleduj´ıc´ım uzlu Uˇziteˇcn´a data jsou vybr´ana pouze data s ID objedn´avky vyˇsˇs´ı neˇz 8 914, protoˇze pr´avˇe do t´eto objedn´avky je ˇcast´y v´yskyt pr´azdn´ych m´ıst. U vyˇsˇs´ıch ID objedn´avky je poˇcet v´yskyt˚u pr´azdn´ych m´ıst zanedbateln´y a nem´a velk´y vliv na v´ysledn´a pravidla.

• Kategorie

Zde se prov´ad´ı slouˇcen´ı podkategori´ı do kategori´ı podle internetov´eho obchodu.

Jelikoˇz se nejˇcastˇeji kupuj´ı triˇcka a mikiny, bylo rozhodnuto, ˇze tyto dvˇe ka- tegorie se rozdˇel´ı do podkategori´ı a to p´ansk´a, d´amsk´a a dˇetsk´a. V´ysledn´ych implikac´ı je s takto rozdˇelen´ymi kategoriemi v´ıce, neˇz v pˇr´ıpadˇe kdy jsou pouze kategorie triˇcka a mikiny.

• Restrukturalizace

Koneˇcn´e slouˇcen´ı jednotliv´ych ˇr´adk˚u do jednotliv´ych koˇs´ık˚u podle ID ob- jedn´avky. V´ystupem z tohoto uzlu jsou data, kde v prvn´ım sloupci je ID ob- jedn´avky a v dalˇs´ıch kategorie. Pro kaˇzd´y koˇs´ık jsou v jednotliv´ych sloupc´ıch hodnoty T nebo F, podle toho, zda v koˇs´ıku byl produkt z dan´e kategorie (T) ˇ

ci nikoliv (F).

• N´azev kategori´ı a n´akupn´ı koˇs´ıky

Pouze kosmetick´a ´uprava jednotliv´ych atribut˚u, jelikoˇz uzel restrukturalizace automaticky pˇrid´a prefix kaˇzd´e kategorii. Nakonec jsou data exportov´ana do souboru v uzlu n´akupn´ı koˇs´ıky.

(29)

3.3 Modelov´ an´ı

V t´eto f´azi projektu doch´az´ı k z´ısk´an´ı p˚uvodn´ıch poˇzadavk˚u, v tomto pˇr´ıpadˇe k vyge- nerov´an´ı asociaˇcn´ıch pravidel pomoc´ı algoritmu Apriori. Je nutn´e nastavit spr´avn´e vstupn´ı podm´ınky algoritmu, abychom nalezli implikace. Optim´aln´ımi vstupn´ımi podm´ınkami jsou confidence 30% a minim´aln´ı support 3%. Je zˇrejm´e, ˇze vstupn´ı podm´ınky jsou n´ızk´e, to je zapˇr´ıˇcinˇeno pˇredevˇs´ım velkou spoustou jednopoloˇzkov´ych n´akup˚u.

Obr´azek 3.7: Proud pro generov´an´ı asociaˇcn´ıch pravidel

Pˇred samotn´ym generov´an´ım pravidel pomoc´ı Apriori se pod´ıv´ame na vz´ajemn´e vztahy vˇsech druh˚u zboˇz´ı. Pavuˇcinov´y graf z obr´azku 3.8 zobrazuje ˇcetnost spoleˇcn´ych v´yskyt˚u jednotliv´ych poloˇzek v jednom n´akupn´ım koˇs´ıku, s´ıla ˇc´ary urˇcuje ˇcetnost spoleˇcn´ych v´yskyt˚u. Nejˇcastˇeji z´akazn´ıci kupuj´ı p´ansk´a triˇcka s p´ansk´ymi mi- kinami, tento vztah by mˇel b´yt zˇrejm´y i ve vygenerovan´ych asociaˇcn´ıch pravidlech.

(30)

Obr´azek 3.8: Pavuˇcinov´y graf vztah˚u mezi poloˇzkami

Datov´y tok vstupuj´ıc´ı do uzlu Apriori vygeneruje krystal, v nˇemˇz jsou zobra- zeny nalezen´e implikace. Vygenerovan´e implikace podle vstupn´ıch podm´ınek jsou zobrazeny na obr´azku 3.9. Implikace jsou zn´azornˇeny dle n´asleduj´ıc´ıho vztahu.

X⇐A & B & C & ... (3.1) X zn´azorˇnuje sloupec consequent (z´avˇer), pˇredpoklady (sloupec antecedent) jsou zn´azornˇeny pomoc´ı hodnot A, B, C, atd. Aby bylo moˇzn´e nab´ıdnout z´akazn´ıkovi z´avˇer, mus´ı b´yt splnˇeny vˇsechny pˇredpoklady. Ostatn´ı sloupce popisuj´ı statistick´e hodnoty jednotliv´ych implikac´ı.

(31)

Obr´azek 3.9: Nalezen´e implikace

• Instances

Suma koˇs´ık˚u splˇnuj´ıc´ıch pˇredpoklad.

• Support

Kolik procent ze vˇsech koˇs´ık˚u splnilo pˇredpoklad.

• Confidence

Procento pˇr´ıpad˚u, kdy byl splnˇen pˇredpoklad a z´aroveˇn z´avˇer. V´ypoˇcet je prov´adˇen pouze z koˇs´ık˚u, kter´e splnily pˇredpoklad. Tento atribut urˇcuje m´ıru spolehlivosti pravidla.

• Rule support

V kolika procentech vˇsech koˇs´ık˚u se objevil pˇredpoklad i z´avˇer.

• Lift

Zlepˇsen´ı pravidla, kolikr´at je pravidlo lepˇs´ı pˇri pouˇzit´ı pˇredpokladu, neˇz pˇri n´ahodn´em v´ybˇeru zboˇz´ı bez ohledu na ostatn´ı zboˇz´ı.

Lif t = conf idence

support antecedentu (%) (3.2)

• Deployability Procento pˇr´ıpad˚u, kdy byl splnˇen pˇredpoklad, ale z´avˇer ne.

Pro tyto pˇr´ıpady je pravidlo pouˇzito a je nab´ıdnut z´akazn´ıkovi z´avˇer.

Deployability = support − rule support (3.3)

(32)

3.4 Nasazen´ı

Uveden´ı do praxe v Modeleru lze nasimulovat. Do koˇs´ıku je vloˇzen z´akazn´ık˚uv n´akup a na z´akladˇe vygenerovan´ych pravidel rozhodne uzel Apriori co z´akazn´ıkovi nab´ıdnout. Napˇr´ıklad z´akazn´ık m´a v koˇs´ıku d´amskou mikinu a p´ansk´e triˇcko, v uzlu nab´ıdka bude doporuˇcen´ı dalˇs´ıho zboˇz´ı.

Obr´azek 3.10: Doporuˇcen´ı n´akupu

Po pr˚uchodu uzlem Apriori budou z´akazn´ıkovi nab´ıdnuty dva produkty, kter´e splˇnuj´ı pˇredpoklad.

Obr´azek 3.11: Doporuˇcen´e produkty

Nab´ıdku lze ovˇeˇrit, na obr´azku 3.9 je pˇredpoklad d´amsk´a mikina s p´ansk´ym triˇckem dvakr´at a jako sv´e z´avˇery m´a pr´avˇe d´amsk´e triˇcko a p´anskou mikinu.

(33)

4. Implementace aplikace

Hlavn´ım c´ılem je naprogramovat aplikaci umoˇzˇnuj´ıc´ı zpracov´an´ı pˇripraven´ych dat algoritmem Apriori. Spustiteln´a aplikace bude naˇc´ıtat data ve form´atu csv [8].

P v´ybˇeru dat lez nastavit atributy a citlivost pro algoritmus. Pokud jsou dostupn´e osobn´ı informace o z´akazn´ıc´ıch, lze generovat pravidla pouze pro urˇcit´e skupiny z´akazn´ık˚u. Z´ıskan´e implikace budou zobrazeny v tabulce spoleˇcnˇe se statistick´ymi

´

udaji o implikac´ıch. Uˇzivatel pouˇz´ıvaj´ıc´ı aplikaci m˚uˇze simulovat n´akup a pomoc´ı z´ıskan´ych implikac´ı nab´ıdnout dalˇs´ı produkty.

Aplikace byla navrˇzena v jazyce Java, jako podpora pro pˇredmˇet data mining.

Pro jazyk Java bylo rozhodnuto pˇredevˇs´ım kv˚uli tomu, ˇze je multiplatformn´ı. Proto jej studenti budou moci pouˇz´ıvat bez ohledu na vlastn´ı operaˇcn´ı syst´em. Aplikace byla navrˇzena tak, aby simulovala chov´an´ı algoritmu Apriori v IBM SPSS Modeleru a nav´ıc mohla generovat pravidla pouze na c´ılen´e skupiny.

4.1 N´ avrh grafick´ eho rozhran´ı

Grafick´e rozhran´ı slouˇz´ı pˇredevˇs´ım ke snadnˇejˇs´ı manipulaci s algoritmem. Jeho podoba je zn´azornˇena na obr´azku 4.1 s jiˇz vygenerovan´ymi pravidly ze souboru z pˇr´ıpravy dat. Do aplikace je moˇzn´e nahr´avat pouze csv soubory v horn´ı ˇc´asti rozhran´ı pomoc´ı tlaˇc´ıtka vybrat. Po v´ybˇeru se cel´y soubor projde a zjist´ı se jeho atributy, kter´e mohou b´yt, bud’ jednotliv´e druhy zboˇz´ı nebo osobn´ı informace o z´akazn´ıkovi, ty jsou zobrazeny v lev´e ˇc´asti aplikace. Jako posledn´ı moˇznost je zvo- len´ı citlivosti algoritmu pomoc´ı nastaven´ı minim´aln´ıho supportu a minim´aln´ı con- fidence, kde obˇe hodnoty jsou zad´av´any procentu´alnˇe. Po vygenerov´an´ı pravidel se v prav´e ˇc´asti zobraz´ı tabulka s nalezen´ymi implikacemi, kter´e mohou b´yt vy- zkouˇseny pomoc´ı tlaˇc´ıtka n´akup. To vytvoˇr´ı nov´e okno s poloˇzkami a dle vybran´eho zboˇz´ı se zobraz´ı nab´ıdka.

(34)

Obr´azek 4.1: Vzhled grafick´eho rozhran´ı

4.2 Hierarchie tˇ r´ıd

V pˇr´ıloze A je zn´azornˇen diagram tˇr´ıd, kde jsou vidˇet vazby mezi tˇr´ıdami. Je zˇrejm´e, ˇze tˇr´ıda Data je j´adrem t´eto aplikace a ˇr´ıd´ı t´emˇeˇr cel´y program, poskytuje data pouze pro tˇr´ıdu GUI, kter´a ˇr´ıd´ı veˇskerou komunikaci s uˇzivatelem a zobrazuje v´ysledn´a data. K uchov´an´ı atribut˚u a jejich promˇenn´ych je zde tˇr´ıda HeadItems. Z tˇr´ıdy GUI je moˇzn´e spustit pouze GUIBuy, ta slouˇz´ı k ovˇeˇren´ı vygenerovan´ych implikac´ı.

V tˇr´ıdˇe FrequentItemsL jsou generov´any frekventovan´e mnoˇziny a je zde prov´adˇeno generov´an´ı kandid´at˚u a odstranˇen´ı mnoˇzin nesplˇnuj´ıc´ıch support. Poloˇzky ve frek- ventovan´ych mnoˇzin´ach jsou reprezentov´any instancemi z tˇr´ıdy ItemSet. Abstraktn´ı tˇr´ıda Reader slouˇz´ı pouze k dˇedˇen´ı a jej´ım potomkem je CSVReader, ten poskytuje data z vybran´eho souboru. Podrobnˇejˇs´ı popis tˇr´ıd je pops´an n´ıˇze.

4.2.1 Zisk dat

Pro zisk dat slouˇz´ı abstraktn´ı tˇr´ıda Reader slouˇz´ıc´ı pouze k dˇedˇen´ı, byla pouˇzita pˇredevˇs´ım kv˚uli moˇznosti naˇc´ıtat dalˇs´ı vstupn´ı form´aty souboru. Jednotn´e zpra- cov´an´ı vˇsech vstupn´ıch soubor˚u nen´ı moˇzn´e, jelikoˇz kaˇzd´y form´at m´a charakteristic- kou strukturu. Prozat´ım jsou naˇc´ıt´any pouze csv soubory, kter´e zpracov´av´a potomek t´eto tˇr´ıdy CSVReader.

(35)

Prvn´ı volan´a metoda, bez ohledu na to, jak´y je form´at vstupu, je metoda getHeadItems. Jako parametr je pˇred´av´ana cesta k souboru. Metoda vrac´ı pole string˚u s n´azvy atribut˚u a z´aroveˇn je v n´ı nastaveno poˇcet transakc´ı obsaˇzen´ych ve vstupn´ım souboru (setNumberOfShoping). Poˇcet transakc´ı je d˚uleˇzit´y pro v´ypoˇcet minim´aln´ıho supportu a confidence.

public String[] getHeadItems(String path){

this.path = path;

this.filterIndex = null;

setNumberOfShoping();

return getHead();

}

4.2.2 Cten´ı z csv souboru ˇ

CSVReader je potomek tˇr´ıdy Reader, zpracov´av´a vstupn´ı soubory ve form´atu csv.

Tato tˇr´ıda poskytuje data ze souboru a informace o nˇem ostatn´ım tˇr´ıd´am, prob´ıh´a zde i filtrov´an´ı dat podle osobn´ıch informac´ı z´akazn´ıka. Pokud je nastaven filtr, tak metoda getData vrac´ı pouze vyfiltrovan´a data. Na obr´azku 4.2 je zn´azornˇen v´yvojov´y diagram metody getData.

(36)

Obr´azek 4.2: Zisk dat ze souboru

V cyklech while se ˇcte cel´y soubor a je naˇc´ıt´an po ˇr´adc´ıch, ty jsou rozdˇeleny podle stˇredn´ıku do pole string˚u. Je-li nastaven filtr, data jsou filtrov´ana pomoc´ı index˚u filtrovan´ych atribut˚u a k nim pˇriˇrazen´ych hodnot, kter´e maj´ı b´yt vyfiltrov´any.

Metoda getHead vrac´ı pouze hlaviˇcku souboru, tedy vˇsechny atributy obsaˇzen´e v sou- boru. Pomoc´ı pozic tˇechto atribut˚u vrac´ı metoda getFlags hodnoty sv´ych atribut˚u, to je nutn´e abychom mohli nastavit filtrov´an´ı v grafick´em rozhran´ı. Jestliˇze je zvo- leno filtrov´an´ı podle nˇekter´eho atributu, vol´a se funkce setFilter. Ta nastav´ı indexy a s nimi spjat´e hodnoty urˇcen´e pro filtrov´an´ı a tak´e pˇrepoˇc´ıt´a hodnotu numbe- rOfShoping tak, aby odpov´ıdala poˇctu vyfiltrovan´ych koˇs´ık˚u.

(37)

4.2.3 Uchov´ an´ı atribut˚ u

Pomoc´ı instance tˇr´ıdy HeadItem jsou uchov´av´an potˇrebn´a data o atributech.

Pro aplikaci jsou uchov´any hodnoty jm´eno, index, moˇzn´e hodnoty atributu. Po- kud je nastaven filtr uloˇz´ı se vybran´a poloˇzka.

public HeadItem(String name, int index) { this.setName(name);

this.setIndex(index); }

Jiˇz v konstruktoru mus´ı b´yt uvedeny promˇenn´e name a index, jelikoˇz jsou po ce- lou dobu bˇehu programu spolu spjaty. Ostatn´ı metody v t´eto tˇr´ıdˇe jsou pouze gettery a settery pouˇzit´ych promˇenn´ych.

4.2.4 Zprostˇ redkov´ an´ı informac´ı

J´adrem cel´e aplikace je tˇr´ıda Data, kter´a prov´ad´ı veˇskerou komunikace s grafick´ym rozhran´ım, poskytuje k dispozici nejen v´ysledn´e implikace, ale uˇz od zaˇc´atku pro- gramu pˇred´av´a d˚uleˇzit´a data potˇrebn´a k zobrazen´ı uˇzivateli tak, aby mohl uˇzivatel nastavovat filtry a atributy, kter´e budou ovlivˇnovat v´ysledek. Uchov´av´a v sobˇe potˇrebn´e informace o vˇsech atributech, jejichˇz informace jsou uloˇzeny v poli He- adItem. Toto pole je naplnˇeno hned v konstruktoru, kter´y tak´e pˇrij´ım´a cestu k vy- bran´emu souboru, po nastaven´ı cesty jsou vygenerov´any informace o atributech ze souboru. Vˇetˇsina metod zajiˇst’uje r˚uznou komunikaci, takˇze jenom pˇrij´ımaj´ı nebo odes´ılaj´ı informace, nˇekter´e metody zpracov´avaj´ı pˇrijat´a data do potˇrebn´e podoby.

Pro samotn´e generov´an´ı frekventovan´ych mnoˇzin slouˇz´ı metoda run, kter´a pˇrij´ım´a vybran´e atributy, support, confidenci a maxim´aln´ı n-poloˇzkovou mnoˇzinu kandid´at˚u.

(38)

Obr´azek 4.3: Zisk dat ze souboru

Vstupem do metody jsou parametry ovlivˇnuj´ıc´ı generov´an´ı frekventovan´ych mnoˇzin v kaˇzd´em kroku cyklu se vygeneruje nov´a frekventovan´a mnoˇzina, pokud je vˇsak mnoˇzina pr´azdn´a nebo pˇrekroˇc´ı maxim´aln´ı ´uroveˇn (Ln), je posledn´ı mnoˇzina smaz´ana ze seznamu.

4.2.5 Frekventovan´ e mnoˇ ziny

V programu jsou reprezentov´any instanc´ı tˇr´ıdy FrequentItemsetsL, kter´a se star´a o vygenerov´an´ı mnoˇziny kandid´at˚u. Po vygenerov´an´ı kandid´at˚u jsou odstranˇeny mnoˇziny, jeˇz nesplˇnuj´ı pravidlo o frekventovan´ych mnoˇzin´ach (kaˇzd´a podmnoˇzina mus´ı b´yt z´aroveˇn frekventovanou mnoˇzinou ). Pr˚uchodem souboru jsou zjiˇstˇeny sup- porty mnoˇzin a odstranˇeny ty, jeˇz nesplˇnuj´ı minim´aln´ı support. Pro v´ypoˇcet pravidel jsou zde vygenerov´any vˇsechny podmnoˇziny z tˇechto mnoˇzin.

(39)

Obr´azek 4.4: Generov´an´ı frekventovan´e mnoˇziny

Vstupem jsou poloˇzky z minul´e frekventovan´e mnoˇziny, ty jsou pomoc´ı dvou for cykl˚u spojeny, tak se vytvoˇr´ı mnoˇzina kandid´at˚u pro tvorbu je d˚uleˇzit´a metoda compTwo, kter´a rozhodne zda, jsou obˇe poloˇzky vhodn´e ke spojen´ı, pokud ano je vy- tvoˇrena nov´a poloˇzka. Pot´e prob´ıh´a odstranˇen´ı nefrekventovan´ych mnoˇzin a vznik´a nov´a frekventovan´a mnoˇzina.

4.2.6 Nalezen´ı implikac´ı

Poloˇzky ve frekventovan´ych mnoˇzin´ach reprezentuj´ı instance tˇr´ıdy ItemSet, ve kter´ych doch´az´ı k nalezen´ı implikac´ı. V metodˇe getImplication se posuzuje, jak´a pravidla splˇnuj´ı zadan´e vstupn´ı podm´ınky a pro ty vypoˇc´ıt´av´a statistick´e ´udaje.

Vˇsechny nalezen´e implikace jsou vol´any do frekventovan´e mnoˇziny, tam se odstraˇnuj´ı duplicitn´ı z´aznamy, po odstranˇen´ı jsou nalezen´e implikace pˇred´any grafick´emu roz- hran´ı.

(40)

4.2.7 Ovˇ eˇ ren´ı nalezen´ ych implikac´ı

Nalezen´e implikace lze lehce otestovat pˇr´ımo v aplikaci pomoc´ı tlaˇc´ıtka n´akup, to otevˇre nov´e okno, kde je moˇzn´e zadat, co m´a z´akazn´ık v n´akupn´ım koˇs´ıku a na z´akladˇe obsahu jeho koˇs´ıku jsou vyps´any druhy zboˇz´ı, kter´e maj´ı b´yt nab´ıdnuty.

Obr´azek 4.5: Ovˇeˇren´ı nalezen´ych implikac´ı

(41)

5. Z´ avˇ er

C´ılem bakal´aˇrsk´e pr´ace je prov´est anal´yzu n´akupn´ıho koˇs´ıku, nal´ezt d˚uleˇzit´e faktory v datech, zjistit vztahy mezi daty a nal´ezt v nich implikace pomoc´ı asociaˇcn´ıho algo- ritmu Apriori. Naprogramovat aplikaci urˇcenou pro generov´an´ı asociaˇcn´ıch pravidel a vysvˇetlen´ı algoritmu. D´ale pak program a anal´yzu zpracovat jako e-learningovou podporu pro pˇredmˇet data mining. V teoretick´e ˇc´asti je rozeb´ır´ana problematika spjat´a s t´ımto projektem, pˇredevˇs´ım metodologie CRISP-DM, podle kter´e prob´ıhala cel´a anal´yza n´akupn´ıho koˇs´ıku.

Pro zpracov´an´ı bakal´aˇrsk´e pr´ace byla pouˇzita data z internetov´eho obchodu.

Anal´yza dat byla provedena data miningov´ym n´astrojem IBM SPSS Modeler.

Na z´akladˇe anal´yzy se odstranily nepotˇrebn´e nebo zkresluj´ıc´ı z´aznamy a byly zjiˇstˇeny nˇekter´e faktory d˚uleˇzit´e pro vyuˇzit´ı v marketingu. Data bylo nutn´e pˇretransformovat do podoby vhodn´e pro algoritmus Apriori slouˇcen´ım z´aznam˚u, kter´e obsahuj´ı jednu objedn´avku. Na z´avˇer probˇehlo modelov´an´ı, nalezen´ı a ovˇeˇren´ı implikac´ı.

Aplikace byla naprogramov´ana v jazyce java tak, aby byla nez´avisl´a na operaˇcn´ım syst´emu. V aplikaci je moˇzn´e prohl´ednout si, jak algoritmus Apriori funguje.

Z pˇredzpracovan´ych dat z anal´yzy lze vygenerovat implikace, kter´e se zobraz´ı v ta- bulce. Pokud jsou dostupn´a data o z´akazn´ıc´ıch, je moˇzn´e generovat pravidla pouze pro urˇcitou skupinu lid´ı. Z´ıskan´e implikace pomoc´ı programu se shoduj´ı s nalezen´ymi implikacemi d´ıky IBM SPSS Modeleru, pˇri stejn´em nastaven´ı vstupn´ıch podm´ınek.

Tyto implikace je moˇzn´e vyzkouˇset v aplikaci, nebo je uloˇzit do souboru a pouˇz´ıt v praxi.

K nalezen´ı implikac´ı by bylo moˇzn´e do aplikace pˇridat dalˇs´ı algoritmy, v´ysledky by se porovn´avaly a vybr´any by byly jen ty nejlepˇs´ı. Tak´e je moˇzn´e program rozˇs´ıˇrit o moˇznost z´ısk´an´ı implikac´ı v ˇcasov´em rozmez´ı.

(42)

Poˇ zit´ a literatura

[1] DOUG, Alexander. Data Mining. www.laits.utexas.edu [online]. [cit. 2014-05-10].

Dostupn´e z: http://www.laits.utexas.edu/ anorman/BUS.FOR/course.mat/A- lex/

[2] BERKA, Petr. Dob´yv´an´ı znalost´ı z datab´az´ı. Praha: Academia, 2003. 366s. ISBN 80-200-1062-9

[3] IBM SPSS Modeler. [online]. [cit. 2014-05-16].

Dostupn´e z: http://www-01.ibm.com/software/analytics/spss/products/modeler/

[4] What is the CRISP-DM methodology?[online]. [cit. 2014-05-10].

Dostupn´e z: http://www.sv-europe.com/crisp-dm-methodology/

[5] Knowledge Discovery in Databases (KDD). [online]. [cit. 2014-05-10].

Dostupn´e z: http://www.usc.edu/dept/ancntr/Paris-in-LA/Analysis/discove- ry.html

[6] SAS Enterprise Miner. [online]. [cit. 2014-05-16].

Dostupn´e z: http://www.sas.com/offices/europe/uk/technologies/analytics/da- tamining/miner/semma.html

[7] PROCH ´AZKA, Michal. Data mining: jin´y pohled na probl´em. [online]. [cit. 2014- 05-16].

Dostupn´e z: http://vtm.e15.cz/aktuality/data-mining-jiny-pohled-na-problem [8] Shafranovich, Y. Common Format and MIME Type for Comma-Separated Va-

lues (CSV) Files RFC 4180, IETF, October 2005.

Dostupn´e z: http://www.ietf.org/rfc/rfc4180.txt

[9] MCCONNELL, Steve. Dokonal´y k´od: Umˇen´ı programov´an´ı a techniky tvorby software. Computer press, 2006. ISBN 978-80-251-0849-9.

(43)

Seznam pˇ r´ıloh

Pˇr´ıloha A: Diagram tˇr´ıd

(44)

Pˇ r´ıloha A: Diagram tˇ r´ıd

References

Related documents

Bylo by tak´ e vhodn´ e, vyrobit nanovl´ akenn´ y filtr s niˇ zˇs´ım tlakov´ ym sp´ adem (ide´ alnˇ e stejn´ ym, jako maj´ı komerˇ cn´ı c´ıvky) a zjistit jeho ´

Diskr´ etn´ı wavelet transformace (DWT) nal´ ez´ a vyuˇ zit´ı pˇri potlaˇ cov´ an´ı ˇsumu v obrazu.. Opaˇ cn´ y postup se naz´ yv´ a rekonstrukce, kdy pˇri nezmˇ enˇ

Nicm´ enˇ e v t´ eto pr´ aci byla vyuˇ zita pouze jej´ı element´ arn´ı funkˇ cnost, tedy zazn´ amen´ av´ an´ı pohybu prstu po vymezen´ em prostoru bez moˇ znosti

Na obr´ azku 4.35 je zobrazeno porovn´ an´ı akustick´ eho tlaku nad nosn´ıkem uni- morf (bez elektrod i s elektrodami vych´ az´ı nad nosn´ıkem velice podobn´ y akustick´ y

Ke kaˇ zd´ emu videu pouˇ zit´ emu pˇri testov´ an´ı byly hod- noty poˇ ctu osob, kter´ e proˇsly a poˇ ctu unik´ atn´ıch osob, kter´ e se ve videu objevily tak´ e

Mezi data ukl´ adan´ a do datab´ aze patˇr´ı informace o pool serveru, ke kter´ emu je tˇ eˇ zebn´ı klient aktu´ alnˇ e pˇripojen, informace o dobˇ e tˇ eˇ zby aktu´

Za pˇ redpokladu ´ uspˇ eˇ sn´ eho otestov´ an´ı by n´ asledovalo vyuˇ zit´ı odhadnut´ eho a verifikovan´ eho modelu pro predikci, nebo bliˇ zˇ s´ı anal´ yzu zkouman´

V t´ eto kapitole se budeme vˇ enovat rozˇ s´ıˇ ren´ı line´ arn´ıho regresn´ıho modelu pro n vysvˇ etluj´ıc promˇ enn´ ych, tedy X 1..