• No results found

Data Mining and SQL Server 2008

N/A
N/A
Protected

Academic year: 2021

Share "Data Mining and SQL Server 2008"

Copied!
55
0
0

Loading.... (view fulltext now)

Full text

(1)

Fakulta elektrotechniky a informatiky

Katedra informatiky

Data mining a SQL Server 2008

Data mining and SQL Server 2008

(2)

V Ostravˇe 16. dubna 2009 . . . .

Prohlaˇsuji, ˇze jsem tuto bakal´aˇrskou pr´aci vypracoval samostatnˇe. Uvedl jsem vˇsechny liter´arn´ı prameny a publikace, ze kter ´ych jsem ˇcerpal.

(3)
(4)

C´ılem t´eto bakal´aˇrsk´e pr´ace je obecn´e sezn´amen´ı s principy, funkcemi a vyuˇzit´ım do-lov´an´ı dat a jeho realizaci v SQL Serveru 2008. Prvn´ı ˇc´ast se zab ´yv´a popisem integraˇcn´ıch sluˇzeb a metodikou uchov´av´an´ı v´ıcerozmˇern ´ych dat. Druh´a ˇc´ast popisuje teorii a imple-mentaci jednotliv ´ych pouˇz´ıvan ´ych metod. Tˇret´ı ˇc´ast se pak zamˇeˇruje na pouˇzit´ı tˇechto metod a porovn´an´ı v ´yhodnosti jejich aplikace na zadan´a data.

Kl´ıˇcov ´a slova: Anal ´yza dat, Dolov´an´ı dat, Business Intelligence, SQL Server 2008

Abstract

The goal of this bachelor project is to show the principles, functions and usage of data mining and its realisation in SQL Server 2008. The first part is concerned in description of integration services and way of saving multidimensional data. The second part describes theory and implementation of used functions. The third part is focused on using these methods in SQL Server 2008 Developer Edition, comparing its efficiency of its aplications on obtained data.

(5)

BI – Bussiness inteligence

CSV – Comma Separated Values

DM – Data Mining

DSS – Decision-Support Systems

EM – Estimation Maximization

EIS – Eecutive information system KDD – Knowledge Discovery in Databases

MIS – Management Information System

MS – Microsoft

OLAP – On-line Analytical Processing OLTP – On-line Transaction Processing

(6)

Obsah

1 Uvod´ 3

2 Business Intelligence v SQL Serveru 2008 4

2.1 Integrace dat v SQL serveru 2008 . . . 4

2.2 Proces hled´an´ı znalost´ı v datab´az´ıch . . . 7

2.3 Reportovac´ı sluˇzby . . . 8

3 Algoritmy pro dolov´an´ı dat v SQL Serveru 2008 9 3.1 Popis DM metod v SQL Serveru 2008 . . . 9

3.2 Moˇznosti nastaven´ı DM modelu . . . 9

3.3 Moˇznosti nastaven´ı parametr ˚u algoritm ˚u metod pro DM . . . 10

3.4 Metody vizualizace v ´ysledk ˚u anal ´yzy . . . 10

3.5 Asociaˇcn´ı metody . . . 10

3.6 Casov´e ˇrady . . . .ˇ 14 3.7 Shlukovac´ı metody . . . 17

3.8 Rozhodovac´ı stromy . . . 23

3.9 Naivn´ı Bayesova metoda . . . 26

3.10 Neuronov´e s´ıtˇe . . . 27

4 Experimenty s dolov´an´ım dat pomoc´ı SQL Serveru 2008 31 4.1 Tvorba integraˇcn´ıho projektu . . . 31

4.2 Testov´an´ı analytick ´ych sluˇzeb . . . 34

5 Z´avˇer 48

6 Reference 49

(7)

Seznam obr ´azk ˚

u

1 Sch´ema v´ıcevrstv´eho perceptronu . . . 28

2 Sch´ema hlavn´ıho integraˇcn´ıho projektu . . . 32

3 Diagram shluk ˚u (Cluster Diagram) . . . 35

4 Profily shluk ˚u (Cluster Profiles) . . . 36

5 Charakteristika shluk ˚u (Cluster Characteristics) . . . 37

6 Charakteristika shluk ˚u (Cluster Characteristics) po pouˇzit´ı algoritmu K-mean . . . 38

7 Bayesova metoda - profily atribut ˚u . . . 39

8 Asociaˇcn´ı pravidla - nalezen´a pravidla . . . 40

9 Asociaˇcn´ı pravidla - mnoˇzina nalezen ´ych prvk ˚u . . . 41

10 Asociaˇcn´ı pravidla - s´ıt’ z´avislost´ı informac´ı na akc´ıch . . . 42

11 Asociaˇcn´ı pravidla - s´ıt’ z´avislosti akc´ı na ˇcase . . . 43

12 Neuronov´e s´ıtˇe - pˇrehled preferenc´ı . . . 44

13 Logistick´a regrese - pˇrehled preferenc´ı . . . 45

14 Sekvenˇcn´ı shlukov´an´ı - profily shluk ˚u . . . 46

(8)

1

Uvod

´

Dolov´an´ı dat je v ´yznamnou, ne-li nejv ´yznamnˇejˇs´ı, sloˇzkou technologi´ı business intelli-gence. Tyto technologie slouˇz´ı pro pˇrevod surov ´ych historick ´ych dat firem na informace, pˇr´ıpadnˇe znalosti, kter´e jsou snadno interpretovateln´e. Na z´akladˇe takto z´ıskan ´ych in-formac´ı je pak moˇzn´e optimalizovat firemn´ı procesy, marketingov´e kampanˇe, atd.

C´ılem m´e pr´ace bylo sezn´amit se s aplikac´ı integraˇcn´ıch a analytick ´ych sluˇzeb (tedy n´astroji pro dolov´an´ı dat) technologie MS SQL Servr 2008 a prov´est experimenty s apli-kac´ı metod dolov´an´ı dat nad zadanou datab´azi.

V prvn´ı ˇc´asti sv´e pr´ace se vˇenuji obecn´emu popisu business intelligence, integraˇcn´ım sluˇzb´am a jejich vyuˇzit´ı a zp ˚usobu ukl´ad´an´ı vicerozmˇern ´ych dat.

N´asleduj´ıc´ı ˇc´ast je zamˇeˇrena na popis analytick ´ych sluˇzeb, kter´e d´av´a SQL Server 2008 k dispozici. V t´eto ˇc´asti se u popisu kaˇzd´e metody nejprve vˇenuji pops´an´ı princip ˚u jej´ıho zp ˚usobu anal ´yzy a n´asleduje popis toho, jak je konkr´etnˇe metoda implementov´ana v SQL Serveru 2008. Na z´avˇer popisu pak uv´ad´ım seznam parametr ˚u metody, kter´e je moˇzno pouˇz´ıt pro jej´ı optimalizaci.

Posledn´ı kapitola obsahuje popis experiment ˚u s integraˇcn´ımi sluˇzbami a samotn ´ym dolov´an´ım dat. Experimenty byly provedeny nad souborem obsahuj´ıc´ım pˇrihlaˇsovac´ı data (logy) do syst´emu Moodle, kter ´y slouˇz´ı jako podpora pro e-learning. Pomoc´ı inte-graˇcn´ıch sluˇzeb tedy bylo potˇreba data ze souboru korektnˇe vybrat a uloˇzit je do datab´aze serveru. N´asledovala aplikace jednotliv ´ych analytick ´ych sluˇzeb na z´ıskanou datab´azi. Popisy experiment ˚u s metodami sest´avaj´ı z uveden´ı vstupn´ıho nastaven´ı a konfigurace algoritmu testovan´e metody, d´elky v ´ypoˇctu, interpretace v ´ysledku a vyhodnocen´ı efek-tivity (resp. informaˇcn´ıho pˇr´ınosu) metody.

V z´avˇeru shrnuji z´ıskan´e poznatky a zkuˇsenosti s nasazen´ım integraˇcn´ıch a aplikaˇcn´ıch sluˇzeb a sv´e dojmy s prac´ı se syst´emem MS SQL Server 2008.

(9)

2

Business Intelligence v SQL Serveru 2008

Luboslav Lacko [3] definuje pojem Business Intelligence jako proces transformace dat na informace a n´asledn ´y pˇrevod tˇechto informac´ı na poznatky. Petr Berka [4] interpretuje v ´yznam tohoto pojmu rovnic´ı:

business intelligence = artif icial intelligence + business.

Luminita Hurbean [15] popisuje BI podle jeho funkce, jako n´astroj umoˇz ˇnuj´ıc´ı organi-zac´ım extrakci uˇziteˇcn ´ych informac´ı z rychle rostouc´ıho seznamu heterogenn´ıch zdroj ˚u dat, vˇcetnˇe r ˚uzn ´ych datab´azov ´ych platforem, datov ´ych sklad ˚u, datov ´ych trh ˚u a e-business syt´em ˚u.

SQL Server 2008 disponuje v oblasti Business Intelligence n´astroji pro integraci da-tov ´ych zdroj ˚u, anal ´yzu dat a report v ´ysledn´e anal ´yzy.

2.1 Integrace dat v SQL serveru 2008

Integraˇcn´ı sluˇzby MS SQL Serveru 2008 poskytuj´ı n´astroj pro sjednocen´ı heterogenn´ıch zdroj ˚u dat. M ˚uˇze j´ıt o klasick´e syst´emy relaˇcn´ıch datab´az´ı r ˚uzn ´ych spoleˇcnost´ı (Oracle, IBM, Microsoft,...), XML datab´aze, textov´e soubory s hrub ´ymi daty, podnikov´e syst´emy (napˇr. SAP) nebo soubory tabulkov ´ych procesor ˚u.

Integraˇcn´ı sluˇzby je moˇzno navrhovat jako jednor´azov ´y nebo periodicky se vykon´avaj´ıc´ı proces (viz [3]). Druh´a moˇznost se t ´yk´a pˇredevˇs´ım kaˇzdodennˇe se aktualizuj´ıc´ıch da-tov ´ych sklad ˚u. Ve fin´ale jsou data nahr´ana do zadan´eho druhu datab´aze.

2.1.1 Transak ˇcn´ı datab ´aze vs. Analytick ´e datab ´aze (OLAP)

Bˇeˇznˇe pouˇz´ıvan´e transakˇcn´ı datab´aze jsou urˇceny (a optimalizov´any) pro prov´adˇen´ı nej-r ˚uznˇejˇs´ıch obchodn´ıch tnej-ransakc´ı. Tomuto ´uˇcelu je tak´e uzp ˚usobena komplexnost a stnej-ruk- struk-tura ´udaj ˚u, kter´e tyto datab´aze obsahuj´ı a na tomto poli dosahuj´ı vysok ´ych v ´ykon ˚u. Pro prov´adˇen´ı n´aroˇcn ´ych anal ´yz je vˇsak transakˇcn´ı model nevhodn ´y. Pro komplexn´ı anal ´yzy jsou podstatnˇe vhodnˇejˇs´ı multidimenzion´aln´ı modely.

V ´yvoj pˇrechodu od transakˇcnˇe orientovan ´ych syst´em ˚u po analyticky orientovan´e syst´emy mˇel nˇekolik f´az´ı [14].

• MIS - Vstupem tˇechto syst´em ˚u jsou data transakˇcn´ıch syst´em ˚u. MIS poskytovaly manaˇzer ˚um pravideln´e strukturovan´e zpr´avy, nicm´enˇe nebyly schopn´e asistovat manaˇzer ˚um v procesech rozhodov´an´ı.

• DSS - Syst´emy DSS (syst´emy pro podporu rozhodov´an´ı), jiˇz umoˇz ˇnuj´ı nasazen´ı do procesu strategick´eho rozhodov´an´ı poskytov´an´ım v ´ysledk ˚u komplexn´ıch anal ´yz). • EIS - Tyto syst´emy jiˇz umoˇz ˇnily manaˇzer ˚um pˇr´ıstup k dotazov´an´ı datab´az´ı -

uˇzi-vatelsk´e rozhran´ı ”zakrylo”syntaxi SQL. Nev ´yhodou vˇsak bylo omezen´ı sady ana-lytick ´ych metod na pˇredem pˇripraven´e ˇsablony. Sloˇzitˇejˇs´ı konstrukce proto bylo nutn´e opˇet vytv´aˇret pˇrevodem dotazu do jazyka SQL. EIS jsou jiˇz oznaˇcov´any term´ınem Business Intelligence.

(10)

• OLAP - Souˇcasn´e syst´emy OLAP se oproti EIS vyznaˇcuj´ı intuitivn´ım ovl´ad´an´ım a uˇzivatelsky pˇr´ıvˇetivˇejˇs´ım rozhran´ım - mnohdy d´avaj´ı k dispozici n´astroje pro vi-zualizaci v ´ysledk ˚u anal ´yz. Definice tˇechto syst´em ˚u je voln´a, jde sp´ıˇse o syst´emy zaloˇzen´e na urˇcit ´ych principech. Pomˇernˇe dobˇre je charakterizuje 12 pravidel OLAP od Dr. Edgara Franka Codda (viz [3] - pro ponˇekud odliˇsn´a krit´eria syt´em ˚u OLAP viz [4])

1. Multidimenzion´aln´ı konceptu´aln´ı pohled - OLAP mus´ı nab´ızet multidimenzion´aln´ı model odpov´ıdaj´ıc´ı potˇreb´am.

2. Transparentnost - Architektura v ´ypoˇct ˚u, podˇr´ızen´a datab´aze a technologie OLAP by mˇela pro b ´yt uˇzivatele pˇrehledn´a a umoˇz ˇnovat mu snadn´e pouˇzit´ı front-end n´astroj ˚u.

3. Dostupnost - Syst´em by mˇel pˇristupovat jen k dat ˚um, kter´e jsou nutn´e pro pro-veden´ı anal ´yzy.

4. Konzistentn´ı vykazov´an´ı - R ˚ust datab´aze by nemˇel znatelnˇe ovliv ˇnovat rychlost anal ´yzy.

5. Architektura klient-server - Syst´em OLAP mus´ı pracovat na z´akladˇe architektury klient-server.

6. Generick´a dimenzionalita - Dimenze mus´ı b ´yt co do struktury a operaˇcn´ıch schop-nost´ı ekvivalentn´ı.

7. Dynamick´e oˇsetˇren´ı ˇr´ıdk´ych matic - OLAP by mˇel pˇrizp ˚usobovat sv´e fyzick´e uspoˇr´ad´an´ı konkr´etn´ımu analytick´emu modelu, vˇcetnˇe optimalizace oˇsetˇren´ı ˇr´ıdk ´ych matic (viz Datov´e modely v OLAP).

8. Podpora pro v´ıce uˇzivatel ˚u - Syst´em mus´ı podporovat pr´aci v´ıce uˇzivatel ˚u na jednom modelu.

9. Neomezen´e kˇr´ıˇzov´e dimenzion´aln´ı operace - Syst´em mus´ı b ´yt schopen rozpoznat hierarchie dimenz´ı a vykon´avat asociovan´e kumulovan´e kalkulace jak nad jednou, tak nad v´ıce dimenzemi souˇcasnˇe.

10. Intuitivn´ı manipulace s daty - Uˇzivatelsk´e rozhran´ı by mˇelo umoˇz ˇnovat intui-tivn´ı manipulaci se syst´emem a analytick ´ymi sluˇzbami.

11. Flexibiln´ı vykazov´an´ı - Syst´em mus´ı umoˇz ˇnovat anal ´yzu pomoc´ı intuitivn´ı vizu´aln´ı prezentace, na z´akladˇe uspoˇr´ad´an´ı ˇr´adk ˚u a sloupc ˚u.

12. Neomezen´e dimenze ´urovnˇe agregace - OLAP by nemˇel zav´adˇet umˇel´e omezen´ı poˇctu podporovan ´ych dimenz´ı modelu.

2.1.2 Datov ´e modely v OLAP

Pro syst´emy OLAP je typick´e, ˇze na data pohl´ıˇzej´ı jako na tzv. datovou krychli (data cube). Je bˇeˇzn´e, ˇze tyto ”kostky”maj´ı v´ıce neˇz 3 rozmˇery (nejde tedy v prav´em slova smyslu o krychle, ale sp´ıˇse hyperkrychle (hypercubes)). Syst´emy vyuˇz´ıvaj´ıc´ı n-rozmˇern´e krychle jsou oznaˇcov´any jako MOLAP (multidimensional OLAP).

(11)

Atributy jsou zde reprezentov´any dimenzemi, z´aznamy pak tovˇr´ı jednotliv´e bu ˇnky krychle. Kromˇe samotn ´ych z´aznam ˚u z operaˇcn´ı datab´aze obsahuj´ı datov´e krychle tak´e d´ılˇc´ı agregace, kter´e pˇredevˇs´ım umoˇz ˇnuj´ı velmi rychlou odezvu na ad-hoc dotazy (viz [4]).

Z´aznamy v tˇechto krychl´ıch se pak nach´azej´ı na pˇr´ısluˇsn ´ych pr ˚useˇc´ıc´ıch jednotliv ´ych dimenz´ı. Tento zp ˚usob vˇsak vede k velice ˇr´ıdk´emu ukl´ad´an´ı dat. Fyzick´a implementace se proto od logick´e implementace liˇs´ı. Nejrozˇs´ıˇrenˇejˇs´ı jsou tyto dva pˇr´ıstupy (viz [4]) -oba dva jsou k dispozici v OLE DB:

• Hyperkrychle - Tento pˇr´ıstup implementuje datov ´y model tak, ˇze vˇsechny dimenze n´aleˇz´ı jedin´e n-rozmˇern´e krychli. V ´yhodou tohoto pˇr´ıstupu je jednoduch´a a srozu-mitlen´a struktura.

• Multikrychle - V tomto modelu jsou data rozdˇeleny v nˇekolika menˇs´ıch krychl´ıch, z nichˇz kaˇzd´a m´a pˇriˇrazeno jen nˇekolik vlastn´ıch dimenz´ı. Tento pˇr´ıstup je sice sloˇzitˇejˇs´ı neˇz hyperkrychle, to je vˇsak vyv´aˇzeno ´uspornˇejˇs´ım zp ˚usobem uloˇzen´ı dat. Nev ´yhodou syst´em ˚u MOLAP je jejich n´aroˇcnost na datov ´y server (data jsou uloˇzena jednak standardn´ım zp ˚usobem v relaˇcn´ı datab´azi, jednak v multidimenzion´aln´ı datab´azi). Tyto syst´emy proto nejsou vhodn´e pro dynamick´e aplikace a sv´e vyuˇzit´ı nach´azej´ı sp´ıˇse ve stˇrednˇe velk ´ych (5-10 milion ˚u z´aznam ˚u v dimenzi) statick ´ych aplikac´ıch (napˇr. anal ´yza prodeje urˇcit´eho produktu). V ´ychoz´ı nastaven´ı ´uloˇzn´eho m ´odu (storage mode) v SQL Serveru 2008 je nastaveno pr´avˇe na MOLAP (viz [7]).

Pro opravdu rozs´ahl´e datab´aze (kde m´a dimenze v´ıce neˇz 10 milion ˚u z´aznam ˚u) jsou vhodnˇejˇs´ı syst´emy ROLAP (relational OLAP). Syst´emy ROLAP pouˇz´ıvaj´ı pro anal ´yzu data z relaˇcn´ıch datov ´ych sklad ˚u, uˇzivateli je po zpracov´an´ı tˇechto dat zpˇr´ıstupnˇen mul-tidimenzion´aln´ı pohled - nedoch´az´ı tak k vytv´aˇren´ı redundann´ıch dat jako u MOLAP. Data i metadata se ukl´adaj´ı do relaˇcn´ı datab´aze a OLAP server z nich dynamicky gene-ruje SQL pˇr´ıkazy pro z´ısk´an´ı uˇzivatelem poˇzadovan ´ych dat.

2.1.3 Ukl ´ad ´an´ı analytick ´ych dat v BI

V analytick ´ych syst´emech jsou data bˇeˇznˇe ukl´ad´ana n´asleduj´ıc´ımi dvˇema zp ˚usoby. Datov´y sklad (Data store) - M´ısto, kde jsou data urˇcen´a pro anal ´yzu uloˇzena se oznaˇcuje jako datov ´y sklad. Nejzn´amˇejˇs´ı definice datov´eho skladu poch´az´ı od tv ˚urce tohoto kon-ceptu - W. H. Inmona (pˇrevzato z [3]): Datov ´y sklad je podnikovˇe strukturovan ´y de-pozit´aˇr subjektivnˇe orientovan ´ych, integrovan ´ych, ˇcasovˇe promˇenn ´ych, historick ´ych dat pouˇzit ´ych na z´ısk´av´an´ı informac´ı a podporu rozhodov´an´ı. V datov´em skladu jsou uloˇzena atomick´a a sum´arn´ı data.

Inmon definoval n´asleduj´ıc´ı vlastnosti typick´e pro datov´e sklady:

- subjektov´a orientovanost - V datov´em skladu jsou oproti produkˇcn´ım datab´az´ım u-chov´av´ana pouze data pouˇziteln´a pro strategick´e rozhodov´an´ı.

(12)

- ˇcasov´a promˇennost - Fixace dat z produkˇcn´ı datab´aze - datov ´y sklad je pravidelnˇe aktualizov´an (off-line).

- st´alost - Data uloˇzen´a v datov´em skladu nejsou analytick ´ymi dotazy nijak mˇenˇena. Datov ´y sklad zpravidla nen´ı vytv´aˇren pro konkr´etn´ı anal ´yzu.

Datov´e trˇziˇstˇe (Data mart) Datov´a trˇziˇstˇe jsou pˇresnˇe specifikovan´e podmnoˇziny da-tov´eho skladu urˇcen´e pro menˇs´ı organizaˇcn´ı sloˇzky firmy. Datov´e trhy mohou vznikat ”zdola”, kdy jsou jednotliv ´ym firemn´ım oddˇelen´ım vytvoˇreny datov´e trhy a na z´avˇer je vytvoˇzen zaˇst’it’uj´ıc´ı datov ´y sklad, nebo ”shora”, kdy je nejprve vytvoˇren centr´aln´ı inte-grovan ´y datov ´y sklad a teprve z nˇej se odˇstˇep´ı nˇekolik datov ´ych trh ˚u.

Data zaveden´a v datab´azi, datab´azov´em skladu, pˇr´ıpadnˇe kostce jsou jiˇz vhodn´a pro aplikaci analytick ´ych sluˇzeb.

2.2 Proces hled ´an´ı znalost´ı v datab ´az´ıch

Hled´an´ı znalost´ı v datab´az´ıch (Knowledge Discovering in Databases) je proces, kter ´y se poprv´e objevil na zaˇc´atku 90. let - tehdy tak´e vzrostla potˇreba zpracov´avat firemn´ı data za ´uˇcelem podpory podnikov´e strategie [4]. KDD je integrac´ı statistick ´ych metod a metod umˇel´e inteligence, kter´a umoˇz ˇnuje realizovat anal ´yzy nad rozs´ahl ´ymi datab´azemi vedouc´ı k informac´ım, kter´e jsou relevantn´ı pro podporu strategick´eho rozhodov´an´ı.

Ussama Fayyad [6] popisuje proces hled´an´ı znalost´ı v datab´az´ıch, jako v ´yvoj metod a technik, kter´e maj´ı d´at dat ˚um v ´yznam. Probl´emem, kter ´y m´a KDD ˇreˇsit pak je pˇrevod dat n´ızk´e ´urovnˇe (typicky rozs´ahl´e, lidsk ´ymi silami obt´ıˇznˇe zpracovateln´e datab´aze) do jin´e formy, kter´a m ˚uˇze vykazovat vˇetˇs´ı m´ıru kompaktnosti, abstrakce, pˇr´ıpadnˇe pouˇzitelnosti. Pojem dolov´an´ı dat (data mining) je pak oznaˇcen´ım aplikace konkr´etn´ıch algoritm ˚u extrahuj´ıc´ıch z datab´aze datov´e vzory - jde tedy pouze o ˇc´ast KDD procesu (viz n´ıˇze). Data mining (resp. KDD) m´a ˇsirok´e vyuˇzit´ı, at’ uˇz jde o vˇedeck ´y v ´yzkum, pr ˚umysl, fi-nanˇcn´ıctv´ı, zdravotnictv´ı nebo marketingov´e anal ´yzy.

Proces dob ´yv´an´ı znalost´ı z datab´az´ı d´ale Fayyad rozdˇeluje do n´asleduj´ıc´ıch f´az´ı: 1. Porozumˇen´ı aplikaˇcn´ı dom´enˇe.

2. Vytvoˇren´ı c´ılov´e mnoˇziny dat - tzn. v ´ybˇer mnoˇziny promˇenn ´ych na kter´e se v ´yzkum bude prov´adˇet.

3. Proˇciˇst’ov´an´ı a pˇredzpracov´an´ı dat - odstranˇen´ı ˇsumu, v ´ybˇer strategi´ı pro nakl´ad´an´ı s chybˇej´ıc´ımi datov ´ymi poli, posouzen´ı vhodnosti pouˇzit´ı ˇcasov ´ych ˇrad.

4. Redukce dat a projekce - nalezen´ı znak ˚u pouˇziteln ´ych pro reprezentaci dat v z´avislosti na c´ılech ´ulohy.

5. Spojen´ı c´ıle KDD s vhodnou DM metodou - sumarizace, klasifikace, regrese, atd. 6. Anal´yza a v´ybˇer hypot´ezy - v ´ybˇer konkr´etn´ıho algoritmu a metod selekce.

(13)

7. Samotn´y DM proces - vyhled´av´an´ı vzor ˚u v pˇr´ısluˇsn´e mnoˇzinˇe dat, pˇrevod v ´ysledk ˚u do pˇr´ısluˇsn´e formy (shluky, stromy, atd.).

8. Interpretace vydolovan´ych vzor ˚u - je moˇzn´e, ˇze v r´amci iterace procesu dojde k n´avratu do kter´ehokoliv pˇredchoz´ıho bodu, spad´a sem tak´e vizualizace v ´ystupu.

9. Nakl´ad´an´ı s nabytou znalost´ı - pˇr´ım´e pouˇzit´ı znalosti, zaˇclenˇen´ı do jin´eho syst´emu, kontrola spr´avnosti.

Podrobn´emu popisu jednotliv ´ych metod a algoritm ˚u dolov´an´ı dat implementovan ´ych v SQL Serveru 2008 se vˇenuji ve zvl´aˇstn´ı kapitole.

2.3 Reportovac´ı sluˇzby

V ´ysledky procesu dolov´an´ı dat je v SQL Serveru 2008 moˇzno prezentovat pomoc´ı tzv. reportovac´ıch sluˇzeb. Tyto sluˇzby slouˇz´ı zejm´ena pro zpˇr´ıstupnˇen´ı v ´ysledk ˚u anal ´yz, resp. podmnoˇzin tˇechto v ´ysledk ˚u, skupin´am analytik ˚u, pˇr´ıpadnˇe pˇr´ımo ”konzument ˚u infor-mac´ı”(viz. [3]).

Ve sv´e pr´aci se reportovac´ımi sluˇzbami nezab ´yv´am - pro pouh´e testov´an´ı analytick ´ych sluˇzeb nemaj´ı vyuˇzit´ı.

(14)

3

Algoritmy pro dolov ´an´ı dat v SQL Serveru 2008

MS SQL Server 2008 poskytuje pro procesy dolov´an´ı dat mnoho n´astroj ˚u. V ´ybˇer a apli-kace konkr´etn´ıho n´astroje z´avis´ı na typu a parametrech ˇreˇsen´eho probl´emu.

Implementovan´e metody (resp. konkr´etn´ı algoritmy) m ˚uˇzeme rozdˇelit podle z´akladn´ıho zp ˚usobu, jak ´ym pracuj´ı na nˇekolik skupin. Jde o asociaˇcn´ı metody, ˇcasov´e ˇrady, metody shlukovac´ı, rozhodovac´ı stromy, metodu Bayesovu a neuronov´e s´ıtˇe1.

3.1 Popis DM metod v SQL Serveru 2008

Stati pojedn´avaj´ıc´ı o jednotliv ´ych metod´ach, kter´e SQL Server 2008 pouˇz´ıv´a jsou rozdˇeleny na dvˇe ˇc´asti. V prvn´ı ˇc´asti je pops´ana struˇcn´a historie zdroj ˚u dan´e metody, obecnˇe platn´e principy a teoretick´e z´azem´ı.

Druh´a ˇc´ast m´a poskytnout detailn´ı vhled do princip ˚u funkce metody, tak, jak je im-plementov´ana v SQL Serveru 2008, tj. popis konkr´etn´ıch algoritm ˚u, parametr ˚u funkc´ı, kter´e jsou k dispozici a bliˇzˇs´ıch specifikac´ı pro uˇzit´ı dan´e metody.

3.2 Moˇznosti nastaven´ı DM modelu

SQL Server 2008 umoˇz ˇnuje nastavovat tzv. modelov´e znaˇcky (Modeling Flags), pomoc´ı kter ´ych je moˇzn´e dodateˇcnˇe upˇresnit parametry DM modelu a l´epe tak pˇrizp ˚usobit jeho charakteristiky dan´emu probl´emu (napˇr. omezen´ım mnoˇziny dat, se kterou DM algorit-mus bude zach´azet, atd.).

Jedn´a se o tyto znaˇcky: • NOT NULL

- Urˇcuje ˇze z´aznamy takto oznaˇcen´eho sloupce nesm´ı obsahovat pr´azdnou hod-notu. V pˇr´ıpadˇe n´alezu pr´azdn´e hodnoty, ohl´as´ı analytick´e sluˇzby jako chybu. • MODEL EXISTENCE ONLY

- Urˇcuje, ˇze dan ´y sloupec m ˚uˇze nab ´yvat dvou hodnot - Missing a Existing (v pˇr´ıpadˇe, ˇze je nastaven na NULL, je br´an, jako by byl nastaven na Missing). Tato znaˇcka se pouˇz´ıv´a u sloupc ˚u, kde je v ´yznamˇejˇs´ı samotn ´y fakt, zda je dan ´y z´aznam vyplnˇen (Existing), nebo nevyplnˇen (Missing), neˇz to, jakou hodnotu obsahuje.

• REGRESSOR

- Tento parametr urˇcuje, ˇze dan ´y sloupec obsahuje potenci´aln´ı nez´avisl´e promˇenn´e (regresory). Tento parametr nezajiˇst’uje, ˇze bude z´aznam sloupce pouˇzit jako regre-sor (m´a pro algoritmus pouze dopouruˇcuj´ıc´ı funkci).

Kromˇe parametr ˚u cel´eho DM modelu nab´ız´ı SQL Server 2008 pro kaˇzdou metodu mnoho parametr ˚u, pomoc´ı kter ´ych je moˇzn´e optimalizovat

1Pˇri psan´ı cel´e t´eto ˇc´asti jsem r´amcovˇe ˇcerpal z ofici´aln´ı technick´e dokumentace firmy Microsoft [7]. V

(15)

3.3 Moˇznosti nastaven´ı parametr ˚u algoritm ˚u metod pro DM

Algoritmy metod prov´adˇej´ıc´ıch dolov´an´ı dat je v SQL Serveru 2008 moˇzno optimalizo-vat pro konkr´etn´ı pˇr´ıpad pomoc´ı mnoˇzstv´ı parametr ˚u. Tyto parametry se liˇs´ı podle typu metody. Tˇemito parametry lze pˇri jejich vhodn´em nastaven´ı znaˇcnˇe ovlivnit (resp. opti-malizovat) chov´an´ı algoritmu.

3.4 Metody vizualizace v ´ysledk ˚u anal ´yzy

Kaˇzd´a z DM metod v SQL Serveru 2008 poskytuje n´astroj pro pˇrehledn´e grafick´e zn´azornˇen´ı v ´ysledk ˚u, kter´e umoˇz ˇnuje sledovat napˇr. korelace mezi vstupy a v ´ystupy, vˇetven´ı rozho-dovac´ıch strom ˚u, pˇr´ısluˇsnost vstupn´ıch prvk ˚u k vytvoˇren ´ym shluk ˚um, atd.

3.5 Asocia ˇcn´ı metody

Asociaˇcn´ı metody jsou pouˇz´ıv´any napˇr´ıklad pro tvorbu doporuˇcovac´ıch syst´em ˚u (kdy z´akazn´ıkovi doporuˇcujeme urˇcit ´y produkt na z´akladˇe informac´ı o jeho dˇr´ıvˇejˇs´ıch ob-jedn´avk´ach), anal ´yzu n´akupn´ıch koˇs´ık ˚u a anal ´yze vztah ˚u (pravidel). Tomuto vyuˇzit´ı aso-ciaˇcn´ıch algoritm ˚u se poˇc´atkem 90. let vˇenoval Rakesh Agrawal.

V publikaci Dob ´yv´an´ı znalost´ı z datab´az´ı [4] nalezneme n´asleduj´ıc´ı z´apis asociaˇcn´ıho pravidla:

Ant => Suc,

kde lev´a strana pravidla je pˇredpokladem (antecedentem) a prav´a strana pravidla z´avˇerem (sukcedentem).

Agrawal [12] podrobnˇeji definuje form´aln´ı asociaˇcn´ı pravidlo jako implikaci X => Ij,

kde X je podmnoˇzina prvk ˚u z mnoˇziny aribut ˚u I. Ij je samostatn ´y prvek z mnoˇziny

I, kter ´y nen´ı obsaˇzen v X.

Pro charakterizaci asociaˇcn´ıch pravidel pouˇz´ıv´a dvˇe veliˇciny: podpora (support) a spo-lehlivost (confidence) - viz [4].

Podpora je hodnota vyjadˇruj´ıc´ı poˇcet objekt ˚u spl ˇnuj´ıc´ıch pˇredpoklad i z´avˇer : P (Ant ∧ Suc) = a

a + b + c + d.

Spolehlivost je hodnota vyjadˇruj´ıc´ı podm´ınˇenou pravdˇepodobnost z´avˇeru, pokud je pˇredpoklad platn ´y:

P (Suc | Ant) = a a + b.

V t´eˇze publikaci je uvedeno dˇelen´ı asociaˇcn´ıch pravidel podle platnosti a pokryt´ı (Holseheimer, Siebs, 1994):

• Konzistentn´ı pravidla - platnost je rovna 1, lev´a strana je postaˇcuj´ıc´ı podm´ınkou pro splnˇen´ı prav´e strany.

(16)

• ´Upln´a pravidla - pokryt´ı je rovno 1, lev´a strana je nutnou podm´ınkou pro splnˇen´ı prav´e strany.

• Deterministick´a pravidla - platnost i pokryt´ı je rovno 1, lev´a strana je nutnou a postaˇcuj´ıc´ı podm´ınkou pro splnˇen´ı prav´e strany.

Nalezneme zde rovnˇeˇz zm´ınky a odkazy na dalˇs´ı charakteristiky asociaˇcn´ıch pravi-del.

3.5.1 Implementace asocia ˇcn´ıch metod v SQL Serveru 2008

Asociaˇcn´ı algoritmus proch´az´ı mnoˇzinou dat a vyhled´av´a prvky, kter´e se vyskytuj´ı ve stejn´em z´aznamu. Asociovan´e prvky jsou n´aslednˇe seskupeny do mnoˇzin prvk ˚u, jejichˇz minim´aln´ı velikost je definov´ana parametrem MINIMUM SUPPORT.

Na z´akladˇe tˇechto mnoˇzin jsou d´ale generov´ana pravidla, kter´a se pozdˇeji pouˇzij´ı pro predikci pˇr´ıtomnosti prvku, odvozen´e od pˇr´ıtomnosti jin ´ych prvk ˚u, kter´e algoritmus shled´a d ˚uleˇzit´e.

Samotn ´y asociaˇcn´ı algoritmus je implementov´an jako pˇr´ım´a implemenace Apriori al-goritmu. Mimo tohoto algoritmu je pro hled´an´ı asociac´ı moˇzn´e pouˇz´ıt tak´e algoritmus rozhodovac´ıch strom ˚u - jejich v ´ysledky se vˇsak mohou liˇsit. Zat´ımco u rozhodovac´ıch strom ˚u jsou pravidla tvoˇrena na z´akladˇe z´ıskan ´ych nov ´ych informac´ı, v pˇr´ıpadˇe aso-ciaˇcn´ıch model ˚u jsou pravidla zaloˇzena pouze na hodnotˇe spolehlivosti. Pravidlo, kter´e m´a vysokou spolehlivost totiˇz nemus´ı nezbytnˇe nutnˇe v´est k vytvoˇren´ı nov´e informace.

Algoritmus generuje kandid´atn´ı mnoˇziny, jejichˇz prvky pˇredstavuj´ı ud´alosti, pro-dukty, a pod. Nejˇcastˇeji jde o bin´arn´ı hodnoty, jako ano/ne, chybˇej´ıc´ı/existuj´ıc´ı, atd. Pro kaˇzdou z mnoˇzin je pak vygenerov´ano hodnocen´ı jej´ı podpory a spolehlivosti. Atributy obsahuj´ıc´ı spojit´e hodnoty jsou diskretizov´any nebo seskupeny do ”koˇs ˚u”(buckets).

ˇ

C´ıslo vyjadˇruj´ıc´ı poˇcet z´aznam ˚u, obsahuj´ıc´ı poˇzadovan´e hodnoty (resp. jejich kombi-naci) se oznaˇcuje jako d ˚uleˇzitost (nˇekdy tak´e frekvence). Do modelu jsou tedy zaˇrazov´any pouze ty mnoˇziny, kter´e maj´ı tuto hodnotu dostateˇcnˇe vysokou.

Takov´a mnoˇzina prvk ˚u, kter´a obsahuje vˇetˇs´ı mnoˇzstv´ı kombinac´ı prvk ˚u, neˇz je stano-ven pr´ah definovan ´y parametrem MINIMUM SUPPORT se naz ´yv´a frekstano-ventovan´a mnoˇzina prvk ˚u (frequent itemset). Pokud sest´av´a mnoˇzina z prvk ˚u {A, B, C} a hodnota parametru MINIMUM SUPPORT je napˇr. 10, mus´ı b ´yt kaˇzd´a samostatn´a hodnota A, B, C nalezena nejm´enˇe v 10 z´aznamech, aby byla zaˇclenˇena do modelu - tot´eˇz plat´ı tak´e pro kombinaci prvk ˚u {A, B, C}.

Mnoˇzstv´ı prvk ˚u obsaˇzen ´ych v z´aznamech je moˇzno vyj´adˇrit tak´e procentu´alnˇe, v takov´em pˇr´ıpadˇe nastav´ıme parametr MINIMUM SUPPORT na hodnotu mezi 0 (od-pov´ıd´a 0%) a 1 (od(od-pov´ıd´a 100%). Do modelu pak budou zaˇrazeny ty z´aznamy, kter´e obsahuj´ı alespo ˇn dan´e procento poˇzadovan ´ych prvk ˚u, resp. mnoˇzin.

Pr´ah pro pˇr´ıpustnost pravidla je vyj´adˇrena jako pravdˇepodobnost. Pokud se napˇr´ıklad mnoˇzina prvk ˚u {A, B, C} objevuje u 50 z´aznam ˚u, ale stejnˇe tak se u jin ´ych 50 z´aznam ˚u objevuje mnoˇzina {A, B, D} a v jin ´ych 50 z´aznamech mnoˇzina {A, B}, nem ˚uˇzeme oznaˇcit mnoˇzinu {A, B} za zˇrejm ´y prediktor prvku C. Poˇcet pravidle vytvoˇren ´ych modelem m ˚uˇzeme omezit parametrem MINIMUM PROBABILITY.

(17)

Kaˇzd´emu vytvoˇren´emu pravidlu je pˇriˇrazena hodnota vyjadˇruj´ıc´ı jeho d ˚uleˇzitost (im-portance). Ta se poˇc´ıt´a jinak pro pravidla a jinak pro mnoˇziny prvk ˚u.

D ˚uleˇzitost mnoˇzin prvk ˚u se poˇc´ıt´a jako pravdˇepodobnost mnoˇziny prvk ˚u a celkov´eho poˇctu z´aznam ˚u. Mˇejme mnoˇzinu obsahuj´ıc´ı prvky {A, B}. Analytick´e sluˇzby nejprve spoˇc´ıtaj´ı vˇsechny z´aznamy obshauj´ıc´ı tuto kombinaci A a B a tu pak vydˇel´ı celkov ´ym poˇctem z´aznam ˚u a normalizuje pravdˇepodobnost.

D ˚uleˇzitost pravidel se poˇc´ıt´a jako pravdˇepodobnost prav´e strany pravidla na z´akladˇe jeho lev´e strany. Napˇr´ıklad u pravidla If (A)T hen(B) je nejprve spoˇc´ıt´an pomˇer mezi z´aznamy obsahuj´ıc´ı A a B a z´aznamy obsahuj´ıc´ı B bez A. Pomˇer je pak normalizov´an pomoc´ı logaritmick´e ˇsk´aly.

Tento algoritmus neprov´ad´ı ˇz´adnou formu automatick´e selekce rys ˚u. M´ısto n´ı je potˇreba vyuˇz´ıt nastaven´ı parametr ˚u. T´ımto m ˚uˇzeme vyˇradit pˇr´ıliˇs bˇeˇzn´e prvky a ud´alosti (sn´ıˇzen´ım hodnoty MAXIMUM SUPPORT), nebo naopak ud´alosti a prvky s pˇr´ıliˇs n´ızkou m´ırou v ´yskytu (zv ´yˇsen´ım hodnoty MINIMUM SUPPORT), pˇr´ıpadnˇe filtrovat nepodstatn´a pra-vidla (zv ´yˇsen´ım hodnoty MINIMUM PROBABILITY).

3.5.2 Parametry pro optimalizaci asocia ˇcn´ı metody

Vykon´av´an´ı algoritmu, zejm´ena pak tvorba mnoˇzin prvk ˚u a poˇc´ıt´an´ı korelac´ı m ˚uˇze b ´yt velice zdlouhav´e. Jeho v ´ykon je moˇzn´e pozitivnˇe ovlivnit spr´avn ´ym nastaven´ım ˇrady parametr ˚u.

Nejvˇetˇs´ımi pˇrek´aˇzkami v rychl´em prov´adˇen´ı algoritmu m ˚uˇze b ´yt pˇr´ıliˇs rozs´ahl´a mnoˇzina dat obsahuj´ıc´ı velk´e mnoˇzstv´ı samostatn ´ych prvk ˚u, nebo napˇr´ıklad pˇr´ıliˇs n´ızk´a hodnota parametru minim´aln´ı velikosti mnoˇziny prvk ˚u.

MAXIMUM ITEMSET COUNT

- Specifikuje maxim´aln´ı poˇcet mnoˇzin prvk ˚u, kter ´y m´a b ´yt vyprodukov´an. Pokud nen´ı ˇc´ıslo zad´ano, je pouˇzita v ´ychoz´ı hodnota.

V ´ychoz´ı hodnota je 200000. MAXIMUM ITEMSET SIZE

- Specifikuje maxim´aln´ı mnoˇzstv´ı prvk ˚u, kter´e mohou b ´yt v jedn´e mnoˇzinˇe. Nasta-ven´ı na 0 urˇcuje, ˇze velikost mnoˇziny je nelimitov´ana.

V ´ychoz´ı hodnota je 3. MAXIMUM SUPPORT

- Specifikuje maxim´aln´ı poˇcet z´aznam ˚u, kter´e mohou b ´yt pouˇzity pro mnoˇzinu prvk ˚u. Tento parametr slouˇz´ı k odstranˇen´ı prvk ˚u, kter´e se objevuj´ı ˇcasto a t´ım p´adem maj´ı mal ´y potenci´aln´ı v ´yznam.

Pokud je tato hodnota nastavena na 1, reprezentuje hodnota procento ze vˇsech z´aznam ˚u. Hodnoty vˇetˇs´ı neˇz 1 reprezentuj´ı absolutn´ı poˇcet z´aznam ˚u, kter´e m ˚uˇze mnoˇzina prvk ˚u obsahovat.

(18)

MINIMUM IMPORTANCE

- Specifikuje rozsah d ˚uleˇzitosti pro asociativn´ı pravidla. Pravidla s d ˚uleˇzitost´ı niˇzˇs´ı neˇz tato hodnota jsou odfiltrov´ana. (K dispozici pouze v edici Enterpise)

MINIMUM ITEMSET SIZE - Specifikuje minim´aln´ı poˇcet z´aznam ˚u, kter´e mohou b ´yt pouˇzity pro mnoˇzinu prvk ˚u. Zv ´yˇsen´ı tohoto ˇc´ısla m ˚uˇze v modelu sn´ıˇzit poˇcet mnoˇzin prvk ˚u. Lze tak napˇr´ıklad ignorovat jednoprvkov´e mnoˇziny.

V ´ychoz´ı hodnota je 1.

MINIMUM PROBABILITY - Specifikuje minim´aln´ı pravdˇepodobnost, ˇze je pravi-dlo pravdiv´e. Napˇr´ıklad nastaven´ı t´eto hodnoty na 0,5 znamen´a, ˇze nebude gene-rov´ano ˇz´adn´e pravdilo s pravdˇepodobnost´ı niˇzˇs´ı neˇz 50%.

V ´ychoz´ı hodnota je 0,4. MINIMUM SUPPORT

- Specifikuje minim´aln´ı poˇcet z´aznam ˚u, kter´e mus´ı mnoˇzina prvk ˚u obsahovat, neˇz algoritmus vygeneruje pravidlo. Nastaven´ım t´eto hodnoty na m´enˇe neˇz 1 je jako minim´aln´ı ˇc´ıslo vypoˇc´ıt´ano jako dan´e procento z celkov´eho poˇctu z´aznam ˚u. Nastaven´ım na cel´e ˇc´ıslo vyˇsˇs´ı neˇz 1 doc´ıl´ıme toho, ˇze se bude toto br´at jako ab-solutn´ı poˇcet z´aznam ˚u, kter´e mus´ı mnoˇzina prvk ˚u obsahovat. Algoritmus m ˚uˇze v pˇr´ıpadˇe nedostatku pamˇeti tuto hodnotu automaticky zv ´yˇsit.

V ´ychoz´ı hodnota je 0,03. To znamen´a, ˇze aby byla mnoˇzina prvk ˚u zaˇclenˇena do modelu je nutn´e, aby byla nalezena nejm´enˇe ve 3% z´aznam ˚u.

OPTIMIZED PREDICTION COUNT

- Definuje poˇcet prvk ˚u pouit ´ych pro optimalizaci predikce. V ´ychoz´ı hodnota je 0. V takov´em pˇr´ıpadˇe bude algoritmus produkovat takov´e mnoˇzstv´ı predikc´ı, jak´e muje zad´ano v dotazu.

Nastaven´ım na nenulovou hodnotu, bude predikˇcn´ı dotaz vracet nejv ´yˇse tolik prvk ˚u, kolik je tato hodnota, a to i v pˇr´ıpadˇe, ˇze poˇzadujete v´ıce predikc´ı. Kaˇzdop´adne m ˚uˇze nastaven´ı tohoto parametru zlepˇsit v ´ykon predikc´ı.

Pokud nastav´ıme hodnotu napˇr´ıklad na 3, bude algoritums pro predikce pouˇz´ıvat pouze 3 prvky. Ostatn´ı predikce, kter´e pˇritom mohou b ´yt stejnˇe pravdˇepodobn´e, neuvid´ıte.

(19)

3.6 Casov ´e ˇradyˇ ˇ

Casov´e s´erie jsou metodou, kter´a je pouˇz´ıv´ana v situac´ıch, kdy je potˇreba prov´est od-had v ´yvoje hodnoty urˇcit´e promˇenn´e v ˇcase (napˇr. v ´yvoj prodejnosti produktu, atd.). Nalezen´ı tohoto trendu se odv´ıj´ı od zpracov´an´ı mnoˇziny z´akladn´ıch historick ´ych dat a vytvoˇren´ı modelu. Na z´akladˇe tˇechto vstupn´ıch dat se n´aslednˇe prov´ad´ı predikce v ´yvoje trendu.

V publikaci Time series analysis [11] je pak stochastick´a ˇcasov´a s´erie form´alnˇe defi-nov´ana jako nekoneˇcn´a ˇrada

..., X−2, X−1, X0, X1, X2, ...

n´ahodn ´ych hodnot, nebo vektor ˚u .

Spojen´ı zdrojov ´ych dat a v ´ysledk ˚u predikce se pak oznaˇcuje jako ˇrada (s´erie). Pro spr´avn ´y pr ˚ubˇeh anal ´yzy touto metodou je potˇreba m´ıt v z´aznamech zpracov´avan´e da-tab´aze sloupec dat, kter´a urˇcuj´ı ˇcasov´e obdob´ı, pro kter´e z´aznam plat´ı.

3.6.1 Implementace ˇcasov ´ych ˇrad v SQL Serveru 2008

Microsoft SQL Server 2008 poskytuje pro pr´aci s ˇcasov ´ymi ˇradami dva odliˇsn´e algoritmy. Prvn´ım je, uˇz ve verzi 2005 obsaˇzen ´y, algoritmus ARTxp a druh ´ym je algoritmus ARIMA, kter ´y je novˇe pˇridan ´y v SQL Serveru 2008.

Ve v ´ychoz´ım stavu jsou pro tr´enov´an´ı modelu pouˇz´ıv´any oba algoritmy separovanˇe - pro z´ısk´an´ı optim´aln´ıch predikc´ı se pak jejich v ´ystupy m´ıchaj´ı. Je vˇsak moˇzn´e i pouˇzit´ı pouze jednoho z algoritm ˚u, ˇci nastaven´ı pomˇeru mezi algoritmy.

3.6.1.1 ARTxp Algoritmus ARTxp (autoregressive tree algorithm) je v ´ysledkem v ´yvoje Microsoft Research a je zaloˇzen na algoritmu rozhodovac´ıch strom ˚u .

ARTxp algoritmus tak´e narozd´ıl od algoritmu ARIMA podporuje tzv. kˇr´ıˇzenou pre-dikci. Pokud pouˇzijeme pro tr´enov´an´ı algoritmu dvˇe oddˇelen´e pˇr´ıbuzn´e ˇrady, je moˇzn´e pouˇz´ıt v ´ysledn ´y model pro predikci v ´ysledku jedn´e ˇcasov´e ˇrady na z´akladˇe chov´an´ı jin ´ych ˇrad (vyuˇziteln´e napˇr. pro pˇr´ıpady, kdy prodejnost jednoho produktu ovliv ˇnuje prodej druh´eho). Kˇr´ıˇzen´a predikce je vyuˇziteln´a tak´e pro tvorbu hlavn´ıho modelu, kter ´y je pouˇzit pro tvorbu dalˇs´ıch ˇrad.

Algoritmus ARTxp je vhodn ´y pro predikci n´asleduj´ıc´ıcho kroku (stavu).

3.6.1.2 ARIMA Modely ARIMA (autoregressive integrated moving average) jsou jed-nou z nejv ´yznamˇejˇs´ıch tˇr´ıd model ˚u pro anal ´yzu ˇcasov ´ych ˇrad. ARIMA je definov´ana line´arn´ımi relacemi mezi pozorov´an´ımi a ˇsumov ´ymi faktory. Definice procesu ARIMA v publikaci [11] zn´ı:

ˇ

Casov´a s´erie Xtje procesem ARIMA (p, d, q) v pˇr´ıpadˇe, ˇze 5dXtje stacion´arn´ı ARMA (p, q)

proces.

(20)

3.6.2 Parametry pro optimalizaci ˇcasov ´ych ˇrad

Oba algoritmy podporuj´ı tzv. detekci sez ´onnosti, pˇr´ıpadnˇe periodicity - pro tento ´uˇcel je pouˇzita rychl´a Fourierova transformace.

AUTO DETECT PERIODICITY

- Specifikuje detekci periodicity. Nab ´yv´a hodnot od 0 do 1. V ´ychoz´ı hodnota je 0,6. Pokud je hodnota bl´ızk´a 0, je periodicita detekov´ana pouze pro silnˇe periodick´a data. Nastaven´ı hodnoty bl´ızko 1 podporuje proch´azen´ı mnoha vzor ˚u, kter´e jsou t´emˇeˇr periodick´e a automatick´e generov´an´ı stop periodicity.

Zahrnut´ı velk´eho mnoˇzstv´ı stop periodicity bude m´ıt tendenci v´est k v ´yrazn´emu zv ´yˇsen´ı ˇcasu pro tr´enov´an´ı, ale model bude mnohem pˇresnˇejˇs´ı.

COMPLEXITY PENALTY

- Kontroluje r ˚ust rozhodovac´ıho stromu. V ´ychoz´ı hodnota je 0,1.

Sn´ıˇzen´ım t´eto hodnoty se zvyˇsuje pravdˇepodobnost vˇetven´ı. Zv ´yˇsen´ı tuto pravdˇe-podobnost naopak sn´ıˇz´ı. Tento parametr je k dispozici pouze v edici Enterprise. FORECAST METHOD

- Urˇcuje, kter ´y algoritmus bude pouˇzit pro anal ´yzu a predikci. Moˇzn´e hodnoty jsou: ARTXP, ARIMA nebo MIXED.

V ´ychoz´ı hodnota je MIXED. HISTORIC MODEL COUNT

- Specifikuje poˇcet historick ´ych model ˚u, kter´e maj´ı b ´yt vybudov´any. V ´ychoz´ı hod-nota je 1. Tento parametr je k dispozici pouze v edici Enterprise.

HISTORICAL MODEL GAP

- Specifikuje ˇcasov´e prodlevy mezi dvˇema po sobˇe jdouc´ımi historick ´ymi modely. V ´ychoz´ı hodnota je 10. Tato hodnota reprezentuje poˇcet ˇcasov ´ych jednotek, kde jednotka je definov´ana datov ´ym modelem.

Napˇr´ıklad nastaven´ım t´eto hodntoy na ”g”budou historick´e modely budov´any pro data spadaj´ıc´ı do ˇcasov ´ych ´usek ˚u v intervalech g, 2g, 3g atd.

INSTABILITY SENSITIVITY

- Kontroluje bod, kde predikce odchylky pˇres´ahne urˇcit ´y pr´ah a algoritmus ARTXP predikci potlaˇc´ı.

V ´ychoz´ı hodnota je 1.

Tento parametr se aplikuje pouze pro algoritmus ARTXP a neovlivn´ı tedy modely pouˇz´ıvaj´ıc´ı algoritmus ARIMA. Pˇri pouˇzit´ı MIXED modelu je aplikov´an pouze pro ˇc´ast modelu pouˇz´ıvaj´ıc´ı algoritmus ARTXP.

(21)

V ´ychoz´ı hodnota je 1. Toto nastaven´ı poskytuje pro modely ARTXP stejn´e chov´an´ı jako SQL Server 2005. Analytick´e sluˇzby pro kaˇzdou predikci monitoruj´ı normali-zovanou standardn´ı odchylku. V okamˇziku, kdy tato odchylka pˇres´ahne tuto hra-nici, vr´at´ı algoritmus hodnotu NULL a zastav´ı proces predikce.

Nastaven´ı na 0 zastav´ı detekci nestability. To znamen´a, ˇze m ˚uˇzete vytv´aˇret i ne-koneˇcn ´y poˇcet predikc´ı bez ohledu na odchylky.

Tento parametr m ˚uˇze b ´yt modifikov´an pouze v edici Enterprise. V SQL Serveru Standard je pouˇziteln´a pouze v ´ychoz´ı hodnota 1.

MAXIMUM SERIES VALUE

- Specifikuje maxim´aln´ı hodnoty pouˇzit´e pro predikci. Tento parametr se pouˇz´ıv´a spolu s parametrem MINIMUM SERIES VALUE pro omezen´ı predikce na urˇcit´e oˇcek´avan´e rozmez´ı. Napˇr´ıklad m ˚uˇzeme urˇcit, ˇze predikovan´e mnoˇzstv´ı transakc´ı prodeje pro kter ´ykoliv den by nemˇel pˇres´ahnout poˇcet produkt ˚u v invent´aˇri. Tento parametr je k dispozici pouze v edici Enterprise.

MINIMUM SERIES VALUE

- Specifikuje minim´aln´ı hodnotu, kter´a m ˚uˇze b ´yt predikov´ana. Tento parametr b ´yv´a pouˇz´ıv´an spolu s MAXIMUM SERIES VALUE pro omezen´ı predikce urˇcit´e oˇcek´avan´e rozmez´ı. Napˇr´ıklad m ˚uˇzeme urˇcit, ˇze predikovan´e mnoˇzstv´ı transakc´ı prodeje nem ˚uˇze b ´yt z´aporn´e ˇc´ıslo.

Tento parametr je k dispozici pouze v edici Enterprise. MINIMUM SUPPORT

Specifikuje minim´aln´ı poˇcet ˇcasov ´ych ´usek ˚u, kter ´y je potˇrebn ´y pro vytvoˇren´ı vˇetven´ı ve stromu kaˇzd´e ˇcasov´e ˇrady. V ´ychoz´ı hodnota je 10.

MISSING VALUE SUBSTITUTION

Specifikuje zp ˚usob, jak ´ym se vypl ˇnuj´ı mezery v historick ´ych datech. Ve v ´ychoz´ım stavu nejsou mezery v datech v ˚ubec povoleny. N´asleduj´ıc´ı tabulka obsahuje v ´yˇcet moˇzn ´ych hodnot tohoto parametru.

Previous - Opakuje hodnotu z pˇredeˇsl´eho ˇcasov´eho ´useku. Mean - Pouˇz´ıv´a po-hybliv ´y pr ˚umˇer ˇcasov ´ych ´usek ˚u uˇzit ´ych v tr´eninku. Numeric constant - Pouˇz´ıv´a pro n´ahradu chybˇej´ıc´ıch hodnot specifikovan´e ˇc´ıslo. None (v ´ychoz´ı) - Nahrazuje chybˇej´ıc´ı hodnoty hodnotami z kˇrivky tr´enovac´ıho modelu.

Pokud data obsahuj´ı v´ıce ˇrad, je vylouˇceno, aby mˇely ”otrhan´e”konce. Vˇsechny ˇrady by mˇely m´ıt stejn ´y poˇc´ateˇcn´ı a koneˇcn ´y bod.

Analytick´e sluˇzby tuto hodnotu pouˇz´ıvaj´ı pro vyplnˇen´ı mezer v nov ´ych datech pˇri prov´adn´ı operace PREDICTION JOIN.

(22)

PERIODICITY HINT

Poskytuje algoritmu stopy o periodiˇcnosti dat. Napˇr´ıklad pokud se prodeje liˇs´ı kaˇzd ´y rok a mˇernou jednotkou je mˇes´ıc, je periodiˇcnost 12. Parametr m´a form´at {n, [,n]}, kde n je jak´ekoliv kladn´e ˇc´ıslo.

N v ”[]”z´avork´ach je nepovinn´e a m ˚uˇze b ´yt opakov´ano podle potˇreby. Napˇr´ıklad pro stopy v´ıceˇcetn´e periodiˇcnosti dat ukl´adan ´ych kaˇzd ´y mˇes´ıc m ˚uˇzeme zadat {12, 3, 1} - vzory tak budeme detekovat pro rok, kvart´al a mˇes´ıc.

Periodiˇcnost m´a siln ´y vliv a kvalitu modelu. Pokud se zadan´e stopy liˇs´ı od aktu´aln´ı periodiˇcnosti, mohou b ´yt v ´ysledky nepˇr´ıznivˇe ovlivnˇeny.

V ´ychoz´ı hodnota je 1.

Pouˇzit´ı z´avorek je povinn´e. Tento parametr m´a datov ´y typ string a pokud je zad´an jako ˇc´ast pˇr´ıkazu Data Mining Extension (DMX), je nutn´e jej uv´est v uvozovk´ach. PREDICTION SMOOTHING

- Specifikuje ”prom´ıchanost”modelu pro optimalizaci pˇredpovˇedi. M ˚uˇzete zde za-dat jakoukoliv hodnotu mezi 0 a 1, nebo pouˇz´ıt n´asleduj´ıc´ı hodnoty.

Popis hodnot:

0 - urˇcuje, ˇze predikce pouˇz´ıv´a pouze ARTXP. Pˇredpov´ıd´an´ı je optimalizov´ano pouze pro m´enˇe predikc´ı.

1 - urˇcuje, ˇze predikce bude pouˇz´ıvat pouze ARIMA. Pˇredpov´ıd´an´ı je optima-lizov´ano pro v´ıce predikc´ı.

0,5 (v ´ychoz´ı) - urˇcuje, ˇze maj´ı b ´yt pouˇzity oba algoritmy, a v ´ysledky maj´ı b ´yt sm´ıch´any.

Pro kontrolu tr´eninku pouˇzijte parametr FORECAST METHOD. Tento parametr je k dispozici pouze v edici Enterprise.

3.7 Shlukovac´ı metody

Shlukovac´ı metody (t´eˇz anal ´yza shluk ˚u) slouˇz´ı ke zpracov´av´an´ı v´ıcerozmˇern ´ych dat (ob-jekt ˚u s v´ıce neˇz jednou promˇennou) a nach´azen´ı podobnost´ı mezi takov ´ymi daty.

Pomoc´ı tˇechto metod je moˇzno ze vstupn´ı mnoˇziny objekt ˚u vytvoˇrit na z´akladˇe je-jich vz´ajemn´e podobnosti tzv. shluky. Metody shlukov´an´ı jsou nejbˇeˇznˇeji pouˇz´ıvan ´ym zp ˚usobem bezdozorov´eho uˇcen´ı (unsupervised learning) - viz [8].

V publikaci [8], jsou uvedeny n´asleduj´ıc´ı tˇri hlavn´ı c´ıle anal ´yzy shluk ˚u, cituji:

- Popis systematiky, jenˇz je tradiˇcn´ım vyuˇzit´ım shlukov´e anal ´yzy pro pr ˚uzkumov´e c´ıle a taxonomii, coˇz je empirick´a klasifikace objekt ˚u.

- Zjednoduˇsen´ı dat, kdy anal ´yza shluk ˚u poskytuje pˇri hled´an´ı taxonomie zjednoduˇsen ´y pohled na objekty.

(23)

- Identifikace vztahu, kdy po nalezen´ı shluk ˚u objekt ˚u, a t´ım i struktury mezi objekty, je snadnˇejˇs´ı odhalit vztahy mezi objekty.

Procesy shlukov´e anal ´yzy m ˚uˇzeme rozdˇelit na z´akladˇe poˇzadavk ˚u na formu v ´ysledn ´ych shluk ˚u i podle pouˇzit ´ych metod podle nˇekolika krit´eri´ı (pro podrobnˇejˇs´ı informace o krit´eri´ıch shlukov´an´ı viz [1] a [2]).

3.7.1 Rozd ˇelen´ı podle vlastnost´ı shluk ˚u

Prvn´ım zp ˚usobem, jak ´ym m ˚uˇzeme rozdˇelovat metody shlukov´an´ı je zp ˚usob zaˇrazov´an´ı prvk ˚u do vytv´aˇren ´ych shluk ˚u. Shlukov´an´ı, kdy je kaˇzd ´y prvek spojen s pr´avˇe jedn´ım shlukem, naz ´yv´ame disjunktn´ı. Naopak, pokud prvek (nebo jeho ˇc´asti) m ˚uˇze n´aleˇzet v´ıce shluk ˚um, mluv´ıme o pˇrekr´yvaj´ıc´ım se shlukov´an´ı.

Algoritmy, kter´e vytv´aˇrej´ı disjunktivn´ı shluky oznaˇcujeme jako hrub´e (hard clustering algorithms), algoritmy tvoˇr´ıc´ı pˇrekr ´yvaj´ıc´ı se shluky oznaˇcujeme jako jemn´e (soft cluste-ring algorithms).

Dalˇs´ım krit´eriem je fakt, zda shluky vytv´aˇrej´ı urˇcitou hierarchii, nebo ne. Metody, kter´e tvoˇr´ı plochou mnoˇzinu shluk ˚u bez jak´ekoliv explicitn´ı struktury oznaˇcujeme jako ploch´e shlukov´an´ı (flat) nebo tak´e nehierarchick´e shlukov´an´ı. Tyto algoritmy jsou nedeter-ministick´e a jako vstup vyˇzaduj´ı specifikaci poˇcetu vytv´aˇren ´ych shluk ˚u.

V ´ystupem hierarchick ´ych algoritm ˚u jsou hierarchie shluk ˚u (dendrogramy) - takov´e v ´ystupy maj´ı vˇetˇs´ı informaˇcn´ı hodnotu, neˇz jsou v ´ystupy ploch´eho shlukov´an´ı. U tohoto typu algoritm ˚u nen´ı vyˇzadov´ana specifikace poˇctu v ´ystupn´ıch shluk ˚u a vˇetˇsina z nich se chov´a deterministicky. Tento fakt je bohuˇzel vykoupen niˇzˇs´ı efektivitou (sloˇzitost tˇechto algoritm ˚u je nejm´enˇe kvadratick´a, zat´ımco ploch´e shlukov´an´ı m´a line´arn´ı sloˇzitost).

3.7.2 Implementace shlukov ´an´ı v SQL Serveru 2008

SQL Server 2008 m´a pro shlukov´e metody dolov´an´ı dat dvˇe metody - EM shlukov´an´ı, (kter´a se ˇrad´ı mezi jemn´e metody) a metodu K-pr ˚umˇer ˚u (spadaj´ıc´ı mezi metody hrub´e).

3.7.2.1 EM shlukov ´an´ı EM shlukov´an´ı je v SQL Serveru 2008 pouˇz´ıv´ana jako v ´ychoz´ı shlukovac´ı metoda - oproti metodˇe K-pr ˚umˇer ˚u poskytuje nˇekolik v ´yhod. Jde zejm´ena o jeho nez´avislost na limitech pamˇeti, schopnost pouˇz´ıvat pouze-dopˇredn´e kurzory 2 a pˇrekon´an´ı zp ˚usob ˚u vzorkov´an´ı. Tento algoritmus je nav´ıc pouze ”jednopr ˚uchodov ´y”.

Algoritmus prov´ad´ı iterativn´ı tˇr´ıben´ı dat ze vstupn´ıho shlukov´eho modelu a provˇeˇruje v ´yˇsi pravdˇepodobnosti, ˇze dan ´y datov ´y bod n´aleˇz´ı jednotliv ´ym shluk ˚um (coˇz m ˚uˇze v´est k nepˇresnostem pˇri sumarizaci - body mohou b ´yt redundantnˇe zapoˇc´ıt´any pro kaˇzd ´y shluk, ve kter´em jsou obsaˇzeny. V ´ysledky dolovac´ıho modelu jsou tomu vˇsak pˇrizp ˚usobeny). Algoritmus konˇc´ı ve chv´ıli, kdy pravdˇepodobnostn´ı model odpov´ıd´a skuteˇcn ´ym dat ˚um.

2Jde o nejrychlejˇs´ı updatovateln ´y typ kurzoru v SQL Serveru 2008. Podporuje pouze dopˇredn ´y s´eriov ´y

pˇr´ıstup k z´aznam ˚um. D´ıky toho nen´ı moˇzn´e pˇristupovat k z´aznam ˚um, kter´e jiˇz byly kurzorem ”pˇrejety”. Pouˇzit´ı tohoto typu kurzoru je opodstatnˇen´e pˇredevˇs´ım v pˇr´ıpadech, kdy je nejvyˇsˇs´ı prioritou rychlost vy-hled´av´an´ı a m´ıra vyuˇzit´ı pamˇet’ov´eho prostoru.

(24)

Pokud jsou za bˇehu algortimu vygenerov´any pr´azdn´e shluky, pˇr´ıpadnˇe shluky, kter´e obsahuj´ı menˇs´ı mnoˇzstv´ı datov ´ych bod ˚u neˇz je stanoven ´y pr´ah, dojde k ”pˇresazen´ı”tˇechto shluk ˚u a EM algoritmus je spuˇstˇen znovu.

V ´ysledkem aplikace t´eto metody je souhrn pravdˇepodobnost´ı pˇr´ısluˇsnosti vˇsech dvo-jic datov ´y bod - shluk. Kaˇzd ´y bod tedy de facto n´aleˇz´ı do vˇsech shluk ˚u modelu, ovˇsem pro r ˚uzn´e shluky s r ˚uznou pravdˇepodobnost´ı.

SQL Server 2008 nab´ız´ı dva typy EM shlukov´an´ı: ˇsk´alovateln´e (scalable EM) a neˇsk´a-lovateln´e (non-scalable EM). Pˇri pouˇzit´ı v ´ychoz´ıho nastaven´ı algoritmu ˇsk´aneˇsk´a-lovateln´eho shlukov´an´ı je pro poˇc´ateˇcn´ı sken pouˇzito prvn´ıch 50,000 z´aznam ˚u. V pˇr´ıpadˇe, ˇze je sken ´uspˇeˇsn ´y, jsou pro model pouˇzita tato data - pokud ne, je naˇcteno dalˇs´ıch 50,000 z´aznam ˚u. Tato verze EM shlukov´an´ı pouˇz´ıv´a lok´aln´ı buffer a je tedy schopna prov´adˇet ite-race rychleji neˇz neˇsk´alovateln´a verze EM shlukov´an´ı (rozd´ıl v rychlosti m ˚uˇze b ´yt aˇz trojn´asobn ´y). Ve vˇetˇsinˇe pˇr´ıpad ˚u nav´ıc nedoch´az´ı ke sn´ıˇzen´ı kvality v ´ysledn´eho modelu. V pˇr´ıpadˇe, kdy je pouˇzito neˇsk´alovateln´e EM shlukov´an´ı je naˇctena vel´a mnoˇzina z´aznam ˚u, coˇz umoˇz ˇnuje zv ´yˇsit pˇresnost shlukovac´ı metody, nicm´enˇe mohou v ´yraznˇe vzr ˚ust n´aroky na pamˇet’.

3.7.2.2 Metoda K-pr ˚um ˇer ˚u (K-means) Tato metoda je asi nejd ˚uleˇzitˇejˇs´ı metodou plo-ch´eho shlukov´an´ı. Je pouˇz´ıv´ana v pˇr´ıpadech, kdy je datov ´y soubor tvoˇren kvantitativn´ımi promˇenn ´ymi.

Metoda K-pr ˚umˇer ˚u (nˇekdy t´eˇz tˇeˇziˇst’, viz [8]) prov´ad´ı zaˇclenov´an´ı objekt ˚u ze vstupn´ıho datov´eho souboru do pˇredem definovan´eho poˇctu shluk ˚u na z´akladˇe jejich vzd´alenosti od center´aln´ıch bod ˚u (shlukov ´ych pr ˚umˇer ˚u, nˇekdy t´eˇz centroid ˚u) tˇechto shluk ˚u. Jedn´a se o tzv. algoritmus hrub´eho shlukov´an´ı a kaˇzd ´y datov ´y bod je tedy zaˇclenˇen do pr´avˇe jednoho shluku.

Uˇzivatel, zpravidla analytik, urˇc´ı v mnoˇzinˇe dat tzv. z´arodeˇcn´e body (seed centroids), poˇcet takto vybran ´ych bod ˚u - centroid ˚u se uloˇz´ı do promˇenn´e K. Algortimus n´aslednˇe provede v ´ypoˇcty euklidovsk´e vzd´alenosti pro vˇsechny dvojice centroid - datov ´y uzel. Uzel je pak um´ıstˇen do shluku n´aleˇzej´ıc´ımu centroidu, kter´emu je nejbl´ıˇze. Pot´e je pro kaˇzd ´y existuj´ıc´ı shluk spoˇc´ıt´an nov ´y cenroid na z´akladˇe zpr ˚umˇerov´an´ı hodnot bod ˚u n´aleˇzej´ıc´ıch do dan´eho shluku a znovu se zjiˇst’uj´ı vzd´alenosti vˇsech bod ˚u a n´aslednˇe pˇr´ıpadn´e pˇreˇrazov´an´ı bod ˚u do jin´eho shluku. Tento postup se opakuje do t´e doby, do-kud doch´az´ı k pˇresun ˚um uzl ˚u mezi shluky.

Metoda K-pr ˚umˇer ˚u poskytuje dva zp ˚usoby vzorkov´an´ı mnoˇziny dat. Jde o neˇsk´alova-telnou metodu K-pr ˚umˇer ˚u (non-scalable K-means), kter´a najednou naˇcte celou mnoˇzinu dat a provede jeden shlukovac´ı pr ˚uchod, a ˇsk´alovatelnou metodu K-pr ˚umˇer ˚u scalable k-means, kter´a naˇcte prvn´ıch 50,000 z´aznam ˚u a dalˇs´ı naˇc´ıt´a pouze v pˇr´ıpadˇe nutnosti.

3.7.3 Parametry pro optimalizaci shlukov ´an´ı

SQL Server poskytuje nˇekolik moˇznost´ı jak zv ´yˇsit v ´ykon, chov´an´ı a efektivitu rozho-duj´ıc´ıho DM modelu.

(25)

CLUSTERING METHOD

- Specifikuje, kterou shlukovac´ı metodu m´a algoritmus pouˇz´ıt. K dispozici jsou n´asleduj´ıc´ı:

ID Jm´eno metody 1 ˇSk´alovateln´a EM 2 Neˇsk´alovateln´a EM

3 ˇSk´alovateln´a metoda K-pr ˚umˇer ˚u 4 Neˇsk´alovateln´a metoda K-pr ˚umˇer ˚u V ´ychoz´ı hodnota je 1.

CLUSTER COUNT

- Specifikuje pˇribliˇzn ´y poˇcet shluk ˚u, kter´e maj´ı b ´yt algoritmem vygenerov´any. Po-kud je mnoˇzstv´ı dat potˇrebn´e pro vytvoˇren´ı tohoto poˇctu shluk ˚u nedostateˇcn´e, vy-generuje algoritmus maxim´aln´ı moˇzn ´y poˇcet shluk ˚u. Pˇri nastaven´ı tohoto parame-tru na hodnotu 0 je pro nalezen´ı ide´aln´ıho poˇctu shluk ˚u pouˇzita heuristika.

V ´ychoz´ı hodnota je 10. CLUSTER SEED

- Specifikuje j´adrov´e ˇc´ıslo, kter´e je pouˇzito pro n´ahodn´e generov´an´ı shluk ˚u pro poˇc´ateˇcn´ı nastaven´ı modelu.

Zmˇenou tohoto ˇc´ısla je moˇzno mˇenit zp ˚usob jak ´ym jsou budov´any poˇc´ateˇcn´ı shluky a n´aslednˇe porovnat modely vybudovan´e za pouˇzit´ı odliˇs ´ych jader.

Pokud je j´adro zmˇenˇeno, ale nalezen´e shluky se pˇr´ıliˇs nezmˇen´ı, je model povaˇzovateln ´y za relativnˇe stabiln´ı.

V ´ychoz´ı hodnota je 0. MINIMUM SUPPORT

- Specifikuje minim´aln´ı poˇcet z´aznam ˚u, kter´e jsou potˇreba pro vybudov´an´ı shluku. Pokud je poˇcet z´aznam ˚u ve shluku niˇzˇs´ı neˇz tot ˇc´ıslo, je shluk oznaˇcen jako pr´azdn ´y a vyˇrazen.

Nastaven´ım tohoto ˇc´ısla na pˇr´ıliˇs vysokou hodnotu m ˚uˇze zp ˚usobit vypadnut´ı va-lidn´ıch shluk ˚u z modelu.

V ´ychoz´ı hodnota je 1.

MODELLING CARDINALITY

- Specifikuje poˇcet vzorov ´ych model ˚u, kter´e jsou zkonstruov´any v pr ˚ubˇehu shlu-kovac´ıho procesu.

Sn´ıˇzen´ım poˇctu kandid´atn´ıch model ˚u m ˚uˇze zv ´yˇsit v ´ykon v ´ymˇenou za zv ´yˇsen´ı ri-zika, ˇze bude ztracen dobr ´y kandid´atn´ı model.

(26)

STOPPING TOLERANCE

- Specifikuje hodnotu pouˇzitou pro urˇcen´ı dosaˇzen´ı konvergence a ukonˇcen´ı bu-dov´an´ı modelu. Konvergence je dosaˇzeno v okamˇziku, kdy celkov´a zmˇena ve shlu-kov ´ych pravdˇepodobnostech je menˇs´ı neˇz pr ˚umˇer parametru STOPPING TOLERANCE dˇelen´eho velikost´ı modelu.

V ´ychoz´ı hodnota je 10. SAMPLE SIZE

- Specifikuje poˇcet z´aznam ˚u, kter´e algoritmus pouˇzije pro kaˇzd ´y pr ˚uchod (m´a smysl pouze v pˇr´ıpadˇe, ˇze hodnota CLUSTERING METHOD je nastavena na nˇekterou ze ˇsk´alovateln ´ych metod). Nastaven´ım na 0 budou vˇsechna data zpracov´ana jedn´ım pr ˚uchodem. Naˇc´ıt´an´ı cel´e mnoˇziny dat m ˚uˇze zp ˚usobit probl´emy s pamˇet´ı a v ´ykonem. V ´ychoz´ı hodnota je 50000.

MAXIMUM INPUT ATTRIBUTES

- Urˇcuje maxim´aln´ı poˇcet vstupn´ıch atribut ˚u, kter´e mohou b ´yt poskytnuty algo-ritmu pˇred aplikov´an´ım selekce rys ˚u. Nastaven´ı na 0 urˇcuje, ˇze nen´ı ˇz´adn´e povo-len´e maximum atribut ˚u.

Zvyˇsov´an´ı poˇctu atribut ˚u m ˚uˇze znatelnˇe sn´ıˇzit v ´ykon. V ´ychoz´ı hodnota je 255.

MAXIMUM STATES

- Specifikuje maxim´aln´ı podporovan ´y poˇcet diskr´etn´ıch stav ˚u na atribut. Pokud je poˇcet stav ˚u pro dan ´y atribut vyˇsˇs´ı neˇz hodnota tohoto parametru, pouˇzije algorit-mus pro tento atribut ”nejobl´ıbenˇejˇs´ı”stavy a ostatn´ı stavy ignoruje.

Zv ´yˇsen´ı tohoto ˇc´ısla m ˚uˇze znatelnˇe sn´ıˇzit v ´ykon. V ´ychoz´ı hodnota je 100.

3.7.4 Implementace sekven ˇcn´ıho shlukov ´an´ı v SQL Serveru 2008

Tato shlukovac´ı metoda je pouˇz´ıv´ana k anal ´yze dat, kter´a obsahuj´ı ud´alosti u kter ´ych m ˚uˇzeme pozorovat propojen´ı skrze navazuj´ıc´ı ”dr´ahy”(sekvence). Jde napˇr´ıklad o poˇrad´ı v jak´em vkl´ad´a klient elektronick´eho obchodu zboˇz´ı do koˇs´ıku nebo dr´ahu jednotliv ´ych kliknut´ı uˇzivatele pˇri prohl´ıˇzen´ı webu. Algoritmus pak prov´ad´ı shlukov´an´ı vstupn´ıch objekt ˚u na z´akladˇe shody tˇechto sekvenc´ı.

Tento algoritmus je hybridem mezi shlukovac´ım EM algoritmem a anal ´yzou Mar-kovsk ´ych ˇretˇezc ˚u3.

3

Markovsk ´y ˇretˇezec je pravdˇepodobnostn´ı (stochastick ´y) proces, kter ´y spol ˇnuje tzv. Markovu vlastnost (tj. v kaˇzd´em stavu procesu je pravdˇepodobnost pˇrechodu do dalˇs´ıch stav ˚u na dˇr´ıvˇejˇs´ıch stavech procesu nez´avisl´a). Tento proces je definov´an dvˇema parametry: vektorem absolutn´ıch pravdˇepodobnost´ı a matic´ı pravdˇepodobnost´ı pˇrechodu

(27)

Specifikem t´eto metody je pouˇzit´ı sekvenˇcn´ıch dat, tedy sled ˚u ud´alost´ı v ˇcase, pˇr´ıpadnˇe sled ˚u pˇrechod ˚u mezi r ˚uzn ´ymi stavy. Nejprve dojde k anal ´yze pravdˇepodobnosti pˇrechod ˚u a n´aslednˇe provede mˇeˇren´ı vz´ajemn´e odliˇsnosti, resp. vzd´alenosti vˇsech existuj´ıc´ıch sek-venc´ı. Na z´akladˇe tˇechto krok ˚u se pak vyberou sekvence vhodn´e jako vstupy pro shlu-kovac´ı EM algoritmus.

Poˇcet stav ˚u, kter´e jsou pouˇzity pro z´ısk´an´ı pravdˇepodobnosti souˇcasn´eho stavu je de-finov´an ˇr´adem Markovsk´eho ˇretˇezce. Pro kaˇzd ´y Markovsk ´y ˇretˇezec je urˇcena pˇrechodov´a matice, kter´a obsahuje pˇrechody pro vˇsechny kombinace stav ˚u. Vzhledem k tomu, ˇze tato matice roste s pˇrib ´yvaj´ıc´ımi stavy exponenci´alnˇe, doch´az´ı k rychl´emu n´ar ˚ustu poˇzadavk ˚u na pamˇet’ nutnou pro jej´ı uchov´an´ı a na v ´ykon CPU pˇri zpracov´an´ı.

Shlukov´an´ı sleduje dva typy atribut ˚u - sekvenˇcn´ı a nesekvenˇcn´ı. Kaˇzd´emu shluku pˇr´ısluˇs´ı Markovsk ´y ˇretˇezec, kter ´y zachycuje ´uplnou mnoˇzinu ”cest”a d´ale matice, kter´a obsahuje sekvenci pˇrechod ˚u stav ˚u a pravdˇepodobnost´ı. Bayesovo pravidlo pak v z´avislosti na poˇc´ateˇcn´ım rozloˇzen´ı urˇc´ı pravdˇepodobnosti vˇsech atribut ˚u dan´eho shluku, vˇcetnˇe sekvenc´ı.

MS algoritmus sekvenˇcn´ıho shlukov´an´ı umoˇz ˇnuje do modelu pˇrid´avat nesekvenˇcn´ı atributy - ty jsou pak ”pˇrim´ıch´any”k sekvenˇc´ım, coˇz umoˇzn´ı pouˇzit´ı klasick´eho shlu-kov´an´ı. Model sekvenˇcn´ıho shlukov´an´ı kaˇzdop´adnˇe vede k vytvoˇren´ı mnohem vˇetˇs´ıho monoˇzstv´ı shluk ˚u, neˇz obyˇcejn´a shlukovac´ı metoda a proto je prov´adˇen tzv. shlukov´y rozklad (cluster decomposition), kter ´y oddˇeluje shluky obsahuj´ıc´ı sekvence a shluky ob-sahuj´ıc´ı ostatn´ı atributy.

Algoritmus sekvenˇcn´ıho shlukov´an´ı vyˇzaduje nˇekolik hodnot. Prvn´ı hodnotou je kl´ıˇc (single key), kter ´y jednoznaˇcnˇe identifikuje dan ´y z´aznam.

Druhou hodnotou je samotn´a sekvence - jde o vhn´ızdˇenou tabulku obsahuj´ıc´ı identi-fik´atory sloupc ˚u sekvenc´ı (mus´ı j´ıt o porovnateln ´y datov ´y typ - napˇr ˇc´ıseln ´y identifik´ator webov´e str´anky, textov ´y ˇretˇezec, atd.). Pro kaˇzdou sekvenci je povolen pr´avˇe jeden iden-tifik´ator a pro kaˇzd ´y model m ˚uˇze existovat pouze jeden typ sekvenc´ı.

Tˇret´ı, nepovinnou, hodnotou jsou nesekvenˇcn´ı atributy (m ˚uˇzou obsahovat vhn´ızdˇen´e sloupce).

3.7.5 Parametry pro optimalizaci sekven ˇcn´ıho shlukov ´an´ı

CLUSTER COUNT

- Specifikuje pˇribliˇzn ´y poˇcet shluk ˚u, kter´e maj´ı b ´yt algoritmem vytvoˇreny. Pokud nem ˚uˇze b ´yt u dat toto mnoˇzstv´ı shluk ˚u vytvoˇreno, vytvoˇr´ı algoritmus tolik shluk ˚u, kolik je moˇzn´e. Pˇri nastaven´ı tohoto parametru na 0 je pro nalezen´ı poˇctu budo-van ´ych shluk ˚u pouˇzita heuristika.

V ´ychoz´ı hodnota je 10. MINIMUM SUPPORT

- Specifikuje minim´aln´ı poˇcet z´aznam ˚u potˇrebn ´ych pro vytvoˇren´ı shluku. V ´ychoz´ı hodnota je 10.

(28)

MAXIMUM SEQUENCE STATES

- Specifikuje maxim´aln´ı poˇcet stav ˚u, kter´e m ˚uˇze sekvence m´ıt. Nastaven´ı tohoto ˇc´ısla na hodnotu vyˇsˇs´ı neˇz 100 m ˚uˇze zp ˚usobit, ˇze algoritmus vytvoˇr´ı model, kter ´y ebude poskytovat smyslupln´e informace.

V ´ychoz´ı hodnota je 64. MAXIMUM STATES

- Specifikuje maxim´aln´ı algoritmem podporovan ´y poˇcet stav ˚u pro nesekvenˇcn´ı atri-but. Pokud je poˇcet stav ˚u nesekvenˇcn´ıho atributu vyˇsˇs´ı neˇz povolen´e maximum, pouˇzije algoritmus ”nejpopul´arnˇejˇs´ı”stavy a chov´a se, jakoby zb ´yvaj´ıc´ı stavy sch´azely (missing).

V ´ychoz´ı hodnota je 100.

3.8 Rozhodovac´ı stromy

Princip algoritmu rozhodovac´ıch strom ˚u je ˇsiroce rozˇs´ıˇren i v ˇradˇe ne-informatick ´ych vˇedn´ıch discipl´ın (zejm´ena napˇr. v biologii). V podstatˇe jde o postupn´e rozdˇelov´an´ı jed-notliv ´ych prvk ˚u do kateogori´ı, na z´akladˇe jejich parametr ˚u.

Konstrukce stromu prob´ıh´a pomoc´ı metody rozdˇel a panuj (divide and conquer) - vstupn´ı data se rozdˇeluj´ı na st´ale menˇs´ı podmnoˇziny, ve kter ´ych pˇrevl´adaj´ı prvky se stejnou hod-notou dan´eho parametru. Tento postup je t´eˇz oznaˇcov´an jako top down induction of decision trees (indukce rozhodovac´ıho stromu shora dol ˚u - zkr´acenˇe TDIDT)[4].

Obecn´e sch´ema takov´eho algoritmu je k dispozici v publikaci [4]: algoritmus TDIDT:

1. Zvol jeden atribut jako koˇren d´ılˇc´ıho stromu.

2. Rozdˇel data v tomto uzlu na podmnoˇziny podle hodnot zvolen´eho atributu a pˇridej uzel pro kaˇzdou podmnoˇzinu.

3. Existuje-li uzel, pro kter´y nepatˇr´ı vˇsechna data do t´eˇze tˇr´ıdy, pro tento uzel opakuj postup od bodu 1, jinak skonˇci.

Podstata spr´avn´eho pr ˚ubˇehu algoritmu spoˇc´ıv´a ve zp ˚usobu v ´ybˇeru atributu, kter ´y se pouˇzije pro vˇetven´ı. Za t´ımto ´uˇcelem jsou zpravidla pouˇz´ıv´any techniky napˇr. z obor ˚u teorie informace a pravdˇepodobnosti (Shannonova entropie, informaˇcn´ı zisk, pomˇern ´y informaˇcn´ı zisk, vzd´alenost mezi atributem a tˇr´ıdou [5], atd.).

3.8.1 Implementace rozhodovac´ıch strom ˚u v SQL Serveru 2008

Syst´em SQL Server 2008 podporuje tvorbu rozhodovac´ıch strom ˚u jak z diskr´etn´ıch, tak ze spojit ´ych atribut ˚u. Procesy tvorby a spr´avy stromu obstar´av´a hybridn´ı algoritmus.

(29)

MSDT algoritmus uˇc´ı Bayseovskou s´ıt’4 pomoc´ı pˇredchoz´ıch znalost´ı a statistick ´ych

dat. ˇC´ast kter´a obsluhuje metodiku v ´ybˇeru vhodn ´ych dat pro uˇcen´ı je zaloˇzena na tes-tov´an´ı podobnostn´ı rovnosti (likelihood equivalence).

Kaˇzd ´y pˇr´ıpad pˇreb´ır´a pˇrednostn´ı Bayesovskou s´ıt’ a m´ıru jej´ı d ˚uvˇeryhodnosti. S pouˇzit´ım t´eto s´ıtˇe algoritmus vypoˇc´ıt´a pravdˇepodobnost a posteriori s´ıt’ov ´ych struktur a vybere ty s nejvyˇsˇs´ı hodnotou.

Metoda pro v ´ypoˇcet nejlepˇs´ıho stromu je vybr´ana na z´akladˇe zadan´e ´ulohy. M ˚uˇze j´ıt o line´arn´ı regresi, klasifikaci nebo asociaˇcn´ı anal ´yzu. Tvar stromu dan´eho modelu je z´avisl ´y na ohodnocovac´ı metodˇe a dalˇs´ıch pouˇzit ´ych parametrech (jejich zmˇena m ˚uˇze ovlivnit rozdˇelen´ı uzl ˚u).

Proces tvorby strom ˚u vyuˇz´ıv´a pro urˇcen´ı nejhodnotnˇejˇs´ıch atribut ˚u tzv. selekce rys ˚u -ta z´arove ˇn vyˇrazuje ˇr´ıdce zastoupen´e atributy. Jednotliv´e hodnoty jsou nav´ıc um´ıstˇeny do ”koˇs ˚u”, kter´e jsou pro urychlen´ı v ´ykonu zpracov´av´any jako celek.

Strom je budov´an na z´akladˇe rozpozn´av´an´ı korelac´ı mezi vstupy a v ´ystupy. Po anal ´yze vˇsech atribut ˚u je vybr´an ten, podle nˇejˇz je moˇzno v ´ystupy nejl´epe rozdˇelit. M´ısto oddˇelen´ı je urˇceno rovnic´ı poˇc´ıtaj´ıc´ı informaˇcn´ı zisk - atribut s nejvyˇsˇs´ım uˇzitkem je pouˇzit pro rozdˇelen´ı hodnot podmnoˇziny, na kter´e jsou rekurentnˇe analyzov´any stejn ´ym procesem tak dlouho, dokud je strom moˇzno d´ale vˇetvit.

V pˇr´ıpadˇe, ˇze jsou prediktibiln´ı atributy i vstupy diskr´etn´ı, prov´ad´ı se v ´ypoˇcet vy-tvoˇren´ım matice a n´asledn ´ym ohodnocen´ım kaˇzd´e jej´ı bu ˇnky.

Pokud jsou atributy diskr´etn´ı, ale vstupy jsou spojit´e, je provedena automatick´a dis-kretizace vˇsech takov ´ych vstup ˚u.

Pro atributy diskr´etn´ı povahy, je pouˇzit klasifikaˇcn´ı postup.

V pˇr´ıpadˇe atribut ˚u obsahuj´ıc´ıch spojit´e hodnoty je pro indikaci ˇrezu pouˇzita line´arn´ı regrese.

3.8.2 Line ´arn´ı regrese

Line´arn´ı regrese je metoda pouˇz´ıvan´a pro nach´azen´ı line´arn´ıch vztah ˚u mezi z´avislou a nez´avislou promˇennou. Regresn´ı kˇrivka, kter´a tuto relaci vyjadˇruje, je definov´ana tzv. re-gresn´ı rovnic´ı y = ax + b. Kde y pˇredstavuje v ´ystupn´ı promˇennou, x vstupn´ı promˇennou a a a b jsou nastaviteln´e parametry. Tyto parametry ud´avaj´ı odchylku dan´eho prvku od ide´aln´ı kˇrivky.

Z technick´eho hlediska je algoritmus line´arn´ı regrese ´upravou algoritmu rozhodo-vac´ıch strom ˚u, optimalizovanou pro modelov´an´ı p´arov ´ych spojit ´ych atribut ˚u. Pro tento ´uˇcel jsou parametry algoritmu nastaveny tak, aby zamezily r ˚ustu stromu a data se tak drˇzela v jedin´em uzlu - strom tedy netvoˇr´ı ˇz´adn´e vˇetve.

4Bayesovsk´a s´ıt’ je pravdˇepodobnostn´ı model reprezentovan ´y acyklick ´ym orientovan ´ym grafem. Tento

model vyjadˇruje podm´ınˇenou z´avislost n´ahodn ´ych promˇenn ´ych (pozorovateln´e veliˇciny, skryt´e promˇenn´e, nezn´am´e parametry, atd.). Hrany zde reprezentuj´ı hodnotu podm´ınˇenou z´avislost - uzly, kter´e nejsou pˇrilehl´e nevykazuj´ı ˇz´adnou z´avislost.

Uzel je spojen s pravdˇepodobnostn´ı funkc´ı, jej´ımiˇz vstupy jsou pˇr´ısluˇsn´e vstupy pro rodiˇcovsk ´y uzel a v ´ystupem pravdˇepodobnost promˇenn´e reprezentovan´e vlastn´ım uzlem [9].

(30)

T´eto vlastnosti je dosaˇzeno t´ım, ˇze parametr MINIMUM LEAF CASES je nastaven na vyˇsˇs´ı nebo stejnou hodnotu, jako je celkov ´y poˇcet z´aznam ˚u, kter´e algoritmus vyuˇz´ıv´a k tr´enov´an´ı modelu. Algoritmus tak nikdy nevytvoˇr´ı vˇetven´ı a vykon´av´a tedy line´arn´ı regresi.

Line´arn´ı regrese pouˇz´ıv´a pro selekci rys ˚u metodu sk ´ore zaj´ımavosti, je tomu tak proto, ˇze model podporuje pouze spojit´e hodnoty.

Tato metoda nach´az´ı vyuˇzit´ı pˇri pˇredv´ıd´an´ı v ´yvoje trend ˚u na z´akladˇe obchodn´ıch dat, predikce v ´ytˇeˇzku chemick ´ych reakc´ı, kalibraci mˇeˇr´ıc´ıch syst´em ˚u, atd.

3.8.3 Parametry pro optimalizaci rozhodovac´ıch strom ˚u

V ´ykonnost algoritmu metody rozhodovac´ıch strom ˚u je moˇzn´e ovlivnit upˇresnˇen´ım tˇechto parametr ˚u:

COMPLEXITY PENALTY

- Kontroluje r ˚ust rozhodovac´ıho stromu. N´ızk´a hodnota zvyˇsuje poˇcet ˇstˇep ˚u, vy-sok´a jej naopak sniˇzuje. V ´ychoz´ı hodnota je zaloˇzena na poˇctu atribut ˚u konkr´etn´ıho modelu:

- Pro 1 aˇz 9 atribut ˚u je v´ychoz´ı hodnota 0,5. - Pro 10 aˇz 99 atribut ˚u je v´ychoz´ı hodnota 0,9. - Pro 100 a v´ıce atribut ˚u v´ychoz´ı hodnota 0,99. FORCE REGRESSOR

- Pˇrikazuje algoritmu pouˇz´ıt uˇcen´e sloupce jako regresory, bez ohledu na d ˚uleˇzitost sloupc ˚u urˇcenou algoritmem. Tento parametr je pouˇz´ıv´an pouze pro stromy predi-kuj´ıc´ı atributy se spojitou hodnotou.

MAXIMUM INPUT ATTRIBUTES

- Urˇcuje maxim´aln´ı poˇcet vstupn´ıch atribut ˚u kter´e mohou b ´yt poskytnuty algo-ritmu pˇred aplikov´an´ım selekce rys ˚u. Nastaven´ı na 0 selekci rys ˚u pro vstupn´ı atri-buty vyˇrad´ı.

V ´ychoz´ı hodnota je 255.

MAXIMUM OUTPUT ATTRIBUTES

- Urˇcuje maxim´aln´ı poˇcet v ´ystupn´ıch atribut ˚u kter´e mohou b ´yt poskytnuty algo-ritmu pˇred aplikov´an´ım selekce rys ˚u. Nastaven´ı na 0 selekci rys ˚u pro v ´ystupn´ı atributy vyˇrad´ı.

V ´ychoz´ı hodnota je 255. MINIMUM SUPPORT

- Urˇcuje minim´aln´ı poˇcet listov ´ych hodnot potˇrebn ´ych pro vytvoˇren´ı ˇstˇepu v roz-hodovac´ım stromu.

(31)

Tuto hodnotu je vhodn´e zv ´yˇsit, pokud je mnoˇzina zpracov´avan ´ych dat pˇr´ıliˇs velk´a - vyhneme se tak pˇretr´enov´an´ı (overtraining).

V ´ychoz´ı hodnota je 10. SCORE METHOD

ID Jm´eno 1 Entropy

2 Bayesian with K2 Prior

3 Bayesian Dirichlet Equivalent (BDE) Prior(v ´ychoz´ı) SPLIT METHOD

Urˇcuje metodu pouˇzitou pro rozˇstˇepen´ı uzlu. K dispozici jsou n´asleduj´ıc´ı moˇznosti. ID N´azev

1 Bin´arn´ı: Indikuje, ˇze strom m´a b ´yt rozdˇelen do dvou vˇetv´ı, nez´avisle na ˇc´ıseln´e hodnotˇe atributu.

2 Kompletn´ı: Indikuje, ˇze strom m ˚uˇze vytv´aˇret tolik ˇstˇep ˚u, kolik m´a atribut hodnot. 3 Oboj´ı: Specifikuje, ˇze sluˇzby anal ´yzy (Analysis Services) mohou rozpoznat, kte-rou z rozdˇelovac´ıch metod je vhodn´e pouˇz´ıt pro z´ısk´an´ı nejlepˇs´ıch v ´ysledk ˚u. V ´ychoz´ı hodnota je 3

3.9 Naivn´ı Bayesova metoda

Bayes ˚uv teor´em je pojem z teorie pravdˇepodobnosti (pojmenov´an je po Thomasu Baye-sovi, kter ´y jej poprv´e rozebral ve sv´em pojedn´an´ı An Essay towards solving a Problem in the Doctrine of Chances ). Toto tvrzen´ı ukazuje, jak jedna podm´ınˇen´a pravdˇepodobnost z´avis´ı na jej´ı inverzi.

P (A | B) = P (B | A)P (A) P (B)

Zastoupen´ı jednotliv ´ych hypot´ez, je vyj´adˇreno tzv. apriorn´ı pravdˇepodobnost´ı P(A). Zmˇenu pravdˇepodobnosti hypot´ezy v pˇr´ıpadˇe nast´an´ı ud´alosti B pak vyjadˇruje podm´ınˇen´a prav-dˇepodobnost P (B | A) (t´eˇz aposteriorn´ı pravprav-dˇepodobnost). Pravprav-dˇepodobnost evidence je vyj´adˇrena veliˇcinou P(B).

Z´akladn´ım pˇredpokladem naivn´ıho bayesovsk´eho klasifik´atoru je pˇredpoklad, ˇze pˇri platnosti hypot´ezy B jsou evidence A podm´ınˇenˇe nez´avisl´e.

Bayesovsk´a klasifikace se pouˇz´ıv´a napˇr. pˇri filtrov´an´ı spamu z E-mailov ´ych schr´anek, klasifikaci dokument ˚u, nebo pravdˇepodobnosti bonity klient ˚u bank, a pod.

3.9.1 Implementace naivn´ı Bayesovy metody v SQL Serveru 2008

Naivn´ı Bayesova metoda (slovo naivn´ı je zde pouˇzito proto, ˇze nebere v ´uvahu tak´e pouze potenci´alnˇe existuj´ıc´ı z´avislosti) je klasifikaˇcn´ı algoritmus pouˇz´ıvan ´y pro predik-tivn´ı modelov´an´ı.

(32)

Algortimus vych´az´ı z Bayesova teor´emu a je urˇcen pˇredevˇs´ım pro rychl´e generov´an´ı dolovac´ıch model ˚u a zjiˇst’ov´an´ı vztah ˚u mezi vstupn´ımi a predikovan ´ymi sloupci. N´aslednˇe je vhodn´e na z´akladˇe v ´ysledk ˚u aplikovat dalˇs´ı, n´aroˇcnˇejˇs´ı a efektivnˇejˇs´ı metody.

Algortimus poˇc´ıt´a pravdˇepodobnost vˇsech stav ˚u pro kaˇzd ´y vstupn´ı sloupec. V ´ystupem je mnoˇzina vˇsech moˇzn ´ych stav ˚u predikovan´eho sloupce.

Pro pˇr´ıpadn´e grafick´e zn´azornˇen´ı je moˇzno pouˇz´ıt n´astroj Microsoft Naive Bayes Viewer.

3.9.2 Parametry pro optimalizaci naivn´ı Bayesovy metody

MAXIMUM INPUT ATTRIBUTES

- Urˇcuje maxim´aln´ı poˇcet vstupn´ıch atribut ˚u, kter´e mohou b ´yt poskytnuty algo-ritmu pˇred aplikov´an´ım selekce rys ˚u. Nastaven´ı na 0 selekci rys ˚u pro vstupn´ı atri-buty vyˇrad´ı.

V ´ychoz´ı hodnota je 255.

MAXIMUM OUTPUT ATTRIBUTES

- Urˇcuje maxim´aln´ı poˇcet v ´ystupn´ıch atribut ˚u, kter´e mohou b ´yt poskytnuty algo-ritmu pˇred aplikov´an´ım selekce rys ˚u. Nastaven´ı na 0 selekci rys ˚u pro v ´ystupn´ı atri-buty vyˇrad´ı.

V ´ychoz´ı hodnota je 255.

MINIMUM DEPENDENCY PROBABILITY

- Specifikuje minim´aln´ı pravdˇepodobnost z´avislosti mezi vstupn´ımi a v ´ystupn´ımi atributy. Tato hodnota je pouˇz´ıv´ana k nastavov´an´ı limit ˚u velikosti obsahu genero-van ´ym t´ımto algoritmem. Tato vlastnost nab ´yva hodnot od 0 do 1. Vyˇsˇs´ı hodnoty sniˇzuj´ı poˇcet atribut ˚u v modelu.

V ´ychoz´ı hodnota je 0,5. MAXIMUM STATES

- Specifikuje maxim´aln´ı podporovan ´y poˇcet diskr´etn´ıch stav ˚u na atribut. Pokud je poˇcet stav ˚u pro dan ´y atribut vyˇsˇs´ı neˇz hodnota tohoto parametru, pouˇzije algorit-mus pro tento atribut ”nejobl´ıbenˇejˇs´ı”stavy a ostatn´ı stavy ignoruje.

V ´ychoz´ı hodnota je 100. 3.10 Neuronov ´e s´ıt ˇe

Neuronov´e s´ıtˇe jsou zhruba 60 let star ´ym v ´ypoˇcetn´ım (respektive matematick ´ym) mo-delem. Pˇredlohou tohoto konceptu jsou biologick´e neuronov´e s´ıtˇe. Prvn´ı matematick ´y n´avrh vytvoˇril v roce 1943 matematik Walter Pitts ve spolupr´aci s neurofyziologem Warre-nem McCullochem.

Na z´akladˇe tohoto modelu vytvoˇrili prvn´ı elektronick ´y obvod, kter ´y simuloval jed-noduchou neuronovou s´ıt’. V roce 1949 vydal Donald Hebb svou pr´aci ”The Organization

References

Related documents

Moreover, in a globalized world, where English has become a contem- porary lingua franca for intercultural communication, the pronunciation norms of English as a Lingua Franca

Kluytmans is a Professor of Medical Microbiology and Infection Control at the VU University Medical Center in Amsterdam and also serves as a consultant microbiologist and

The LNP method selected by the telecommunications industry and adopted by Neustar is based on AT&T’s proposed Location Routing Number (LRN) technique, which assigns one or

Staff Travel Card Safeguarded Active & Retired Leisure (free & reduced rate) TOC Privilege Card TOC Non-Safeguarded active Leisure (reduced rate) Residential Pass

The lower the total cholesterol level the worse the prognosis of the patient and vice versa.CRP levels can be used as a marker of prognosis (improved / worsened / died) in

The article investigates trends of Ukrainian small and medium enterprises (SMEs) development and their significance for the social responsibility of the national business..

The Ministry of Social Affairs and Social Services (Misrad HaRevacha VeSherutim Chevrati’im) provides guidance, counseling, rehabilitation, home-help and other forms of assistance

In this chapter, we focused on creative media or DIY production drawing on work from new literacy studies and technology education and provided a framework that