dolování znalosti z dat pomocí

Rozměr: px
Začít zobrazení ze stránky:

Download "dolování znalosti z dat pomocí"

Transkript

1 Mendelova univerzita v Brně Provozně ekonomická fakulta Porovnání nekomerčních nástrojů pro dolování znalosti z dat pomocí strojového učení Diplomová práce Vedoucí práce: doc. Ing. Jan Žižka, CSc. Bc. Petr Ondrejka Brno 2013

2 Zadání diplomové práce

3 Děkuji vedoucímu práce doc. Ing. Janu Žižkovi, CSc. především za jeho ochotu, dostupnost a podnětné připomínky při vedení této práce.

4 Prohlašuji, že jsem práci: Porovnání nekomerčních nástrojů pro dolování z dat pomocí strojového učení vypracoval/a samostatně a veškeré použité prameny a informace uvádím v seznamu použité literatury. Souhlasím, aby moje práce byla zveřejněna v souladu s 47b zákona č. 111/1998 Sb., o vysokých školách ve znění pozdějších předpisů a v souladu s platnou Směrnicí o zveřejňování vysokoškolských závěrečných prací. Jsem si vědom/a, že se na moji práci vztahuje zákon č. 12/2000 Sb., autorský zákon, a že Mendelova univerzita v Brně má právo na uzavření licenční smlouvy a užití této práce jako školního díla podle 60 odst. 1 autorského zákona. Dále se zavazuji, že před sepsáním licenční smlouvy o využití díla jinou osobou (subjektem) si vyžádám písemné stanovisko univerzity, že předmětná licenční smlouva není v rozporu s oprávněnými zájmy univerzity, a zavazuji se uhradit případný příspěvek na úhradu nákladů spojených se vznikem díla, a to až do jejich skutečné výše. V Brně dne: podpis

5 5 Abstract Petr Ondrejka, Comparison of non-commercial tools for data mining using machine learning, Diploma thesis. Brno, This diploma thesis concerns with features and abilities of chosen software tools for data mining. An important part is the selection and evaluation of each criteria by which the comparison of tools is done. The basic issues of data mining and machine learning are determined here. The comparison criteria are chosen with consideration of the necessary operations that are required to realize the whole process of data mining. The criteria are evaluated on the same level of importance, without weighting. The most widely used algorithms for data mining are chosen for the comparison of time and memory demandingness. The result is the description of selected tools based on the comparison criteria and evaluation of these criteria. The comparison results must be understood with respect of testing data, chosen hardware, and the fact that no weighting was used. Keywords Data mining, machine learning, classification, clustering, time demandingness, memory demandingness, algorithm support, preprocessing, visualization, import and export, RapidMiner, Weka, KNIME, Orange. Abstrakt Petr Ondrejka, Porovnání nekomerčních nástrojů pro dolování z dat pomocí strojového učení, Diplomová práce. Brno, Diplomová práce se zabývá srovnáním vlastností a schopností vybraných softwarových nástrojů pro dolování z dat. Důležitou částí je stanovení a vyhodnocení

6 6 jednotlivých kriterií, podle kterých se provádí srovnání nástrojů. Je zde vymezena základní problematika strojového učení a dolování z dat. Kriteria srovnání jsou vybrána na základě nezbytných operací nutných pro realizaci procesu dolování z dat. Kriteria jsou vyhodnocována rovnocenně, bez použití vah. Pro porovnání časové a prostorové náročnosti byly vybrány nejpoužívanější algoritmy pro dolování z dat. Výsledkem je popis vybraných nástrojů vycházející z kriterií srovnání a samotné vyhodnocení těchto kriterií. Výsledky srovnání je nutno chápat v závislosti na testovaných datech, zvoleném hardware a nepoužití vah při srovnání. Kĺıčová slova Dolování z dat, strojové učení, klasifikace, clustering, časová náročnost, prostorová náročnost, podpora algoritmů, předzpracování dat, vizualizace, import a export, RapidMiner, Weka, KNIME, Orange.

7 OBSAH 7 Obsah 1 Úvod a cíl práce Úvod Cíl práce Metodika Stanovení kriterií srovnání Způsob vyhodnocení kriterií Metriky jednotlivých kriterií Terminologie Použitý hardware a software Strojové učení Typy algoritmů strojového učení Aplikace strojového učení Rozhodovací stromy Asociační pravidla Umělé neuronové sítě SVM (podpůrné vektory) Shlukování (clustering) Strojové učení a dolování z dat Algoritmy strojového učení C k-means a EM SVM (Support Vector Machine) Apriori AdaBoost k-nn (algoritmus nejbližších sousedů) Naivní bayesovský klasifikátor Předzpracování dat (preprocessing) Metody předzpracování dat Čištění dat Datová integrace Transformace dat Redukce dat Softwarové nástroje Vybrané nástroje dolování z dat RapidMiner Weka KNIME

8 OBSAH Orange Vyhodnocení kritérií Podpora algoritmů Vyhodnocení podpory algoritmů Časová a prostorová náročnost Datové soubory pro porovnání časové a prostorové náročnosti Výsledky měření Vyhodnocení časové náročnosti Vyhodnocení prostorové náročnosti Předzpracování dat (preprocessing) RapidMiner Weka KNIME Orange Vyhodnocení předzpracování dat Možnosti vizualizace RapidMiner Weka KNIME Orange Vyhodnocení možností vizualizace Možnosti importu a exportu RapidMiner Weka KNIME Orange Vyhodnocení importu a exportu dat Diskuse Vymezení platnosti výsledků Závěr Reference Přílohy Příloha A Grafy vyhodnocení časové a prostorové složitosti

9 1 ÚVOD A CíL PRÁCE 9 1 Úvod a cíl práce 1.1 Úvod Už od prvního vynálezu počítače si lidé pokládají otázku, zda je možné tyto stroje učit. Pokud by bylo možné naprogramovat počítače k učení, tedy aby sami zlepšovaly své znalosti, dopady by mohly být obrovské. Samotná představa například počítačů, které se mohou naučit z lékařských záznamů jaká léčba je nejvíce efektivní nebo domů, které vylepšují svoje znalosti o optimalizaci spotřeby energie, je více než zajímavá. Porozumění metodám pro učení počítačů může otevřít velké možnosti pro jejich využití. Na druhou stranu i detailní chápání algoritmů strojového učení může vést k lepšímu porozumění (ne)schopností člověka učit se. Stále není možné přinutit počítač, aby se učil stejně efektivně jako někteří lidé. Byly ale vyvinuty algoritmy, které se ukázaly velmi efektivní při aplikaci na konkrétní typy úloh. Také teoretické studium samotného učení se začíná rozvíjet. Počítačové programy začínají stále častěji používat algoritmy strojového učení jak na úrovni komerční, tak vědecké. Například u problému rozeznávání vzorů jsou algoritmy založené na strojovém učení zcela nejefektivnější volbou. V oboru dolování z dat jsou rutinně používány algoritmy strojového učení pro nalezení znalostí ve velkých datových množinách. Se stále větším pokrokem v počítačové vědě i technice roste význam strojového učení, protože nachází širší i častější uplatnění. Jako několik úspěšných aplikací strojového učení lze uvést aplikace na rozpoznání mluvených slov (Lee, 1989), predikce míry uzdravení pacientů trpících pneumonií (Cooper, 1997), detekce podvodného použití platebních karet, řízení autonomních vozidel na veřejných dálnicích (Pomerleau, 1989) a další. Byly vyvinuty metriky charakterizující fundamentální vztahy mezi počtem tréninkových příkladů, počtem hypotéz a úrovní očekávaných chyb. Vědci začínají vytvářet modely přirozeného učení zvířat a lidí a jejich vztahy k algoritmům strojového učení. V aplikacích, algoritmech, teorii a studiu biologických systémů byl v poslední dekádě učiněn velký pokrok. Algoritmy strojového učení jsou předmětem různých implementací. Existuje celá řada úprav a verzí algoritmů (např. C4.5 a J48 pro rozhodovací stromy). Různé algoritmy jsou komerčně licencované, ale jejich pomalejší nebo méně přesné verze mohou být distribuovány nekomerčně. Pro experty na strojové učení, kteří potřebují podle konkrétních úloh a dat upravovat a ladit implementace algoritmů, jsou obzvláště důležité nekomerční verze s otevřeným zdrojovým kódem. Získáváním zna-

10 1.2 Cíl práce 10 lostí v datech se dnes nezabývají pouze vysoce specializované IT firmy, ale každé odvětví ve vyspělých i rozvojových zemích, kde nastupuje trend elektronického zpracování dat. Na vedoucích pozicích se nemusejí nacházet IT specialisté, ale přesto je pro jejich rozhodování velmi důležité získat podrobné znalosti z dat. Pro tyto účely jsou vyvíjeny programy, které umožňují stále lepší reprezentaci agregovaných datových množin s nalezenými znalostmi. Tento vysokoúrovňový software umožňuje překlenout mezeru mezi IT specialisty a managementem podniků. Pokud nemá firma velké množství finančních prostředků nebo je z nějakého důvodu nechce investovat do IT, je ideálním řešením nekomerční software. Z praktického hlediska potřebují firmy i jednotlivci zvolit vhodný software podporující algoritmy strojového učení pro dolování z dat. Vhodnost daných implementací algoritmů může být determinována mnoha různými kriterii jako například výpočetní náročnost, podpora algoritmů, možnosti vizualizace, možnosti importu a exportu, dokumentace a další. Několika uvedenými kriterii se zabývá srovnání software v této práci. 1.2 Cíl práce Stanovení cíle závěrečné práce umožňuje snáze uchopit poznatky zde zformulované i stanovit finální hodnocení. Ze samotného tématu vyplývá hlavní (obecný) cíl práce. Pokud by se mělo maximálně abstrahovat od dílčího zpracování k dosažení obecného cíle, je jím zpracování porovnání nekomerčních nástrojů pro dolování z dat. Tyto nástroje zároveň musí implementovat algoritmy strojového učení. Pro lepší pochopení tohoto obecného cíle je nutné stanovit dílčí cíle. Ty se dají rozdělit na hlavní a vedlejší. Hlavní cíle slouží jako fundamentální základ pro dosažení obecného cíle srovnání software. Vedlejší cíle se potom angažují i v jiných oblastech, které jsou ale s tématem práce částečně spjaté. Umožňují např. lépe pochopit danou problematiku, ale jejich podíl na dosažení obecného cíle je mnohem menší. S ohledem na nutné procedury pro vytvoření experimentálního porovnání software se dá obecný cíl dekomponovat na tyto hlavní cíle: Vybrat nekomerční software (open source) pro dolování z dat a učinit objektivní srovnání. Zvolit jednotlivá kriteria a provést srovnání z jejich hlediska i s celkového hlediska. Navrhnout sérii experimentů pro realizaci porovnání.

11 1.2 Cíl práce 11 Interpretace dosažených výsledků. Pro účely lepšího uchopení provedené analýzy, testování a experimentování s technikami dolování z dat jsou vymezeny následující vedlejší cíle: Srozumitelná grafická i textová formulace výsledků získaných při měření a testování software. Elaborace základních principů strojového učení, uvedených algoritmů a dolování z dat. Uvedení jednoduchého návodu pro realizaci procesu dolování z dat ve vybraných software.

12 2 METODIKA 12 2 Metodika Pro účely efektivního a vyčerpávajícího srovnání nástrojů na dolování z dat je nutné stanovit rámec, ve kterém toto srovnání bude probíhat. Takový rámec určuje metodika. Nejprve je nutné vybrat samotné nástroje, kterých se bude srovnání týkat. Existuje celá řada různých utilit a programů, které lépe či hůře slouží k dolování z dat. Aby bylo dosaženo co možná největšího významu této práce, je nutné, aby vybrané nástroje splňovaly určitá kriteria. Půjde tedy o tyto: Nekomerční nástroj Grafické uživatelské rozhraní Podpora alespoň základních algoritmů strojového učení pro dolování z dat Velký počet uživatelů Neukončený vývoj nástroje Použití na reálných projektech GUI s možností navazování procesů na sebe (analytical pipeline, vizuální programování) Výše uvedené jsou tedy kriteria pro výběr konkrétních nástrojů. V souladu s náročností diplomové práce musí být omezen počet srovnaných subjektů. V následující části je nutné stanovit metodiku pro samotné porovnání vybraného software. Základem jsou tedy kriteria porovnání nástrojů. Při stanovení těchto kriterií je nutné vycházet jednak ze samotného zadání práce (např. porovnání časové a pamět ové náročnosti), ale také z uživatelského hlediska. Je třeba se tedy zaměřit na vlastnosti, které v prvé řadě kvalitně a rychle umožní uživateli dosáhnout požadovaného výsledku. Tímto jsou vymezena hlavní kriteria. Je třeba si ale uvědomit, že v této práci nejde přímo o srovnání výsledků jednotlivých algoritmů strojového učení, ale o vyhodnocení vlastností software, který tyto algoritmy implementuje. Vedlejší kriteria vychází z běžné práce uživatele se softwarem. Bude tedy kladen důraz na vlastnosti software, které souvisí s nejčastější činností uživatele. Realizace vlastního průzkumu, který by přesně určoval, které tyto vlastnosti a činnosti jsou, je nad rámec této práce. Vychází se tedy z těch programových prostředků,

13 2.1 Stanovení kriteríı srovnání 13 které jsou nezbytně nutné pro provedení celého procesu dolování z dat (načtení dat, předzpracování, hlavní proces, prezentace výsledků). Po stanovení srovnávacích kriterií je třeba určit vhodnou metodu srovnání. Ta se může lišit u každého kriteria. 2.1 Stanovení kriteríı srovnání V této části jsou určena jednotlivá kriteria srovnání. 1) Časová a prostorová náročnost Uvedené kriterium bylo stanoveno přímo v zadání této práce. Není zde řeč přímo o časové a prostorové složitosti, protože vybrané algoritmy již mají stanovené složitostní třídy podle notace velké O. Jde zde o porovnání výkonnosti jednotlivých implementací těchto algoritmů ve vybraném software na vybraných datech. Označení časová (či prostorová) složitost by tedy bylo nepřesné. Časová náročnost je měřena v sekundách a prostorová v kilobajtech. Vyhodnocení tohoto kriteria je provedeno měřením. Forma měření je stanovena s ohledem na omezené možnosti autora práce. Prvním krokem je výběr subjektů, u kterých bude porovnání časové a prostorové náročnosti probíhat. Jako tyto subjekty byly stanoveny nejdůležitější rodiny algoritmů strojového učení pro dolování z dat (Top 10 algorithms in data mining, 1997). Záměrně je zde uveden termín rodina algoritmů (namísto pouze algoritmu), protože ten samý algoritmus nemusí být implementován ve všech nástrojích. Algoritmy v rodině algoritmů jsou vymezeny tím, že slouží ke stejnému účelu. Například klasifikační stromy jsou někde realizovány implementací algoritmu J48, jinde jinou. Pokud ale nástroje umožňují srovnání přímo konkrétních algoritmů, je těmto dána přednost. Výsledek porovnání má jistě větší vypovídací hodnotu, pokud se napříč různými nástroji porovnává přímo konkrétní algoritmus. A právě tímto způsobem je stanovena časová a prostorová náročnost tedy srovnáním konkrétního algoritmu (popř. různých zástupců jedné rodiny algoritmů) napříč různými nástroji. Při výběru se vychází z publikace Top 10 algorithms in data mining. Dalším kriteriem výběru je, aby daný algoritmus podporovaly alespoň dva nástroje pro dolování z dat. Výsledkem jsou tyto algoritmy (rodiny algoritmů): Klasifikační stromy (J48, C4.5) k-means

14 2.1 Stanovení kriteríı srovnání 14 SVM (Support Vector Machine) Asociační pravidla (Apriori, FP-Growth) EM (expectation maximization) AdaBoost k-nn Naive Bayes Pro samotné měření je použit systémový monitor operačního systému Windows 7 Enterprise a jednotlivé monitory konkrétních nástrojů. Pro každý algoritmus byly vybrány vhodné množiny dat. Aby byly poskytnuty výsledky měření v různých rozsazích dat, byly vybrány datové množiny o velikosti 100, 1 000, a příkladů. Data byla upravena tak, aby během samotného procesu měření nedocházelo vůbec nebo jen velmi málo k preprocessingu (předzpracování dat). Díky tomu je výsledek vyjádřením náročnosti pouze načtení dat a aplikace konkrétního algoritmu. Pokud to všechny nástroje umožňovaly, byla použita cross-validace pro lepší výsledky učení a testování. Měření prostorové náročnosti probíhalo tak, že byla vždy zaznamenána obsazená pamět (v kb) nástrojem na začátku měření, následně na konci měření a výsledkem je rozdíl těchto dvou hodnot. 2) Podpora algoritmů Rozhodnutí, který algoritmus použít pro nalezení znalostí v datech je naprosto fundamentální pro provedení procesu dolování z dat. Proto je důležité stanovit, který software podporuje jaké algoritmy. V tomto srovnání se berou v úvahu stejné algoritmy jako u kriterií časové a prostorové náročnosti. 3) Možnosti předzpracování dat (preprocessingu) Mezi nahráním dat a provedením učení a testování probíhá transformace a zpracování. Tento proces se nazývá předzpracování dat neboli preprocessing. Pokud nemá uživatel připravena data přesně pro použití daného algoritmu, neobejde se bez preprocessingu. Určité algoritmy dokonce vyžadují například stanovení významu datových atributů a meta atributů. To také patří do předzpracování dat. 4) Možnosti vizualizace Nedílnou součástí dolování z dat je i prezentace výsledků. To platí zejména, pokud mají získané znalosti sloužit pro neinformaticky zaměřené pracovníky, jako např.

15 2.2 Způsob vyhodnocení kriteríı 15 manažery. Vizualizace může být realizovaná pomocí různých prostředků. Základní způsob je prostý text a tabulkové zobrazení. Většina nástrojů nabízí navíc různé 2D nebo i 3D grafy. Popis možností u vybraného software je zpracován v kapitole Vyhodnocení kriterií v části Možnosti vizualizace. 5) Možnosti importu a exportu Vybrané softwarové nástroje jsou porovnány i z hlediska schopností pro import a export různých formátů. Základní položkou jsou v tomto ohledu textové soubory, které obsahují datové instance nebo metadata. Formáty mohou být různé. Typickým příkladem je CSV formát. Dnešním trendem je použití XML. Kromě textových souborů je možné zpracovávat i speciální datové soubory obsahující různé typy objektů. Možnosti importu a exportu jsou popsány a vyhodnoceny ve stejnojmenné části v kapitole Vyhodnocení kriterií. 2.2 Způsob vyhodnocení kriteríı Jednotlivá kriteria se navzájem liší svou povahou vyhodnocení. U některých se vyhodnocení provádí srovnáním naměřených výsledků, u jiných srovnáním schopností každého software. Na úrovni jednotlivých kriterií se tedy metody jejich vyhodnocení mohou lišit. Pro celkové srovnání je však třeba stanovit jednotnou metriku. Není totiž možné srovnávat dobu provádění procesu v sekundách s počtem kilobajtů operační paměti, které byly v tomto procesu využity. Proto jsou naměřené a jinak získané výsledky z jednotlivých kriterií převedeny na body na stupnici 0 až 100. Srovnání je relativní, tedy nejlepší software získává plných 100 bodů a ostatní potom mají poměrný počet bodů na základě metriky zvolené pro dané kriterium. Celkový (agregovaný) výsledek, který umožní stanovit nejlepší software pro dolování z dat za daných podmínek vyplývajících z této metodiky, je určen neváženým součtem bodů dílčích kriterií. Tento součet není vážený z toho důvodu, že nejsou k dispozici data, která by určovala, že je některé kriterium důležitější než jiné Metriky jednotlivých kriteríı Protože nejsou k dispozici data o tom, které kriterium je důležitější či méně důležité pro dolování z dat, nejsou stanoveny váhy. To stejné platí i v případě subjektů srovnání v rámci daného kriteria. Znamená to, že žádný algoritmus nemá vyšší váhu v rámci srovnání časové a prostorové náročnosti. Stejně tak například zobrazení

16 2.2 Způsob vyhodnocení kriteríı 16 typu Radviz není důležitější než klasický bodový graf apod. Stanovení vah by bylo v tomto stadiu zcela subjektivní a nepřesné. Realizace vlastního průzkumu, který by tyto váhy určoval objektivně, je nad rámec této práce. 1) Časová a prostorová náročnost Metrika časové i prostorové náročnosti je stanovena zcela intuitivně. Základním kriteriem je čas respektive obsazená pamět v kb. Čas u časové náročnosti se měří v sekundách a to vždy od začátku nahrávání dat ze vstupního souboru až do jejich zpracování přes všechny uzly. Pamět obsazená v průběhu procesu je spočítána jako rozdíl mezi pamětí zabranou konkrétním softwarem před začátkem nahrávání dat a pamětí obsazenou po dokončení celého procesu. Pro účel celkového srovnání jsou sekundy respektive kilobajty (kb) normalizovány do intervalu <0,1>, kde vyšší číslo znamená vyšší skóre. Následně jsou hodnoty převedeny na body stupnice 0 až 100.

17 2.2 Způsob vyhodnocení kriteríı 17 2) Podpora algoritmů Pro srovnání je použito 8 vybraných algoritmů (nebo rodin algoritmů). Aby byla vyhodnocena větší škála hodnot než jen podporuje/nepodporuje, bylo stanoveno rozpětí 4 hodnot: úplná podpora vybraného algoritmu podpora alespoň jednoho algoritmu z rodiny algoritmů nevlastní implementace algoritmu (např. použití jiné než vlastní knihovny KNIME používá pro algoritmus Expectation-Maximization knihovnu z Weky) nepodporuje Těmto hodnotám jsou následně přiřazeny číselné koeficienty, které se v poměru přepočítají na body ze stupnice 0 až 100, aby bylo možno provést celkové srovnání. 3) Předzpracování dat Toto kriterium je vyhodnoceno na základě počtu úkonů předzpracování, které je možné v individuálním software provádět. Např. uzel Impute v Orange umožňuje jednak diskretizaci a jednak odstranění chybějících hodnot. Oba dva tyto úkony jsou započítány zvlášt. Stejný způsob je použit i jinde. Po tomto vyhodnocení je počet úkonů opět v měřítku přepočítán na body ze stupnice 0 až 100. Nejlepší software má 100 bodů a výsledky ostatních jsou dopočítány v poměru. 4) Možnosti vizualizace Vizualizace je vyhodnocena u jednotlivých nástrojů na základě počtu typů zobrazení, které jsou podporovány. Jako jeden typ je brán v úvahu prostý textový výstup a tabulkové zobrazení. Naproti tomu různé typy grafů jsou započítávány zvlášt. Opět platí, že nejsou dostupná žádná data o tom, který graf je v praxi nejpoužívanější, či který je důležitější pro rozhodování managementu. Na stejnou úroveň je tedy dáván jak bodový graf, tak pokročilejší grafy umožňující zobrazovat informace o dalších dimenzích datové instance. Počet typů zobrazení je následně převeden do stupnice 0 až 100 bodů pro celkové srovnání. 5) Možnosti importu a exportu U vyhodnocování tohoto kriteria jsou brány v úvahu jednotlivé struktury dat, které je možné importovat či exportovat. Jde tedy o různé typy textových souborů. Např. CSV, XML apod. se berou v úvahu zvlášt. Stejně se přistupuje ke speciálním ob-

18 2.3 Terminologie 18 jektům, které mohou být bud datové nebo obsahovat metadata či nastavení. Jednotlivé úkony s relační databází (např. SELECT nebo INSERT) se také uvažují zvlášt. Výsledná metrika je počet možných úkonů s různými strukturami dat, při kterých probíhá přímo import nebo export. Tento počet je následně převeden na body ze stupnice 0 až 100 pro celkové srovnání. 2.3 Terminologie Součástí vyhodnocení většiny kriterií jsou procesy, které je možné v grafickém prostředí na sebe napojovat a utvořit tak jednolité workflow. V dokumentaci různého software je odkazováno na tyto procesy jinak. Např. v RapidMineru se tento proces nazývá operátor, v KNIME uzel a v Orange widget. Pokud je v této práci použit některý z těchto termínů, jde o výše zmíněný proces vizuálního programování. Samotný pojem vizuálního programování je v různé literatuře také zmiňován pod jinými názvy. Může jít například o dataflow nebo analytical pipeline. V této práci se používá zpravidla termín vizuální programování. Dále je třeba vymezit pojem algoritmu a rodiny algoritmů. Pokud se zde pojednává o algoritmu, jde o konkrétní programovatelný postup k provedení úlohy např. k-nn nebo SVM. Naproti tomu rodina algoritmů poukazuje na množinu algoritmů, které slouží k jednomu účelu nebo mají stejné či podobné vlastnosti. V této práci se pojem rodina algoritmů vztahuje pouze na klasifikační stromy a asociační pravidla. 2.4 Použitý hardware a software Pro účely zpracování této práce byla použita platforma Windows a desktopový počítač. Konkrétní konfigurace: Operační systém: Microsoft Windows 7 Enterprise 64-bit, Service pack 1 Procesor: AMD AhtlonTM 64 X2 Dual Core Processor GHz Operační pamět : 3.00 GB, DDR2 667 MHz Základní deska: Gigabyte GA-M61P-S3 Pevný disk: Seagate Barracuda 250 GB, 7200 ot./min.

19 3 STROJOVÉ UČENí 19 3 Strojové učení Strojové učení je součást oboru umělé inteligence a zabývá se konstrukcí a studiem systémů, které se mohou učit z dat. Některé systémy se mohou například trénovat na ových zprávách, aby se naučily rozlišovat mezi nevyžádanou a klasickou poštou. Po dokončení učení mohou být použity pro klasifikaci nově příchozích ových správ. Kromě klasifikace existuje mnohem více aplikací strojového učení. Definice strojového učení (Tom Mitchell, 1997) zní následovně: Počítačový program se učí pomocí zkušenosti E s ohledem na třídu úloh T a metriku výkonnosti P, pokud se tato výkonnost (měřená pomocí P) v úloze z T zvyšuje se zkušeností E. Hlavním cílem naučeného programu je schopnost zobecňovat díky získaným zkušenostem. V tomto kontextu je zobecňováním myšleno přesné zpracování (např. klasifikace) na nových, nenaučených datech, což je možné po skončení procesu učení na tréninkových datech. Tyto tréninkové příklady by měly vycházet z obecně neznámého pravděpodobnostního rozložení a učící program pomocí nich sestavuje obecný model schopný přesné predikce na nových příkladech. 3.1 Typy algoritmů strojového učení Algoritmy strojového učení mohou být organizovaný podle způsobu učení. První obecně uznávaný typ algoritmů je učení s učitelem (Kotsiantis, 2007). Tyto algoritmy jsou trénovány na označených příkladech (např. vstupní data obsahují výslednou hodnotu klasifikace). Jejich snahou je tvorba funkce, která umožní přesné zpracování nových dat. Úkolem je potom predikovat hodnotu funkce pro libovolný validní vstupní objekt. Toto je samozřejmě možné teprve po naučení na tréninkových datech. Aby bylo možné provést takovou predikci, program musí být schopen zobecňovat vstupní data i na výsledky, které nemá naučené. Analogický proces učení u lidí a zvířat se nazývá konceptuální učení. Učení bez učitele naproti tomu používá k natrénování funkce data, která neobsahují výsledné hodnoty (Hinton, Sejnowski, 1999). Zde je klíčovou vlastností schopnost popsat strukturu dat. Příkladem může být shlukování (clustering), kde jsou vstupní příklady roztřid ovány do skupin (shluků), aby je bylo možné podle určitých vlastností rozlišit.

20 3.2 Aplikace strojového učení 20 Kombinované učení (kombinace dvou předešlých přístupů, semi-supervised learning) umožňuje naučení funkce jak při vstupních hodnotách se známým výsledkem, tak bez něj (Chapelle, Schölkopf, 2006). Zástupcem je například algoritmus EM (Expectation-Maximization). Transdukce, neboli transduktivní inference, je typ strojového učení, kde algoritmy usuzují ze specifických tréninkových hodnot na specifické testovací hodnoty (Vapnik, 1998). Rozdíl oproti klasickému induktivnímu učení s učitelem je ten, že učení s učitelem usuzuje na obecná pravidla, která jsou následně aplikována na testovací data. Učení posilováním (také zpětnovazební učení) přidává koncept odměny. Předmětem studia jsou umělí agenti a jejich chování v určitém prostředí v závislosti na dosažené odměně. Agent provádí akce, které umožňují změnu v prostředí. Zvolením sekvence určitých akcí se snaží agent získat znalosti o tom, jak prostředí reaguje na jeho vlastní akce. Agent vyvíjí snahu o sestavení takové sekvence akcí, která maximalizuje odměnu. Tento koncept vychází částečně z prvků behaviorální psychologie u živočichů. Rozvíjené učení (developmental learning) je dalším typem strojového učení. Tento typ se využívá často u robotů, kde tito generují vlastní sekvence naučitelných situací, aby získali zcela nové schopnosti. Roboti k tomu provádí autonomní průzkum sebe sama a také získávají znalosti ze sociální interakce s lidskými učiteli. 3.2 Aplikace strojového učení Samotné algoritmy strojového učení jsou používány v jeho aplikacích, které určují problémovou oblast a způsob zpracování Rozhodovací stromy Tento typ algoritmů strojového učení používá strukturu rozhodovacího stromu jako prediktivní model. Jednotlivá pozorování jsou mapována do závěrů vyjadřujících cílovou hodnotu případu (Rokach, Maimon, 2008). Tento prediktivní model se používá ve statistice, dolování z dat a strojovém učení. Specializované případy jsou klasifikační stromy a regresní stromy. V těchto strukturách reprezentují listy cílové hodnoty a větve spojují nalezené vlastnosti, které vedou k těmto cílovým hodnotám.

21 3.2 Aplikace strojového učení Asociační pravidla Pro nalezení vztahů mezi proměnnými ve velkých datových setech se používají algoritmy umožňující nalezení asociačních pravidel. Účelem je nalezení pravidel vyjadřujících asociační vztahy pomocí různých metrik (Piatetsky-Shapiro, 1991). Typická aplikace algoritmů této skupiny spočívá v nalezení zákonitostí mezi prodejními produkty supermarketů ve velkých datových množinách. Například pravidlo {cibule, brambory} => {hamburger}, které bylo nalezeno v těchto datech, znamená, že pokud si zákazník koupí cibuli a brambory dohromady, je pravděpodobné, že si koupí také maso na hamburger. Tyto informace mohou být použity jako základ pro rozhodování o marketingových aktivitách, jako jsou např. propagační ceny. Kromě výše uvedeného příkladu nákupního košíku jsou asociační pravidla používány v mnoha aplikačních oblastech (např. detekce narušení bezpečnosti, kontinuální výroby, bioinformatiky aj). Při získávání asociačních pravidel obvykle nemá vliv pořadí položek Umělé neuronové sítě Umělé neuronové sítě jsou výpočetní modely inspirované chováním nervových systémů živých organismů (zvířat, člověka). Jsou široce používané ve strojovém učení a rozeznávání vzorů (Bishop, 1995). Jsou obvykle prezentovány jako systém vzájemně propojených umělých neuronů, které mohou reagovat na vstupní hodnoty a tím vytvářet funkce aplikovatelné na daný problém. Například u neuronových sítí pro rozpoznávání ručně psaného písma jsou neurony aktivovány charakteristickými pixely ve vstupním obrázku, které reprezentují určitý znak. Aktivované neurony předávají dále (na další neurony) výstupní hodnoty, které jsou dále váženy a transformovány na základě funkce určené tvůrcem neuronové sítě. Výstupní neurony potom určují informaci o znaku, který byl přečten na vstupu. Stejně jako ostatní metody strojového učení jsou neuronové sítě používány k řešení široké škály úloh, které se dají jen těžko řešit pomocí procedurálního nebo logického programování. Dalším příkladem aplikace neuronových sítí může být rozpoznávání hlasu SVM (podpůrné vektory) Aplikační oblast podpůrných vektorů určuje metody strojového učení, které provádí klasifikaci a regresi. Na základě tréninkových dat, která mají dvě výstupní hodnoty

22 3.3 Strojové učení a dolování z dat 22 (tzv. binární třída) probíhá rozčlenění nových příkladů do jedné z těchto dvou kategorií (Cortes, Corinna, Vapnik, 1995). SVM model vytváří hranici v rovině, která slouží pro odlišení dvou výsledných kategorií (částí roviny). Tato hranice může být lineární, sigmoidální aj Shlukování (clustering) Shluková analýza slouží pro přiřazení vstupních příkladů do podskupin (tzv. clusterů). Tyto příklady jsou potom v rámci clusteru považovány za podobné. Podobnost je dána sadou vybraných kriterií. Různé metody clusteringu provádí rozčleňování příkladů do skupin jinak (Bailey, 1994). Způsob clusteringu je založen na metrice nebo metrikách vhodných pro určení podobnosti. Evaluace potom probíhá například na základě tzv. vnitřní kompaktnosti (podobnost mezi členy v jednom clusteru). Jiné metody jsou založeny např. na odhadu hustoty. Clustering patří do skupiny metod strojového učení bez učitele. 3.3 Strojové učení a dolování z dat Pro správné chápání termínů strojového učení a dolování z dat je nutné oba vymezit. V jedné i druhé oblasti mohou být použity stejné metody. Hrubá definice zní následovně. Strojové učení se zabývá predikcí založenou na známých vlastnostech naučených z tréninkových dat. Dolování z dat slouží pro nalezení dříve neznámých vlastností v datech. Je jedním z kroků v nacházení znalostí v databázích (Knowledge Discovery in Databases KDD). Obě oblasti se prolínají v mnoha směrech. Dolování z dat používá mnoho metod dostupných ve strojovém učení. Účel jejich použití však může být jiný. Vymezení těchto dvou oblastí (které mají své vlastní sdělovací kanály a periodika) přichází s jejich základními předpoklady. Ve strojovém učení je výkonnost obvykle vyhodnocena s respektem ke schopnosti reprodukce (již známých) znalostí. U dolování z dat je hlavní úlohou získání dříve neznámých znalostí. Jiné zdroje (Ethem Alpaydin, 2010) udávají, že aplikace metod strojového učení na velké množiny dat se nazývá dolování z dat (data mining). Pomocí dolování z dat se ze surových (nezpracovaných) dat konstruuje jednoduchý model, který je vy-

23 3.3 Strojové učení a dolování z dat 23 soce užitečný pro konkrétní aplikace (např. klasifikace, shlukování apod.). Účelem je získat dosud neznámé informace o datové množině. Aplikace dolování z dat zasahuje do všemožných oblastí komerčních (analýzy trhu, marketing, optimalizace skladů, výroby apod.), vědeckých (bioinformatika, genetická analýza) i jiných (monitorování aktivit na internetu).

24 4 ALGORITMY STROJOVÉHO UČENí 24 4 Algoritmy strojového učení V této části jsou obecně popsány algoritmy strojového učení, kterých se týkalo testování v kapitole Vyhodnocení kriterií. Jde zde hlavně o to, uvědomit si k čemu slouží daný algoritmus a v jakých oblastech se používá. Přesný matematický popis algoritmů je nad rámec této práce. 4.1 C4.5 C4.5 je algoritmus používaný ke generování rozhodovacího stromu (Quinlan, 1993). Jde o rozšířený dřívější ID3 algoritmus. Rozhodovací strom generovaný pomocí C4.5 může být použit pro klasifikaci. Proto se často o tomto algoritmu hovoří jako o statistickém klasifikátoru. C4.5 vytváří rozhodovací stromy na základě tréninkových dat podobně jako ID3. Je zde použit koncept informační entropie. Tréninkový set obsahuje data v množině S = {s 1, s 2,...} již klasifikovaných instancí. Každý případ s i se skládá z p-dimenzionálního vektoru (x 1, i, x 2, i,..., x p, i), kde x j reprezentuje atributy instance. U každého uzlu stromu C4.5 vybírá ten atribut, u kterého se dají nejlépe data rozdělit do podmnožin. Kriterium rozdělení je normalizovaný informační zisk (information gain). Atribut s nejvyšším informačním ziskem je vybrán pro určení rozhodnutí. Rekurzivně jsou potom zpracovávány uzly na nižších úrovních hierarchie. Tento algoritmus provádí ve zvláštních případech následující zpracování: Všechny příklady patří do stejné třídy (jedné hodnoty výstupního atributu). V tomto případě se vytvoří pouze jeden list. Žádný z atributů nevykazuje informační zisk. C4.5 potom vytváří uzel o úroveň výše na základě očekávané hodnoty třídy. Zpracovává se instance, jejíž atribut třídy má ještě nezpracovanou hodnotu. Zpracování stejně jako v předchozím případě. Jednou z open source implementací tohoto algoritmu je J48 používaná v programu Weka. Vylepšený komerční algoritmus, který se často používá je C5.0.

25 4.2 k-means a EM k-means a EM k-means clustering je metoda vektorové kvantizace původně pro sloužící pro zpracování signálu (MacQueen, 1967). k-means si klade za cíl rozdělit n pozorování do k shluků (clusterů), ve kterých každé pozorování patří do clusteru s nejbližším průměrem. Ten slouží jako prototyp clusteru. To má za následek rozdělení prostoru dat do Voronoiových buněk. Tento problém je výpočetně NP-úplný (neexistuje algoritmus s polynomiální složitostí), ale jsou k dispozici heuristické algoritmy, které jsou běžně používané a rychle jsou schopny nalézt lokální optimum. Heuristiky jsou podobné algoritmu EM (expectation-maximization), kde se provádí smísení Gaussových rozdělení pomocí iterativního upřesňování (Dempster, Laird, 1977). Tento přístup je použit v obou algoritmech. k-means se snaží oproti EM najít shluky srovnatelného prostorového rozsahu. EM pak nachází shluky rozdílných tvarů. 4.3 SVM (Support Vector Machine) Podpůrné vektory (Support Vector Machines) jsou ve strojovém učení modely využívající učení s učitelem. Spolu se souvisejícími algoritmy (které analyzují data a rozeznávají vzory) slouží ke klasifikaci a regresi (Cortes, Corina, Vapnik, 1995). Základním SVM pro každý daný vstup předpovídá, ke které ze dvou hodnot výstupního atributu bude přiřazen. Slouží tak jako binární lineární klasifikátor. Z tréninkových dat se vytváří model, který slouží k predikci na nových datech. Model SVM reprezentuje vstupní příklady jako body v prostoru, které jsou mapovány tak, že příklady jednotlivých kategorií jsou rozděleny podle nejširší možné mezery (místo v prostoru, kde nejsou žádné body). Nové příklady jsou pak mapovány do stejného prostoru a jsou přiřazovány do kategorie, která je určena jednou z rozdělených částí prostoru. Kromě provádění takovéto lineární klasifikace mohou podpůrné vektory sloužit také pro nelineární klasifikaci, kde je prostor rozdělen podle jiných typů funkcí (sigmoidální, polynomiální apod.). Součástí techniky podpůrných vektorů je tzv. jádrová transformace (kernel transformation). Při ní se provádí transformace příznaků dat do prostoru transformovaných příznaků (do vyšší dimenze, nadroviny). To umožňuje, aby se úloha stala lineárně separovatelnou. Lze potom aplikovat optimalizační algoritmus pro nalezení nadroviny.

26 4.4 Apriori Apriori Apriori je klasický algoritmus pro nalezení častých sad položek ve vstupních datech a také asociačních pravidel (Agrawal, Srinkant, 1994). Nejčastější sady položek se identifikují tak, že k základní položce se přidávají další a další, dokud se dostatečně často objevují ve vstupních datech. Nalezené sady pomocí Apriori potom mohou být použity k určení asociačních pravidel, které ukazují obecné trendy v databázi. Úlohy využívající algoritmus Apriori slouží pro analýzu nákupního košíku. 4.5 AdaBoost AdaBoost (Adaptive Boosting) je tzv. meta algoritmus strojového učení, který lze použít ve spolupráci s jinými algoritmy za účelem zlepšení jejich výkonnosti (Freund, Schapire, 1995). AdaBoost je adaptivní v tom smyslu, že postupně vytváří modely podřízeného algoritmu a iterativně vylepšuje jeho parametry. AdaBoost je citlivý na odchylky a šum. V některých případech ale může být méně citlivý při přeučení než většina standardně použitých algoritmů. Podřízené klasifikátory mohou vykazovat značnou míru chybovosti, ale pokud je jejich správnost klasifikace lepší než náhodná, zlepší se v tomto ohledu výsledný model. Dokonce u klasifikátorů s chybovostí vyšší, než u náhodné klasifikace je AdaBoost užitečný, protože výsledná lineátní kombinace klasifikátorů má negativní koeficienty a tím pádem se chovají inverzně. AdaBoost iterativně vytváří klasifikátory v sérii t = 1,..., T. V každé iteraci se váhy každého nesprávně klasifikovaného příkladu zvýší a váhy správně klasifikováno se sníží. Díky tomu se následující vytvářené klasifikátory zaměřují na příklady, které byly dříve klasifikovány nesprávně. 4.6 k-nn (algoritmus nejbližších sousedů) k-nn je metoda sloužící pro klasifikaci a regresi, která predikuje hodnoty objektů nebo klasifikuje vstupní instance na základě k nejbližších příkladů (Altman, 1992). Algoritmus patří do skupiny učení s učitelem, kde se klasifikují prvky reprezentované multimenzionálními vektory do dvou nebo více tříd. Při učení se připraví tréninková množina takovým způsobem, aby příznaky měly střední hodnotu 0 a rozptyl 1. Díky tomu se umístí každý prvek na konkrétní místo v N -rozměrném prostoru. U klasifikace se při zpracování umíst ují vstupní prvky do téhož prostoru, přičemž jsou přiřazeny do třídy, kam patří nejvíce nejbližších sousedů (podle konstanty k). Ve

27 4.7 Naivní bayesovský klasifikátor 27 speciálním případě k =1 je testovaná instance klasifikována pouze podle nejbližšího souseda. Pro měření vzdáleností mezi sousedy se mohou používat různé metriky. Nejčastější je euklidovská vzdálenost nebo Hammingova vzdálenost. 4.7 Naivní bayesovský klasifikátor Naivní bayesovský klasifikátor je jednoduchý pravděpodobnostní klasifikátor založený na aplikaci Bayesova teorému se silnými (naivními) předpoklady nezávislosti. Naivní bayesovský klasifikátor předpokládá, že přítomnost (nebo nepřítomnost) určité vlastnosti nesouvisí s přítomností (nebo nepřítomností) jakékoliv jiné vlastnosti. Například za ovoce může být považováno jablko, pokud je červené, kulaté, a má asi 4 palce v průměru. I když tyto vlastnosti jsou závislé na sobě navzájem nebo na existenci dalších vlastností, Naivní bayesovský klasifikátor předpokládá, že všechny přispívají nezávisle k výsledné pravděpodobnosti jablka jako ovoce. V závislosti na přesné povaze modelu pravděpodobnosti může být Naivní bayesovský klasifikátor natrénován velmi efektivně za pomoci učení s učitelem.

28 5 PŘEDZPRACOVÁNí DAT (PREPROCESSING) 28 5 Předzpracování dat (preprocessing) Preprocessing je často opomíjený, ale důležitý krok v procesu dolování z dat. Metody sběru často nejsou dostatečně propracované na to, aby zachytily hodnoty mimo rozsah (např. věk -5), neplatné datové kombinace (např. pohlaví: muž, těhotný: ano) chybějící hodnoty apod. Takto nepřipravená data mohou způsobovat při procesu dolování z dat chybné nebo zavádějící výsledky (Data Preprocessing Techniques for Data Mining, 2008). Proto je důležité, aby reprezentativnost a kvalita dat byla zajištěna před samotnou analýzou. Příprava dat a jejich filtrování může zabrat nemalé množství času. Předzpracování dat obsahuje zejména: čištění normalizace transformace selekce Produktem předzpracování dat je finální tréninkový set. 5.1 Metody předzpracování dat Některé algoritmy strojového učení mohou být velmi citlivé na šum, chybějící hodnoty a nekonzistenci. Kvalita dat má veliký vliv na výsledky procesu dolování z dat. Předzpracování dat je jedním z velmi důležitých kroků v procesu dolování z dat a jeho úkolem je především příprava a transformace. Metody předzpracování jsou rozděleny do následujících kategorií (Data Preprocessing Techniques for Data Mining, 2008): Čištění dat (data cleaning) Datová integrace (data integration) Transformace dat (data transformation) Redukce dat (data reduction)

29 5.1 Metody předzpracování dat 29 Analogie k čištění dat: Obrázek 1: Představa čístění dat Představa datové integrace: Obrázek 2: Datová integrace Transformace dat: Obrázek 3: Ukázka transformace dat

30 5.1 Metody předzpracování dat 30 Redukce dat: Obrázek 4: Redukce dat Čištění dat Počáteční datová množina může být nekompletní (chybějící atributy nebo hodnoty buněk), obsahovat šum (chyby, odchylky mimo rozsah), nekonzistence (např. kódy odkazující na neexistující hodnoty). Data obsahující tyto nedostatky jsou běžně ukládané v dnešních databázích a datových skladech (Data Preprocessing Techniques for Data Mining, 2008). Nekompletní data se mohou objevit z mnoha důvodů. Cílový atribut nemusí být vždy dostupný nebo mohou chybět podmnožiny, které jednoduše nebyly považovány za důležité v době ukládání. Relevantní data nemusí být dostupná, protože problém zájmu nebyl dostatečně pochopen či kvůli chybám měřících zařízení. Data, která jsou nekonzistentní s jinými záznamy, mohla být vymazána. Dalším důvodem je např. absence ukládání historií změn s daty. Data mohou obsahovat šum díky nekorektním hodnotám atributů. Důvodů (způsobených člověkem nebo strojovým zpracováním) existuje samozřejmě mnohem více. Chyby v transformaci dat mohou také nastat. Jsou zde technologické limity, jako např. omezená velikost bufferu pro synchronizovaný transfer dat. Čištění dat se stará o doplnění nebo odstranění chybějících hodnot, zmírnění odchylek šumu, identifikace a odstranění extrémních hodnot a vyřešení nekonzistence. Ačkoli mnoho algoritmů dolování z dat obsahuje určité procedury pro zpracování nekompletních dat, ne vždy jsou takto robustní. Proto je důležité v rámci předzpracování dat uplatnit i metody pro jejich čištění. Metody pro zpracování chybějících hodnot (Data Preprocessing Techniques for Data Mining, 2008): Ignorování vektoru: Celý řádek (vektor) dat se odstraňuje nebo ignoruje zpravidla v případě, kdy chybí cílový atribut. Tato metoda není příliš efektivní, pokud

31 5.1 Metody předzpracování dat 31 ve vektoru nechybí více hodnot. Nevhodnou se tato metoda stává v případě, kdy v každém vektoru dat chybí různý počet hodnot. Manuální doplnění hodnot: Obecně je tento přístup velmi časově náročný a nemusí být vhodný v případě velkých datových množin. Použití globální konstanty pro doplnění chybějících hodnot: V tomto případě se zvolí jedna hodnota, která nahradí všechny případy chybějících hodnot. Používají se např. konstanty typu \Unknown,?, apod. Tato metoda je jednoduchá, ale nemusí být vhodná, protože různé nástroje mohou různé hodnoty interpretovat jinak. Použití průměru rozsahu atributu Použití průměru rozsahu atributu pro všechny případy patřící do stejné třídy jako daný vektor Použití nejpravděpodobnější hodnoty, která se v daném atributu může nacházet: Tato hodnota bývá určena nástroji používajícími Bayesovský formalismus nebo rozhodovací stromy. Žádná z metod nezaručí správnost výsledku. Poslední přístup je ale nejvíce používaný. V porovnání s ostatními metodami používá ostatní přístupná data pro předpověd chybějících hodnot. Šum je zapříčiněn náhodnou chybou při měření. Způsob, jakým může být tato chyba nejvíce neutralizována, uvádějí následující metody. Sdružovací metody: Provádějí zmírnění odchylek pomocí sousedních hodnot. Protože tyto metody berou ohled na sousední hodnoty, provádějí zmírnění odchylek lokálně. Shlukování (clustering): Odchylky mohou být detekovány shlukováním, kde jsou podobné hodnoty tříděny do skupin (shluků, clusterů). Kombinovaná inspekce počítače a člověka: Odchylky se dají identifikovat, pokud spolupracuje člověk s počítačem. Tyto metody identifikují úroveň překvapení určitých hodnot, které se zdají být nad nebo pod určitou hranici. Člověk potom rozhoduje, zda jsou tyto hodnoty skutečně neplatné. Je to mnohem rychlejší přístup než prohledávat ručně celou databázi.

32 5.1 Metody předzpracování dat 32 Regrese: Data mohou být upraveny pomocí regrese. Lineární regrese používá nalezení nejlepší úměry pro dvě proměnné v tom smyslu, že jedna proměnná se použije pro predikci proměnné druhé. Vícenásobná lineární regrese je rozšířením lineární regrese, kde je použito více proměnných pro zformování multidimenzionálního objektu. Dalším problémem jsou nekonzistentní data. Některé datové nekonzistence mohou být odstraněny pomocí externích referencí. Například známé funkční závislosti mezi atributy mohou být použity pro nalezení hodnot odporujících funkčním omezením Datová integrace Zajištění integrace dat znamená vybudování koherentního datového úložiště například při kombinování několika zdrojů dat do jednoho. Podobně je tomu v případě datových skladů. Zdroje dat mohou zahrnovat různé databáze, datové kostky nebo pouze soubory. Úroveň zpracování zdrojů dat může být různá. Jak zjistit, zda odkazovaná entita v různých zdrojích dat je skutečně ta jedna entita skutečného světa, která je předmětem zájmu? Tato otázka se nazývá problém identifikace entit. Jak si může být jistý datový analytik, že id zakaznika v jedné databázi odkazuje na stejnou entitu jako cislo zakaznika v databázi jiné? Databáze a datové sklady obvykle obsahují navíc metadata. Ty mohou být použity pro předejití chyb v rámci integrace. Další důležitý problém je redundance. Pokud může být na atribut přidána reference do jiné tabulky (a není tomu tak), je atribut redundantní Transformace dat Hlavním úkolem datové transformace je přeměnit data do konsolidovaného datového setu vhodného pro dolování z dat. Tento proces obsahuje obvykle následující metody (Data Preprocessing Techniques for Data Mining, 2008): Normalizace: Data jsou poměrně uspořádána do intervalu 0.0 až 1.0 (někdy -1.0 až 1.0). Odstranění nepřesností: Obvykle se používá pro odstranění šumu z dat. Např. pomocí shlukování nebo regrese.

33 5.1 Metody předzpracování dat 33 Agregace: U těchto metod se používá sumarizace či agregace. Například denní prodeje mohou být agregovány do měsíčních a celkových prodejů. Tento krok se obvykle aplikuje při vytváření datových kostek pro analýzu dat. Zobecnění dat: V tomto přístupu se provádí nahrazení nízkoúrovňových (hrubých) dat za data na vyšší úrovni za použití určitého systému hierarchie. Například kategorické atributy jako ulice mohou být zobecněny na vyšší úroveň (např. město, stát). Dalším příkladem může být zobecnění věku dětství, puberta, střední věk, důchodový věk Redukce dat Komplexní datová analýza a dolování z dat na velkých datových setech může být velmi časově náročné. Redukce dat slouží k tomu, aby se co nejvíce zmenšil datový set a uspořil výpočetní náročnost bez ohrožení integrity dat a relevantnosti výsledků. Znalosti získané dolováním by tedy měly být stejné nebo téměř stejné. Většinou jde o redukci objemu dat nebo o redukci dimenzí. Dílčí metody (Data Preprocessing Techniques for Data Mining, 2008): Agregace pomocí datové kostky Redukce dimenzí: Jsou odstraněny zejména irelevantní, málo relevantní nebo redundantní atributy. Komprese dat: Zde je použit určitý kompresní algoritmus pro zmenšení velikosti datového setu. Jedna z konkrétních metod je Principiální Analýza Komponent. Početní redukce: Data jsou nahrazena nebo odhadnuta pomocí menších datových reprezentací jako např. parametrické modely (kde je nutné uložit pouze parametry modelů) nebo neparametrické metody jako např. shlukování, použití histogramů apod. Diskretizace a vytvoření hierarchie: Určité spojité atributy hrubých dat mohou být nahrazeny např. intervaly. Hierarchie slouží pro vytvoření abstraktních dat na více úrovních.

34 6 SOFTWAROVÉ NÁSTROJE 34 6 Softwarové nástroje Kriteriím pro výběr software uvedeným v metodice odpovídají podle internetových zdrojů (siliconafrica.com, 2013) následující nástroje pro dolování z dat: RapidMiner RapidAnalytics Weka PSPP KNIME Orange Apache Mahout jhepwork Rattle Časově ale není možné stihnout analyzovat a porovnat všechny tyto nástroje, proto byly vybrány pouze ty, které jsou nejpoužívanější. Podle průzkumu KDD Nugget Survey (the-data-mine.com, 2011) jde o tento software: RapidMiner Weka KNIME Orange Tímto byly stanoveny nástroje pro dolování z dat, které jsou předmětem porovnání. 6.1 Vybrané nástroje dolování z dat V následující části jsou představeny a stručně popsány vybrané nástroje dolování z dat pro porovnání.

35 6.1 Vybrané nástroje dolování z dat 35 Obrázek 5: Logo RapidMineru RapidMiner Podle vlastního webu (RapidMiner Studio, 2013) produktu RapidMiner je tento software jednoduché, velmi silné rozhraní pro podporu analytických procesů. Tzv. Community Edition je open source s licencí AGPL3. Umožňuje používat stovky metod pro nahrávání dat, datové transformace, vizualizaci dat a výsledků, přístup k různým zdrojům (Excel, Access, Oracle, IBM DB2, Microsoft SQL, Sybase, Ingres, MySQL, Postgres, SPSS, dbase, textové soubory atd.) a samozřejmě podporuje algoritmy strojového učení pro dolování z dat. RapidMiner je multiplatformní v tom smyslu, že je možné jej provozovat na všech hlavních operačních systémech. Umožňuje vlastní úpravu kódu jednotlivých algoritmů a pro podporu vývojářů slouží vlastní API s kvalitní dokumentací. Tento software je implementovaný v jazyce Java. RapidMiner disponuje uživatelským rozhraním, které umožňuje sestavit tok procesů (vizuální programování). Každý hlavní proces se může skládat z menších procesů navazujících na sebe. Celé schéma je popsáno XML souborem a díky tomu je přenosné. RapidMiner je tak trochu speciálním případem nekomerčního software, protože během vzniku této práce se komercializoval. Respektive ne úplně, protože existují edice s otevřeným kódem (Community Editioin) a dále komerční (Enterprise Edition, Big Data Edition, OEM Edition). Předmětem této práce je samozřejmě Community Edition s otevřeným kódem. Pro účely srovnání s ostatními nástroji bude použita verze Organizace spravující tento software je Rapid-I-GmbH, Stockumerstraße 475, Dortmund, Nordrhein-Westfalen, Deutschland.

36 6.1 Vybrané nástroje dolování z dat 36 Obrázek 6: Ukázka schématu v RapidMineru Weka Obrázek 7: Logo programu Weka. Weka je software sdružující algoritmy strojového učení pro úlohy dolování z dat (Weka 3: Data Mining Software in Java, 2013). Stejně jako RapidMiner podporuje i Weka grafické rozhraní pro navázání procesů (vizuální programování). Algoritmy mohou být aplikovány přímo pomocí dostupných uzlů (jednotlivých procesů) nebo se dají volat s pomocí dostupného API ve vlastním Java kódu. Implementace tohoto software je tedy v Javě. Weka obsahuje nástroje pro preprocessing, klasifikaci, regresi, clustering (shlukování), asociační pravidla a vizualizaci. Rozhraní je vhodné pro vytváření inovativních schémat strojového učení. Jde o multiplatformní software, a tudíž je možné jej používat na všech důležitých operačních systémech.

37 6.1 Vybrané nástroje dolování z dat 37 Pojmenování i logo je inspirováno nelétavým ptákem Weka nacházejícím se pouze na Novém Zélandu. Weka je vyvíjena univerzitou ve Waikatu (University of Waikato, Knighton Road, Hamilton 3240, New Zealand). Weka je software s otevřeným kódem licencovaný podle GNU GPL (General Public License). Rozhraní pro navazování procesů je jen jedním z režimů Weky. Pro účely této práce bylo použito výhradně toto rozhraní. Nese název Weka Knowledge Flow. Verze Obrázek 8: Rozhrani Weka Knowledge Flow KNIME KNIME (Konstanz Information Miner) je uživatelsky přívětivé grafické prostředí pro podporu analytických procesů (KNIME - Professional Open-Source Software, 2013). Umožňuje přístup k datům, datovou transformaci, prediktivní analýzy, vizualizaci a reporting.celá platforma obsahuje více než 1000 modulů, které se dají použít jako grafické uzly v grafickém rozhraní umožňujícím propojení více procesů

38 6.1 Vybrané nástroje dolování z dat 38 Obrázek 9: Logo programu KNIME. navzájem (vizuální programování). V těchto modulech jsou zahrnuty jednak uzly implementované samotnou KNIME komunitou, ale také uzly partnerských organizací (jako např. Weka). KNIME je distribuován v několika edicích. Pro účely této práce bude použita KNIME Desktop edice, která je ke stažení zdarma a je s otevřeným zdrojovým kódem. Další edice KNIME Professional, KNIME Team Space, KNIME Server a KNIME Cluster Execution jsou distribuovány pod komerční licencí. KNIME je používán více než 3000 organizacemi ve více než 60 zemích světa. KNIME je implementován opět v jazyce Java. KNIME je od roku 2006 používán ve farmaceutické oblasti. Dále pravidelně nachází uplatnění v dalších oblastech jako CRM, business intelligence, finančnictví apod. Společnost KNIME.com AG má na starost vývoj open source platformy KNIME. Tato modulární platforma pro dolování z dat byla původně vyvinuta univerzitou v Kostnici (Universität Konstanz, Universitätsstraße 10, Konstanz, Baden-Württemberg, Deutschland). Použitá verze:

39 6.1 Vybrané nástroje dolování z dat 39 Obrázek 10: Rozhraní programu KNIME Orange Obrázek 11: Logo Orange. Orange je open source nástroj pro vizualizaci dat a datovou analýzu pro začátečníky i experty (Orange: Orange Biolab, 2013). Dolování z dat je umožněno jednak pomocí vizuálního programování (analytical pipeline), ale také s pomocí vlastních skriptů. Orange nástroje jsou implementovány v jazyce Python. Zahrnuje komponenty pro strojové učení. Mohou být nainstalovány další moduly pro bioinformatiku a dolování z textu (text mining).

40 6.1 Vybrané nástroje dolování z dat 40 Důležité vlastnosti softwaru Orange jsou vizuální programování, pokročilá vizualizace, interakce a datová analýza, rozšiřitelnost, platformová nezávislost a otevřený zdrojový kód. GUI je inteligentní a pamatuje si akce uživatele, navrhuje nejčastěji použité kombinace a vybírá nejpoužívanější vstupy a výstupy procesů při napojování datových toků mezi procesy. Orange je distribuován pomocí licence GNU General Public License. Tento nástroj je vyvíjen laboratoří bioinformatiky na univerzitě v Lublani (Univerza v Ljubljani, Fakulteta za računalništvo in informatiko, Tržaška cesta 25, 1000 Ljubljana, Slovenija). Obrázek 12: Prostředí Orange.

41 7 VYHODNOCENí KRITÉRIí 41 7 Vyhodnocení kritéríı V této kapitole jsou vyhodnocena jednotlivá kriteria. Proces se řídí pravidly určenými v kapitole Metodika. Je zde uvedeno 5 podkapitol popisujících vyhodnocení 6 vybraných kriterií. Časovou a prostorovou náročnost tvoří jedna podkapitola, protože jsou užity vždy stejné algoritmy a stejné schéma vizuálního programování. Ostatní kriteria jsou vyhodnocena v samostatných podkapitolách. Na konci každé z nich je provedeno vyčíslení metriky, která byla u každého kriteria zvolena. Potom následuje přiřazení bodů jednotlivým software, tabulka a graf výsledků. 7.1 Podpora algoritmů Aby bylo srovnání možné dostatečně uchopit z hlediska určitého algoritmu nebo rodiny algoritmů, je třeba určit, které nástroje podporují jaké algoritmy. Tato část se zabývá podporou vybraných algoritmů a rodin algoritmů u testovaných softwarových nástrojů. Následuje výčet podporovaných algoritmů u vybraných nástrojů: RapidMiner: Klasifikační stromy (ano, C4.5) k-means (ano) SVM (ano) Asociační pravidla (ano, FP-Growth) EM (ano) AdaBoost (ano) k-nn (ano) Naive Bayes (ano) Weka: Klasifikační stromy (ano, J48) k-means (ano) SVM (ano)

42 7.1 Podpora algoritmů 42 Asociační pravidla (ano, Apriori) EM (ano) AdaBoost (ano) k-nn (ano) Naive Bayes (ano) KNIME: Klasifikační stromy (ano, C4.5) k-means (ano) SVM (ano) Asociační pravidla (ano, Apriori, ale implementace z programu Weka) EM (ano) AdaBoost (ano, ale implementace z programu Weka) k-nn (ano) Naive Bayes (ano) Orange: Klasifikační stromy (ano, C4.5) k-means (ano) SVM (ano) Asociační pravidla (ano, Apriori) EM (ne) AdaBoost (ano) k-nn (ano) Naive Bayes (ano)

43 7.1 Podpora algoritmů Vyhodnocení podpory algoritmů Na jaké úrovni podporuje daný softwarový nástroj algoritmus nebo rodinu algoritmů, ilustruje následující tabulka. C4.5 k-means SVM Apriori EM AdaBoost k-nn Naive Bayes RapidMiner FP-Growth Weka J-48 KNIME Orange Tabulka 1: Podpora algoritmů nástroji. Legenda: Skóre Podpora 1,0 úplná podpora konkrétního algoritmu 0,8 podpora alespoň jednoho algoritmu z rodiny algoritmů 0,6 nevlastní implementace uzlu 0,0 nepodporuje Tabulka 2: Legenda podpory algorimů. Základ je 100 bodů. Celkové skóre RapidMineru = , = 7,8 Celkové skóre Weky = 0, = 7,8 Celkové skóre KNIME = ,6 + 0, = 7,2 Celkové skóre Orange = = 7 Maximální skóre = 7,8 ~ 100 bodů Výsledek kriteria podpora algoritmů : Pořadí Software Body 1. RapidMiner 100 Weka KNIME Orange 90 Tabulka 3: Pořadí kriteria podpora algoritmů. Všechny testované nástroje podporují algoritmy velmi dobře. Pouze u Orange v případě algoritmu Expectation-Maximization nebyla zjištěna podpora. Tento

44 7.2 Časová a prostorová náročnost 44 Obrázek 13: Graf podpory algoritmů. nástroj získal ve srovnání 90 bodů. Na třetím místě se umístil KNIME se ziskem 97 bodů. V podpoře algoritmů vedou RapidMiner a Weka, které shodně získali 100 bodů. 7.2 Časová a prostorová náročnost Tato podkapitola se zabývá vyhodnocením kriterií časové a prostorové složitosti. Nejprve jsou uvedeny datové soubory, které byly k měření použity. Následují schémata vizuálního programování pro jednotlivé algoritmy a potom samotné vyhodnocení Datové soubory pro porovnání časové a prostorové náročnosti Byly vybrány celkem 4 datové soubory, které vyhovují pro aplikaci na různé algoritmy. Podmínky pro výběr byly: minimálně příkladů (řádků) v souboru, absence prázdných hodnot (hodnoty?, apod.) a vhodnost pro daný algoritmus, který byl aplikován na soubor. Každý soubor byl rozdělen na podmnožiny o 100, 1 000, a příkladech (řádcích). V následující části jsou popsány jednotlivé datové soubory a je zde uvedeno, které algoritmy byly aplikovány na konkrétní soubor. Soubor Census income Tento soubor obsahuje demografická data o občanech USA. Cílový atribut (třída) je atribut income (příjem), který může nabývat dvou hodnot >50K a <=50K.

45 7.2 Časová a prostorová náročnost 45 Vyjadřuje, zda roční příjem dané osoby přesahuje dolarů nebo je menší nebo rovno této hodnotě. Atributy a jejich datové typy jsou následující: age: spojitý workclass: výčet [Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked] fnlwgt: spojitý education: výčet [Bachelors, Some-college, 11th, HS-grad, Prof-school, Assocacdm, Assoc-voc, 9th, 7th-8th, 12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool] education-num: spojitý marital-status: výčet [Married-civ-spouse, Divorced, Never-married, Separated, Widowed, Married-spouse-absent, Married-AF-spouse] occupation: výčet [Tech-support, Craft-repair, Other-service, Sales, Exec-managerial, Prof-specialty, Handlers-cleaners, Machine-op-inspct, Adm-clerical, Farming-fishing, Transport-moving, Priv-house-serv, Protective-serv, Armed-Forces] relationship: [Wife, Own-child, Husband, Not-in-family, Other-relative, Unmarried] race: výčet [White, Asian-Pac-Islander, Amer-Indian-Eskimo, Other, Black] sex: výčet [Female, Male] capital-gain: spojitý capital-loss: spojitý hours-per-week: spojitý native-country: výčet [United-States, Cambodia, England, Puerto-Rico, Canada, Germany, Outlying-US(Guam-USVI-etc), India, Japan, Greece, South, China, Cuba, Iran, Honduras, Philippines, Italy, Poland, Jamaica, Vietnam, Mexico, Portugal, Ireland, France, Dominican-Republic, Laos, Ecuador, Taiwan, Haiti, Columbia, Hungary, Guatemala, Nicaragua, Scotland, Thailand, Yugoslavia, El-Salvador, Trinadad&Tobago, Peru, Hong, Holand-Netherlands] Zdroj: UCI Machine Learning Repository Algoritmy aplikované na tento soubor: rozhodovací stromy (C4.5, J48).

46 7.2 Časová a prostorová náročnost 46 Soubor Covertype Soubor covertype vyjadřuje typ lesního porostu konkrétních lokalit v USA. Každá lokalita je definována 10 atributy a výslednou třídou sloupcem Cover Type. Hodnoty třídy jsou v diskrétním intervalu intervalu 1-7. Rozsah je tedy 7 hodnot, přičemž každá vyjadřuje konkrétní typ lesního porostu. Atributy: Elevation: spojitý Aspect: spojitý Slope: spojitý Horizontal Distance To Hydrology: spojitý Vertical Distance To Hydrology: spojitý Horizontal Distance To Roadways: spojitý Hillshade 9am: index od 0 do 255 Hillshade Noon: index od 0 do 255 Hillshade 3pm: index od 0 do 255 Horizontal Distance Toq Fire Points: spojitý Zdroj: UCI Machine Learning Repository Algoritmy aplikované na tento soubor: k-means, EM (expectation maximization). Soubor eharmony matchings Následující datový soubor obsahuje údaje o uživatelích seznamovacího portálu eharmony. Vyjadřuje osobnostní charakteristiky uživatelů. Na základě podobnosti těchto charakteristik s jinou osobou opačného pohlaví se u každého záznamu usuzuje, zda zde existuje shoda či nikoli. Třída tedy má dvě hodnoty 1 a 2. Ostatní atributy jsou číselné, spojité. Zdroj: Brian McFee, eharmony matchings Algoritmy aplikované na tento soubor: k-nn, NaiveBayes, SVM, AdaBoost. Soubor Extended Bakery Dataset Poslední soubor obsahuje data o položkách nákupního košíku. V tomto případě jde o produkty pekárny, které nakupovali její zákazníci. Datový set je tvořen 50 atributy vyjadřujícími 50 produktů. Všechny atributy jsou binární a vyjadřují, zda zákazník danou položku nakoupil nebo ne. Jeden řádek vyjadřuje jeden nákup. Datový set je

47 7.3 Výsledky měření 47 přímo vhodný pro nacházení asociačních pravidel, tedy (v tomto případě) nejčastěji nakupovaných položek. Zdroj: Trac Open Source Project, Extended BAKERY dataset Algoritmy aplikované na tento soubor: Asociační pravidla (Apriori, FP- Growth). 7.3 Výsledky měření V této podkapitole jsou popsána schémata vizuálního programování jednotlivých algoritmů a výsledky měření pro časovou i prostorovou náročnost. Grafy znázorňující výsledky graficky jsou k dispozici v příloze A. 1) Klasifikační stromy První rodina algoritmů, na kterých bylo provedeno měření u vybraných nástrojů, byly klasifikační stromy. Aby bylo porovnání maximálně relevantní, byly zvoleny pro tuto kategorii open source implementace algoritmu C4.5. Nejprve jsou znázorněna schémata vizuálního programování a následně jsou popsány výsledky časové a prostorové náročnosti vždy podle velikosti datového souboru vzestupně. Na tento datový soubor je pro učení a testování aplikována cross-validace s 10 iteracemi. Způsob vytváření podmnožin je lineární. V každém kroku použije 9/10 příkladů na učení a 1/10 na testování. a) Schémata vizuálního programování Obrázek 14: Schéma v RapidMineru pro klasifikační stromy. V RapidMineru jsou dvě schémata. První ukazuje uzly načtení C4.5 souboru, určení třídy (cílového atributu) a cross-validaci. Uzel Set Role slouží pro

48 7.3 Výsledky měření 48 určení meta atributů a datových atributů. Jsou zde tedy označeny např. atributy id a atribut třídy. Uzel Validation provádí samotnou cross-validaci. Obrázek 15: Vnitřní část cross-validačního uzlu pro klasifikační stromy v RapidMineru. Uvnitř cross-validačního uzlu se nachází část trénování a testování. V učící části je uzel Decision Tree, který provede stavbu modelu (učení). Model je objekt obsahující naučený algoritmus. V části testování je uzel Apply Model, který aplikuje testovací data na naučený model. Uzel Performance potom slouží pro zobrazení výsledků a výkonnosti. Obrázek 16: Hlavní proces pro klasifikační stromy v programu Weka. V programu Weka je schéma reprezentováno pouze jednou úrovní. Nejprve se načte soubor C4.5, potom se určí atribut třídy uzlem ClassAssigner. Následuje uzel pro tvorbu tréninkové a testovací podmnožiny, tedy crossvalidace. Operátor J48 (implementace C4.5 algoritmu) přijímá na vstupu obě podmnožiny dat a provádí učení i testování. Pro vyhodnocení výkonu a zobrazení výsledků slouží uzly ClassifierPerformanceEvaluator a TextViewer. Samotný strom se zobrazuje pomocí GraphViewer. Schéma programu KNIME se více podobá RapidMineru. Obsahuje opět dvě úrovně. V hlavním procesu se data načítají pomocí uzlu ARFF Reader. ARFF je

49 7.3 Výsledky měření 49 Obrázek 17: Hlavní proces rozhodovacích stromů v KNIME. speciální formát datových souborů definovaný komunitou na univerzitě ve Waikatu. Je však už natolik zaběhnutý, že jej podporuje většina nástrojů. Tento uzel byl použit z toho důvodu, že KNIME nepodporuje načítání souborů C4.5. Soubor ARFF byl tedy vytvořen ručně tak, aby odpovídal danému formátu a obsahoval všechny data. Po načtení následuje uzel cross-validace, který obsahuje podprocesy znázorněné na dalším obrázku. Pro vyhodnocení a zobrazení výsledků zde slouží uzly Scorer a Interactive Table. Obrázek 18: Vnitřní proces v rámci cross-validace u klasifikačních stromů v KNIME. Ve vnitřním procesu cross-validace jsou hraniční uzly X-Partitioner a X-Aggregator. Jak názvy napovídají, X-Partitioner se stará o rozdělení datové množiny do podmnožin podle lineárního vzorkování cross-validace

50 7.3 Výsledky měření 50 a X-Aggregator slouží pro sloučení výsledků. Logika učení a testování je podobná jako v RapidMineru. Uzel Decision Tree Learner vytvoří objekt (učení), na který se aplikují testovací data v uzlu Decision Tree Predictor. Zobrazení stromu obstarává uzel Decision Tree To Image. Obrázek 19: Proces pro klasifikační stromy v Orange. V programu Orange je schéma pouze jednoúrovňové. K načítání dat slouží uzel File. Tento uzel se dovede sám přizpůsobit vybraným datům a určit daný formát. Provádí nad daty i jednoduchou analýzu, kde se snaží určit, které sloupce mají jaký význam. Uzel Classification Tree slouží k vytvoření modelu pro učení. Samotná cross-validace potom probíhá v uzlu Test Learners. Vyhodnocení výsledků probíhá v uzlu Test Learners a zobrazení stromu potom v Classification Tree Graph. b) Časová náročnost pro datový soubor se 100 příklady Na malém počtu příkladů vyhodnotily všechny testované nástroje rozhodovací strom velmi rychle. Orange a Weka byly hotovy za jednu sekundu, RapidMiner a KNIME za sekundy dvě. Rozdíly jsou v tomto případě však zanedbatelné. Viz obrázek 110, příloha A. c) Časová náročnost pro datový soubor s příklady Při větším počtu příkladů je jednoznačně nejrychlejší implementací J48 v podání Weky. Zvládá sestavit rozhodovací strom a provést cross-validaci za asi jednu sekundu. Ostatní nástroje se pohybují v rozmezí 5 až 6 sekund. Viz obrázek 111, příloha A.

51 7.3 Výsledky měření 51 d) e) Časová náročnost pro datový soubor s příklady Na souboru s příklady je opět suverénně nejrychlejší Weka. Druhý nejrychlejší nástroj je KNIME s 58 sekundami. RapidMineru trvalo sestavit rozhodovací strom 70 a programu Orange 90 sekund. Viz obrázek 112, příloha A. Časová náročnost pro datový soubor se příklady Při velkém datovém souboru se příkladů se poprvé stalo, že jeden z nástrojů vůbec nedokázal vyhodnotit úlohu. Tímto neúspěšným klasifikátorem je RapidMiner, kterému je ale nutno přičíst jedno pozitivum. Objevila se hláška s chybou o problémech s pamětí, ale samotný program nespadl. Naproti tomu Orange se podařilo vyhodnotit tento velký datový set až v případě, kdy pro načtení nebyl použit C4.5 soubor, ale ARFF. Při pokusu o provedení úlohy se souborem C4.5 Orange úplně spadl a celý (poměrně dlouho trvající) proces byl ztracen. Pro ARFF soubor se ale povedlo vyhodnotit rozhodovací strom za 1311 sekund. KNIME a Weka neměly při zpracování žádné problémy. Weka v tomto případě už není nejrychlejším klasifikátorem (1572 sekund), ale velký datový set nejlépe svědčí programu KNIME, který zvládl provést úlohu za 839 sekund. Viz obrázek 113, příloha A. f) Vývoj časové náročnosti Obrázek 20: Vývoj časové náročnosti pro klasifikační stromy.

52 7.3 Výsledky měření 52 Tento graf nabízí hrubou představu o časové složitosti algoritmu C4.5. Nejvýraznější nárůst je pochopitelně mezí a příklady. Zde je nutno si uvědomit, že osa y vyjadřující čas nutný pro provedení úlohy je lineární a osa x objemu dat (počtu příkladů) roste logaritmicky. g) Prostorová náročnost pro datový soubor se 100 příklady Jako nejméně prostorově náročný při zpracování malých datových souborů se prokázal program Orange. O něco větší pamět si vyžádal RapidMiner (více než kb). Weka a KNIME jsou v tomto případě mnohem náročnější. Jejich spotřeba paměti je několikanásobně vyšší než u dříve zmíněných nástrojů. Maximální spotřeba paměti u malého datového souboru nebyla ani 12 MB, tedy pro dnešní počítače žádný problém. Viz obrázek 114, příloha A. h) Prostorová náročnost pro datový soubor s příklady Pokud použijeme pro sestavení rozhodovacího stromu větší soubor s 1000 příklady, jako pamět ově nejnáročnější software se jeví RapidMiner. Má až pětinásobnou spotřebu paměti oproti ostatním zde použitým nástrojům. 25 MB operační paměti je stále pro dnešní hardware více než únosné. Viz obrázek 115, příloha A. i) Prostorová náročnost pro datový soubor s příklady Rozdíl mezi pamět ově náročným RapidMinerem a ostatními nástroji ještě více narůstá při použití datového setu o velikosti příkladů. Spotřeba dosahuje téměř 600 MB operační paměti. Vzhledem k tomu, že stále nejde o extrémně veliký datový soubor, je toto číslo vysoké. Viz obrázek 116, příloha A. j) Prostorová náročnost pro datový soubor se příklady Pamět ová náročnost RapidMineru zapříčinila to, že tento program nedokázal provést úlohu rozhodovacího stromu při velikosti datového souboru příkladů. Z ostatních programů je nejnáročnější Orange, jehož spotřeba paměti v tomto případě vystoupala přes 1 GB. Další dva zástupci testu jsou relativně úsporní. Hodnota naměřené paměti překonala jen lehce 200 MB. Viz obrázek 117, příloha A. k) Vývoj prostorové náročnosti Z nárůstu prostorové náročnosti jsou vidět enormní rozdíly při změně velikosti datového setu nad příkladů u programu Orange. Při 10násobném

53 7.3 Výsledky měření 53 Obrázek 21: Vývoj prostorové náročnosti pro klasifikační stromy. zvětšení počtu příkladů se více než 10 krát zvýší spotřeba paměti u programu Orange. U Weky a KNIME nejsou takové rozdíly. RapidMiner při tomto měření opakovaně selhal, proto nebylo možné určit jeho pamět ovou náročnost. 2) Naive Bayes klasifikátor Další srovnání bylo zpracováno pro Naive Bayes klasifikátor, který se používá pro jednoduchou klasifikaci příkladů do výsledné třídy. Pravděpodobnostní model, který je sestaven tímto klasifikátorem, vzniká pouze na základě jednotlivých hodnot daných atributů a neuvažuje se o jejich vzájemné závislosti. Každý z atributů tedy přispívá nezávisle k pravděpodobnosti zařazení konkrétního příkladu do výsledné třídy. Proto se tento model označuje jako naivní. Na základě těchto znalostí se dá výsledek měření již předvídat. Časová i prostorová náročnost by měla být relativně nízká. V tomto stadiu je však toto tvrzení spíše ve stavu hypotézy. V následující části je uvedená domněnka ověřena na praktických datech. Stejně jako v případě klasifikačních stromů je provedena cross-validace na rozdělení dat na podmnožiny pro učení a testování. Proběhlo vždy 10 iterací s lineárním vzorkováním. a) Schémata vizuálního programování

54 7.3 Výsledky měření 54 Obrázek 22: Hlavní schéma v RapidMineru pro Naivní bayesovský klasifikátor. V programu RapidMiner schéma hlavního datového toku na nejvyšší úrovni velmi podobné jako v případě předchozího testu. Nejprve je aplikován uzel na přečtení CSV souboru. Uzel Set Role odlišuje meta atributy (id, třída) od datových atributů. V části Validation potom probíhá samotná cross-validace, tedy trénování a testování Obrázek 23: Vnitřní schéma pro cross-validaci v RapidMineru u Naivního bayesovského klasifikátoru. V tréninkové části je použit uzel Naive Bayes, který v každé iteraci vytváří objekt naučeného Bayesovského klasifikačního modelu. V části testování je tento model aplikován na testovací data a následně je vyhodnocena jeho výkonnost. Obrázek 24: Schéma pro Naivní bayesovský klasifikátor v programu Weka. V programu Weka je vše v jedné úrovni. Princip je velmi podobný. Nejprve je použit uzel pro načtení CSV souboru, následně je určen atribut třídy. Uzel CrossValidationFoldMaker provádí rozdělení datového setu do podmnožin pro učení a testování. Obě podmnožiny dat jsou následně poslány na vstup uzlu

55 7.3 Výsledky měření 55 NaiveBayes, který vytvoří pravděpodobnostní model a klasifikuje instance do dostupných tříd. ClassifierPerformanceEvaluator vyhodnotí výsledky, které je možné zobrazit v modulu TextViewer. Obrázek 25: Hlavní schéma v KNIME pro Naivní bayesovský klasifikátor. Program KNIME má stejně jako RapidMiner dvě úrovně schématu pro cross-validaci. Na nejvyšší úrovni je provedeno načtení dat z CSV soboru, aplikace samotného učení a testování v uzlu Cross Validation a vyhodnocení (Scorer) a zobrazení v Interactive Table a Scatter Plot uzlech. Při dekomponování uzlu Cross Validation je možné vidět, jak probíhá proces rozdělení dat na učící a testovací podmnožiny pomocí X-Paritioner. Následně jsou aplikovány uzly pro naučení (Naive Bayes Learner) a testování (Naive Bayes Predictor). Samotný klasifikátor má dva vstupy. Prvním je naučený model a druhým testovací data. Uzel X-Aggregator potom agreguje výsledky. Orange funguje podobným principem jako předchozí programy. Inteligentní uzel File umožňuje načtení dat. Následně jsou určeny meta atributy a datové atributy uzlem Select Attributes. Modul Naive Bayes slouží pro sestavení naučeného modelu Naivního bayesovského klasifikátoru. Test Learners potom tento model aplikuje a provede samotnou cross-validaci i vyhodnocení výsledků.

56 7.3 Výsledky měření 56 Obrázek 26: Vnitřní schéma cross-validace u KNIME pro Naivní bayesovský klasifikátor. Obrázek 27: Schéma v programu Orange pro Naivní bayesovský kasifikátor. b) Časová náročnost pro datový soubor se 100 příklady Operace sestavení naučeného modelu a testování pro malý datový soubor byly hotové prakticky okamžitě u všech testovaných software. Časová náročnost RapidMineru, Weky, KNIME i Orange byla do jedné sekundy. Viz obrázek 118,

57 7.3 Výsledky měření 57 příloha A. c) d) e) Časová náročnost pro datový soubor s příklady Při použití desetinásobného souboru (1000 příkladů) se časová náročnost většinou zdvojnásobila na přibližně dvě sekundy. O něco málo rychlejší než ostatní testované programy je Weka. Viz obrázek 119, příloha A. Časová náročnost pro datový soubor s příklady U většího datového setu se objevily větší rozdíly. Jako nejrychlejší se prokázal program Weka se 17 sekundami. Nejpomalejší je potom RapidMiner s hodnotou 27 sekund. Viz obrázek 120, příloha A. Časová náročnost pro datový soubor se příklady Při největším testovaném setu se rozdíly mezi klasifikátory nadále zvětšovaly. Nejpomalejší na zpracování velkých objemů dat se ukázal KNIME (270 sekund). Naopak nejrychleji dospěl výsledku program Weka se 105 sekundami. Rychlost Orange byla 123 sekund a RapidMineru zvládl úlohu za 186 sekund. Viz obrázek 121, příloha A. f) Vývoj časové náročnosti Obrázek 28: Vývoj časové náročnosti pro Naivní bayesovský klasifikátor. Z grafu vývoje časové náročnosti je patrný největší nárůst pochopitelně mezi a příklady. U KNIME, kde je rozdíl největší, se zvýšil čas nutný ke zpracování úlohy více než 10 krát. Časově nejúspornější se jeví Weka.

58 7.3 Výsledky měření 58 g) Prostorová náročnost pro datový soubor se 100 příklady Prostorová náročnost u malých datových souborů je nejvyšší u RapidMineru. Dosahuje 8 MB operační paměti. Ostatní testované programy se dostaly pod 4 MB. Viz obrázek 122, příloha A. h) Prostorová náročnost pro datový soubor s příklady Při použití 1000 řádkového vstupního souboru klasifikoval Naive Bayes v programu Weka s využitím vice než 13 MB pamět ového prostoru. RapidMiner spotřeboval poloviční pamět a KNIME dokonce jen třetinovou. Viz obrázek 123, příloha A. i) Prostorová náročnost pro datový soubor s příklady S ještě větším datovým setem se rozdíl mezi Wekou a ostatními klasifikátory zvýšil. Tentokrát Weka spotřebovala přibližně 120 MB paměti. Jako nejúspornější se jeví KNIME a RapidMiner. O něco náročnější je Orange. Viz obrázek 124, příloha A. j) Prostorová náročnost pro datový soubor se příklady U velkého datového setu ( příkladů) předstihl v náročnosti na pamět Orange Weku. Oba klasifikátory se pohybují okolo hranice 400 MB nutných ke zpracování. Jako velmi úsporný se v tomto případě ukázal KNIME, který na klasifikaci tak velkého množství příkladů nepotřeboval ani 50 MB paměti. Viz obrázek 125, příloha A. k) Vývoj prostorové náročnosti Vývoj prostorové náročnosti ukazuje výrazný nárůst zejména u programů Weka a Orange. Zajímavé je, že u řádkového souboru byl úspornější Orange, ale při desetinásobné velikosti dat už byla úspornější Weka. To svědčí o větší prostorové náročnosti u programu Orange.

59 7.3 Výsledky měření 59 Obrázek 29: Vývoj prostorové náročnosti pro Naivní bayesovský klasifikátor. 3) k-means shlukování Pro první úlohu na shlukování (clustering), tedy roztřídění příkladů do určitého počtu shluků (clusterů), byl použit algoritmus k-means. Algoritmus začleňuje konkrétní instanci na základě toho, ke kterému shluku je nejblíže. Shluk je v tomto případě určen jeho průměrem (mean). Počet shluků je určen konstantou k. Pro implementaci je použit heuristický algoritmus, protože tento problém je NP-úplný. Na tento příklad nebyla použita cross-validace, schémata jsou proto jednodušší než v předešlých případech. Očekávaná výpočetní a pamět ová náročnost by také měla být nízká. O tomto tvrzení se můžeme přesvědčit v následující části. a) Schémata vizuálního programování Obrázek 30: Schéma pro k-means v RapidMineru.

60 7.3 Výsledky měření 60 V RapidMineru jsou aplikovány pouze dva uzly. První slouží k načtení CSV souboru s daty. Následně je aplikován Clustering. V tomto uzlu byla zvolena konstanta k =5. Jde tedy o fixní nastavení počtu shluků (clusterů). Obrázek 31: Schéma pro k-means v programu Weka. V programu Weka jsou také aplikovány pouze základní uzly nutné k řešení této úlohy. CSVLoader načte data z CSV souboru, ClassAssigner určí třídu, TrainingSetMaker vytvoří testovací set pro uzel SimpleKMeans. Zde je provedeno samotné rozdělení instancí do shluků (clustering). TextViewer potom slouží k zobrazení výsledků. Obrázek 32: Schéma pro k-means v KNIME. Velmi jednoduché schéma je zde uvedeno pro program KNIME. Hlavní položkou je zde uzel k-means, který slouží pro provedení shlukování. Konstanta k byla opět nastavena na 5. Scatter Plot slouží k zobrazení shluků a CSV Reader pro načtení dat. Obrázek 33: Schéma pro k-means v programu Orange.

61 7.3 Výsledky měření 61 Program Orange má také vlastní implementaci shlukování k-means v uzlu k-means Clustering. Pro zobrazení v tomto případě můžeme použít i zobrazení Radviz, které přidává další perspektivu. Uzel File slouží pro načtení souboru. b) c) d) e) Časová náročnost pro datový soubor se 100 příklady U malého datového setu se stovkou instancí byl výpočet proveden velmi rychle. Všechny nástroje testované v této práci provedly úlohu do jedné sekundy. Viz obrázek 126, příloha A. Časová náročnost pro datový soubor s příklady U většího datového souboru (s příkladů) jsou patrné již větší rozdíly mezi algoritmy. Lépe si vedou programy Orange a Weka, které na tomto souboru zvládly provést úlohu do jedné sekundy. Skóre KNIME a RapidMineru se pohybuje okolo dvou sekund. Viz obrázek 127, příloha A. Časová náročnost pro datový soubor s příklady Při použití instancí jsou vidět již větší rozdíly mezi shlukovými algoritmy. Orange byl v tomto případě nejhorší, když dokázal provést úlohu za 23 sekund. Ostatní nástroje byly v tomto případě asi o 40% rychlejší a jejich časová náročnost se pohybovala okolo 13 sekund. Viz obrázek 128, příloha A. Časová náročnost pro datový soubor se příklady Střídání na pozici nejrychlejšího nástroje pro shlukování metodou k-means opět nastává při použití datového setu o velikosti příkladů. RapidMiner je nejpomalejší s hodnotou 129 sekund. Nejrychlejší je KNIME (61 sekund), ale ostatní programy Orange a Weka jej následují jen s malou ztrátou. Viz obrázek 129, příloha A. f) Vývoj časové náročnosti Na vývoji časové náročnosti lze dobře pozorovat výrazný nárůst zejména u RapidMineru, kde je vidět velká změna při změně setu z na instancí. Zajímavé je, že až do instancí rostla náročnost RapidMineru pomaleji než u programu Orange, ale následně se oba nástroje vystřídaly.

62 7.3 Výsledky měření 62 Obrázek 34: Vývoj časové náročnosti pro k-means. g) Prostorová náročnost pro datový soubor se 100 příklady Při měření prostorové náročnosti jsou vidět poměrně výrazné rozdíly hned při použití datového souboru o velikosti 100 příkladů. Jednoznačně největší spotřebu má v tomto případě Weka (6,8 MB). Oproti tomu mnohem nižší pamět si vyžádaly programy Orange i KNIME (asi 2 MB). Mezi nimi potom leží RapidMiner se zabráním 4 MB pamět ového prostoru. Viz obrázek 130, příloha A. h) Prostorová náročnost pro datový soubor s příklady Pokud je datový set zvětšen na příkladů, je opět nejnáročnější na pamět Weka. RapidMiner je asi o 2 MB úspornější. Třetí je KNIME, který si vyžádal na tuto operaci 4 MB a jako nejúspornější se jeví Orange s asi 3 MB využité virtuální paměti. Viz obrázek 131, příloha A. i) Prostorová náročnost pro datový soubor s příklady Srovnání pro příkladů v datovém setu udává jasně nejvyšší spotřebu paměti u programu RapidMiner. Tato hodnota činí 58 MB. Naproti tomu nejúspornější je KNIME s necelými 10 MB virtuální paměti. Jen o málo náročnější je Orange a asi 29 MB paměti využije při shlukování Weka. Viz obrázek 132, příloha A. j) Prostorová náročnost pro datový soubor se příklady

63 7.3 Výsledky měření 63 Na největším testovaném setu o velikosti instancí je suverénně nejúspornější KNIME. Jeho spotřeba paměti je téměř 5,5 krát menší než u RapidMineru, který naopak v tomto srovnání dopadl nejhůře. Weka je asi o 50 MB úspornější než RapidMiner a o dalších 20 MB méně potřebuje Orange. Viz obrázek 133, příloha A. k) Vývoj prostorové náročnosti Obrázek 35: Vývoj prostorové náročnosti u k-means. Na vývoji časové náročnosti pro k-means lze snadno pozorovat nejvyšší nárůst mezi a instancí u RapidMineru. Od dat potom roste náročnost všech programů s výjimkou KNIME stejně. 4) Asociační pravidla (Apriori, FP-Growth) Asociační pravidla se generují za tím účelem, aby byly určeny závislosti mezi jednotlivými položkami. Typickou úlohou je zjišt ování nákupního košíku zákazníka. Výstup úlohy je potom informace o tom, které položky zákazník nejčastěji nakupuj ve vzájemné závislosti. Např. pokud nakupuje chleba, koupí k tomu i sýr a máslo. Klasickým prostředkem realizujícím zjišt ování apriorních pravděpodobností nutných pro zjištění těchto pravidel je algoritmus s příznačným názvem Apriori. Protože tento algoritmus není v RapidMineru k dispozici, je zde použita velmi podobná funkcionalita pomocí uzlu FP-Growth. Při zkoumání výsledků

64 7.3 Výsledky měření 64 je tedy nutné přihlédnout k tomu, že u RapidMineru je použit jiný algoritmus než u jiných nástrojů. Samotné ikony uzlů u programů RapidMiner a KNIME dokumentují, jak typickou úlohou je v tomto případě sestavení nákupního koše. a) Schémata vizuálního programování Obrázek 36: Schéma v RapidMineru pro FP-Growth. V případě RapidMineru je schéma úlohy asociačních pravidel složeno ze 3 uzlů. První slouží klasicky pro načtení dat z CSV souboru. Následující modul Numerical to Binominal převádí číselné hodnoty na nominální. Samotné sestavení asociačních pravidel má na starost FP-Growth. Obrázek 37: Schéma pro Apriori v programu Weka. Program Weka měl problémy s použitím CSV souboru. Bylo tedy nutné vytvořit přísněji strukturovaný soubor formátu ARFF. Uzel ARFF Loader posílá načtený datový set přímo modulu Apriori realizujícímu sestavení asociačních pravidel. Obrázek 38: Schéma pro Apriori v KNIME. V programu KNIME bylo nutné po načtení souboru uzlem CSV Reader použít transformační článek Bitector Generator, který převádí vstupní data do

65 7.3 Výsledky měření 65 speciálního objektu obsahujícího pouze hodnoty 1 a 0 pro každý řádek (vektor). V případě této úlohy se pak informace obsažená na každém indexu vektoru dá interpretovat jako koupil/nekoupil určitou položku. Přestože vstupní data jsou již k dispozici v tomto formátu, uzel provádějící sestavení asociačních pravidel Association Rule Learner potřebuje na vstupu speciální objekt, který tyto data obaluje. Z tohoto důvodu je použit mezi načtením a zpracováním Bitvector Generator. Výsledky jsou zobrazeny v uzlu Interactive Table. Obrázek 39: Schéma asociačních pravidel v Orange. Orange umožňuje realizaci úlohy nákupního koše velmi jednoduše. K načtení dat slouží jako vždy uzel File. V tomto případě bylo nutné použít opět formát ARFF. Samotné provedení úlohy činí modul Association Rules, který implementuje algoritmus Apriori. Pro prohlížení výsledků je zde k dispozici speciální uzel Association Rules Explorer, který daná pravidla zobrazuje velmi přehledně. b) c) Časová náročnost pro datový soubor se 100 příklady U nejmenšího testovaného setu o 100 příkladech byly data velmi rychle zpracovány. Všechny testované nástroje dokázali tuto úlohu zpracovat do jedné sekundy. Viz obrázek 134, příloha A. Časová náročnost pro datový soubor s příklady I při desetinásobném zvětšení datového setu nenastala znatelná změna v rychlosti zpracování. Opět se podařilo úlohu dokončit do jedné sekundy všemi zúčastněnými prostředky. Viz obrázek 135, příloha A. d) Časová náročnost pro datový soubor s příklady Teprve při použití datového souboru o velikosti příkladů lze dokumentovat rozdíly mezi jednolitými nástroji. Nejrychleji dovedly zpracovat asociační pravidla programy Weka a RapidMiner (za necelé 3 sekundy). O sekundu pomalejší je KNIME a v nástroji Orange trvalo zpracování 5 sekund. Viz obrázek 126, příloha A.

66 7.3 Výsledky měření 66 e) Časová náročnost pro datový soubor se příklady Při použití největšího testovaného datového setu je vidět u všech nástrojů velmi podobný nárůst času zpracování. Nejrychlejší je Weka se 16 sekundami. O málo pomalejší je RapidMiner s 19 sekundami. Naproti tomu nejpomalejší se ukázal Orange, kde je doba zpracování asociačních pravidel 34 sekund. KNIME dosáhl výsledku 29 sekund. Viz obrázek 137, příloha A. f) Vývoj časové náročnosti Obrázek 40: Vývoj časové náročnosti pro asociační pravidla. Na vývoji časové náročnosti je podobně jako v některých předchozích případech možno pozorovat pravděpodobnou lineární charakteristiku (tedy růst stále stejným tempem). Aby bylo možné tuto domněnku potvrdit, bylo by nutné provést daleko větší množství měření. To je ale nad rámec této práce. Časově nejnáročnější je Orange. g) Prostorová náročnost pro datový soubor se 100 příklady Největší pamět u malého datového setu spotřebovává opět program Weka. Více než o polovinu úspornější jsou v tomto případě Orange, KNIME i Rapid- Miner. Viz obrázek 138, příloha A. h) Prostorová náročnost pro datový soubor s příklady Při použití datového setu o velikosti příkladů je nejúspornější na pamět program Orange, který využije asi pouze 2,4 MB pamět ového prostoru

67 7.3 Výsledky měření 67 při této operaci. KNIME potom spotřebuje 4,4 MB a jako méně úsporné se jeví Weka a RapidMiner, které si oba vyžádaly kolem 10 MB. Viz obrázek 139, příloha A. i) Prostorová náročnost pro datový soubor s příklady Větší spotřeba paměti byla zaznamenána u datového souboru s velikostí příkladů. Velmi nízký nárůst požadavků na pamět požadoval KNIME. Naopak u Orange se vyšplhala spotřebovaná pamět až na 27 MB z původních 2,4 MB. U RapidMineru se požadavky na pamět zhruba zdvojnásobily. Viz obrázek 140, příloha A. j) Prostorová náročnost pro datový soubor se příklady Při použití největšího datového setu se instancemi byla zaznamenána největší spotřeba paměti u programu RapidMiner. Zde je možno pozorovat značný rozdíl mezi nejméně úsporným a nejúspornějším nástrojem. KNIME totiž spotřeboval pouhých 42 MB oproti 312MB u RapidMineru. Viz obrázek 141, příloha A. k) Vývoj prostorové náročnosti Obrázek 41: Prostorová náročnost pro asociační pravidla. Z vývoje prostorové náročnosti jsou možné vyčíst daleko větší nárůsty mezi a příklady pro RapidMiner a Orange. Naopak KNIME a Weka rostly znatelně méně.

68 7.3 Výsledky měření 68 5) k-nn Algoritmus nejbližších sousedů (k-nn) je typickým klasifikátorem strojového učení. Klasifikace probíhá tak, že každá instance je nejprve umístěna do n-rozměrného prostoru. Na základě třídy k nejbližších sousedů je potom instance klasifikována. Výsledná třída se rovná té třídě, která má největší počet zástupců v rámci k-nějbližších sousedů. V tomto srovnání je nastavena konstanta k fixně na hodnotu 5. Jako metrika určující vzdálenost mezi jednotlivými instancemi v n-rozměrném prostoru je použita eukleidovská vzdálenost. Protože algoritmus vytváří prostor o tolika dimenzích, kolik je počet atributů, dá se dedukovat, že při zpracování souboru o velkém počtu atributů a velkém počtu instancí bude časově i prostorově velmi náročný. Testovaný soubor má 57 atributů. a) Schémata vizuálního programování Obrázek 42: Hlavní schéma v RapidMineru pro k-nn. Pro tuto úlohu je opět použita cross-validace s 10 iteracemi a lineárním vzorkováním. V RapidMineru tedy obsahuje základní schéma uzly načtení CSV souboru (Read CSV ), určení meta atributů a datových atributů (Set Role) a samotnou cross-validaci, ve které se provádí i učení a testování. Obrázek 43: Vnitřní schéma cross-validace v RapidMineru pro k-nn. Na nižší úrovni v RapidMineru je pro trénování použit uzel k-nn, který vytvoří vždy naučený model v konkrétní iteraci cross-validace a tento model

69 7.3 Výsledky měření 69 je následně aplikován na testovacích datech v sekci testování. Pro provedení testování slouží Apply Model. Uzel Performance potom vyhodnocuje výsledky. Obrázek 44: Schéma v programu Weka pro k-nn. V programu Weka je schéma analogické s předešlými schématy, kde byla použita cross-validace. CSV Loader slouží k načtení dat. Následně je aplikován ClassAssigner pro určení datových a meta atributů. Následuje vytvoření iterací v cross-validaci v uzlu CrossValidationFolfMaker. Operátor IBk potom provede učení, vytvoření modelu klasifikátoru a testování. ClassifierPerformanceEvaluator vyhodnotí výsledky, které jsou následně zobrazeny jako textový výstup v uzlu TextViewer. Obrázek 45: Hlavní schéma v programu KNIME pro k-nn. V KNIME je použito na nejvyšší úrovni opět schéma s hlavním uzlem Cross Validation. Vstupní soubor je do interní reprezentace převeden načtením v uzlu CSV Reader. Ke zobrazení slouží Interactive Table a Scatter Plot (bodový graf).

70 7.3 Výsledky měření 70 Obrázek 46: Vnitřní schéma cross-validace v programu KNIME pro k-nn. Vnitřní proces cross-validace obsahuje X-partitioner na lineární rozdělení příkladů do podmnožin a testovací množiny. X-Aggregator je určen pro seskupení dat. Vlastní trénování a testování je prováděno v uzlu K Nearest Neighbor. Obrázek 47: Schéma pro k-nn v programu KNIME. Orange používá všechny uzly na jedné úrovni. Uzel File slouží k načtení vstupních dat. Select Attributes vyčleňuje datové atributy a meta atributy

71 7.3 Výsledky měření 71 (např. id řádku). Cross-validace probíhá v uzlu Test Learners, který přebírá na vstupu vstupní data a inicializovaný objekt pro trénování a učení. b) c) d) e) Časová náročnost pro datový soubor se 100 příklady U malého datového setu nedělá potíž zpracovat úlohu rychle žádnému testovanému software. U KNIME byla doba zpracování 2 sekundy, u ostatních méně než 1 sekunda. Viz obrázek 142, příloha A. Časová náročnost pro datový soubor s příklady Pokud je použita větší množina vstupních dat, začínají se projevovat větší rozdíly mezi jednotlivými nástroji. Nejrychlejší zpracování v tomto případě náleží RapidMineru. O něco horší je Weka (3 sekundy) a Orange (6 sekund). S velkým odstupem na posledním místě je KNIME s dobou zpracování 16 sekund. Viz obrázek 143, příloha A. Časová náročnost pro datový soubor s příklady U datové množiny čítající příkladů je trend stejný jako u příkladů. Nejrychlejší je opět RapidMiner následovaný Wekou, Orange a s velikým odstupem KNIME. Doba zpracování u KNIME je dokonce větší než 750 sekund. Viz obrázek 144, příloha A. Časová náročnost pro datový soubor se příklady Velké rozdíly mezi nástroji jsou patrné u velkého datového setu ( příkladů). V tomto případě lze testované nástroje rozdělit na 2 skupiny. První skupinu tvoří rychlé nástroje, které zpracovali úlohu zhruba 7000 respektive sekund. Jde o RapidMiner a Weku. Mnohem pomalejší jsou potom Orange a KNIME. Ztráta KNIME na předposledního v tomto případě není tak propastná jako u menších datových setů, ale spolu s Orange ztrácí velmi výrazně. Viz obrázek 145, příloha A. f) Vývoj časové náročnosti Na vývoji časové náročnosti lze dobře pozorovat výrazný nárůst ve změně z množiny o velikosti na V případě RapidMineru a Weky ale tento nárůst není zdaleka tak výrazný jako u KNIME a Orange.

72 7.3 Výsledky měření 72 Obrázek 48: Vývoj časové náročnosti pro k-nn. g) Prostorová náročnost pro datový soubor se 100 příklady Využití paměti u malého datového setu do 100 příkladů nepřesáhlo u žádného software 6 MB operační paměti. Nejlépe v tomto případě dopadl Orange asi kb, nejhůře potom KNIME s kb obsazeného místa. Viz obrázek 146, příloha A. h) Prostorová náročnost pro datový soubor s příklady U větší množiny dat (1 000 příkladů) je nejúspornější z hlediska využité paměti RapidMiner (méně než 5 MB). Těsně za ním se umístil Orange následovaný Wekou. KNIME si opět vedl nejhůře s 20 MB paměti. Viz obrázek 147, příloha A. i) Prostorová náročnost pro datový soubor s příklady U datového setu o velikosti příkladů je na tom z hlediska zabrané paměti nejlépe Weka (pod 20 MB). RapidMiner obsadil trochu více než 30 MB. S odstupem následují Orange (70 MB) a KNIME (75 MB). Viz obrázek 148, příloha A. j) Prostorová náročnost pro datový soubor se příklady Při použití příkladů v datové množině jsou jednotlivé nástroje odstupňovány s velmi podobným rozdílem mezi sebou. Nejúspornější je v tomto případě RapidMiner (250 MB), následuje Weka (390 MB), KNIME (495 MB)

73 7.3 Výsledky měření 73 a nejhůře na tom je s 695 MB zabrané operační paměti Orange. Viz obrázek 149, příloha A. k) Vývoj prostorové náročnosti Obrázek 49: Vývoj prostorové náročnosti pro k-nn. Na grafu vývoje prostorové náročnosti pro algoritmus nejbližších sousedů je vidět poměrně kolísavá povaha. Např. v přechodu z na příkladů se mezi sebou vystřídali na prvních dvou místech Weka a RapidMiner. Jednu z největších prostorových složitostí měl naopak stabilně Orange. 6) SVM (algoritmus podpůrných vektorů) SVM (Support Vector Machine) klasifikuje instance do dvou výsledných tříd podle naučeného modelu. Jde o nepravděpodobnostní binární lineární klasifikátor. Ve vnitřní reprezentaci SVM jsou jednotlivé body (instance) umístěny v prostoru. Instance obou kategorií jsou od sebe odděleny co nejširší mezerou. Nové příklady pro klasifikaci jsou následně mapovány do stejného prostoru a podle toho v jaké části dané mezery se nachází, jsou klasifikovány. Z uvedeného popisu se dá usuzovat, že při mapování instancí do trojrozměrného prostoru se spotřebovává velká výpočetní kapacita. SVM tedy bude časově i prostorově značně náročný. Měřením bylo ověřeno, že tomu tak skutečně je. SVM byl vůbec nejnáročnější algoritmus celého testu. Pozn. Knihovna LibSVM

74 7.3 Výsledky měření 74 umožňuje i polynomiální a jiné módy SVM. Pro tento test však byl použit základní lineární SVM. a) Schémata vizuálního programování Obrázek 50: Schéma pro SVM v RapidMineru. V RapidMineru je na hlavní úrovni opět připraveno základní schéma pro cross-validaci. K načtení dat slouží uzel Read CSV. Pro nastavení rolí atributů, tedy odlišení meta atributů od datových atributů byl použit uzel Set Role. Hlavní proces probíhá ve Validation. Obrázek 51: Vnitřní schéma RapidMineru pro SVM. Uvnitř cross-validačního uzlu se v tréninkové části nachází uzel SVM, který vytváří naučený model v každé iteraci cross-validace. Ten se potom předává do testovací části, ve které jsou aplikovány zbylé instance pro klasifikaci. Vyhodnocení výkonnosti a zobrazení metrik určujících úspěšnost klasifikátoru obstarává uzel Performance. Obrázek 52: Schéma pro SVM v programu Weka.

75 7.3 Výsledky měření 75 V programu Weka je celé schéma na jedné úrovni. Opět jsou použity typické uzly pro provedení cross-validace spolu s klasifikátorem. CSVLoader slouží pro načtení instancí do vnitřní reprezentace. ClassAssigner umožňuje rozlišení atributu třídy od ostatních. CrossValidationFoldMaker rozděluje datový set na 10 částí, kde vždy 1 slouží pro testování a 9 pro učení. Samotné provedení učení i testování se provádí v uzlu LibSVM. Vyhodnocení úspěšnosti klasifikátoru provádí ClassifierPerformanceEvaluator. Obrázek 53: Schéma pro SVM v programu Weka. V KNIME je stejně jako v předchozích případech pro klasifikaci použit uzel Cross Validation, který obsahuje vnitřní proces. Vstup pro cross-validaci obstarává CSV Reader. Vyhodnocení výsledků Scorer a zobrazení úspěšnosti v tabulce Interactive Table. Ve vnitřním procesu cross-validace jsou opět jako rozhraní použity uzly X-Partitioner (provádějící lineární rozdělení instancí na tréninkovou a testovací podmnožinu) a X-Aggregator (agreguje data pro výstup z cross-validace). Vlastní vytvoření naučeného modelu v každé iteraci obstarává LIBSVMLearner. Testovací data jsou potom aplikovány v LIBSVMPredictor. V Orange je použito další známé schéma z předchozích příkladů s klasifikátory. Načtení dat provádí uzel File, který je předává na vstup SVM a Test Learners. V uzlu SVM probíhá inicializace modelu pro učení. V Test Learners potom samotná cross-validace.

76 7.3 Výsledky měření 76 Obrázek 54: Vnitřní schéma cross-validace v KNIME pro SVM. Obrázek 55: Vnitřní schéma cross-validace v KNIME pro SVM. b) Časová náročnost pro datový soubor se 100 příklady Při použití malého datového setu jsou všechny nástroje velmi rychlé. Kromě Weky, zpracovaly všechny úlohu do jedné sekundy. Viz obrázek 150, příloha A. c) Časová náročnost pro datový soubor s příklady Pokud se zpracovává pomocí SVM datová množina o velikosti příkladů, jsou již více patrné rozdíly mezi klasifikátory z různého software. Nej-

77 7.3 Výsledky měření 77 rychlejší je v tomto případě Orange s 6 sekundami. Naopak KNIME potřeboval téměř dvojnásobek, 11 sekund. V programu Weka byl proveden celý proces za 8 sekund a v RapidMineru za 9. Viz obrázek 151, příloha A. d) e) Časová náročnost pro datový soubor s příklady Při zpracování většího datového setu o velikosti příkladů je už nejrychlejší program Weka (400 sekund). Následuje Orange s 459 sekundami. S větším odstupem se umístily KNIME (více než 800 sekund) a nejhůře dopadl RapidMiner (1053 sekund). U tohoto případu je možné sledovat obrovský nárůst časové náročnosti oproti předchozímu. Viz obrázek 152, příloha A. Časová náročnost pro datový soubor se příklady Pokud se použije pro SVM největší datový set ( příkladů), časová náročnost se pohybovala v rozmezí 12,25 až 30,5 hodiny. Suverénně nejlépe dopadl program Weka, který dokončil proces po sekundách. Ostatním nástrojům trvalo zpracování mnohem déle. Orange sekund, KNIME sekund a RapidMiner sekund. Viz obrázek 153, příloha A. f) Vývoj časové náročnosti Obrázek 56: Vývoj časové náročnosti pro SVM. Z naměřených hodnot vyplývá kvadratická časová složitost u SVM algoritmu v lineárním módu. Pokud se velikost datového setu zvýšila 10násobně, doba potřebná k provedení procesu se zvýšila 100násobně. Toto je možné nejlépe

78 7.3 Výsledky měření 78 pozorovat u přechodu mezi datovými množinami o velikosti a příkladů. g) Prostorová náročnost pro datový soubor se 100 příklady Prostorová náročnost algoritmu SVM u malého datového setu se pohybovala v rozmezí 3,3 MB až 5,3 MB. Nejúspornější se ukázal program RapidMiner, naopak největší spotřebu paměti je možné pozorovat u KNIME. Viz obrázek 154, příloha A. h) Prostorová náročnost pro datový soubor s příklady Při použití větší datové množiny o velikosti příkladů, je naopak RapidMiner nejméně úsporný (téměř 35 MB). Nejlépe v tomto případě dopadl program Orange, který spotřeboval pouze něco přes 9 MB operační paměti. Následují KNIME (12,3 MB) a Weka (32,3 MB). Viz obrázek 155, příloha A. i) Prostorová náročnost pro datový soubor s příklady Pokud byl počet vstupních příkladů zvýšen na příkladů, náročnost na pamět nejvíce rostla u RapidMineru (530,5 MB) a KNIME (409 MB). Naopak mnohem úspornější se zdají být Orange (87,3 MB) a Weka (132,3 MB). Viz obrázek 156, příloha A. j) Prostorová náročnost pro datový soubor se příklady Při zpracovávání velkého datového setu ( příkladů) pomocí SVM klasifikátoru, byla překročena hranice 1 GB operační paměti programem RapidMiner (1,1 GB). Jako nejméně náročný se zde jeví KNIME (485 MB), následovaný Wekou (586 MB) a Orange (746 MB). Viz obrázek 157, příloha A. k) Vývoj prostorové náročnosti Ve vývoji prostorové náročnosti jsou vidět větší výkyvy v růstu např. programu KNIME. Zatímco využitá pamět se mezi velikostmi datových setů a zvýšila asi 33 násobně, po zvětšení objemu dat na příkladů, si KNIME vzal z paměti pouze o 78 MB více. Růst prostorové náročnosti je i u ostatních nástrojů mnohem menší než růst časové náročnosti.

79 7.3 Výsledky měření 79 Obrázek 57: Vývoj prostorové náročnosti pro SVM. 7) AdaBoost AdaBoost (Adaptive Boosting) je algoritmus, který slouží pro zlepšení výkonnosti klasických klasifikačních algoritmů ve smyslu zvýšení přesnosti klasifikace. Je to tedy jakási nádstavba nad vlastním algoritmem. Adaptivita tohoto algoritmu je založená na úpravě vah v každé iteraci. AdaBoost vytváří model n-krát. V tomto testu byl počet iterací nastaven na 10. Zejména časová náročnost zde závisí na algoritmu, který je použit v konjunkci s AdaBoostem. Pro účely tohoto testu byl zvolen algoritmus nejbližších sousedů k-nn s konstantou k nastavenou na hodnotu 5. a) Schémata vizuálního programování Obrázek 58: Hlavní schéma v RapidMIneru pro AdaBoost. V RapidMineru se hlavní proces skládá z načtení dat (Read CSV ), vybrání atributu třídy (Set Role) a samotného algoritmu AdaBoost implementovaného

80 7.3 Výsledky měření 80 pomocí stejnojmenného uzlu. Uvnitř tohoto uzlu je k dispozici další okno pro subproces. Obrázek 59: Vnitřní schéma pro Adaptive Boosting, kde je umístěn uzel k-nn. V procesu na nižší úrovni v rámci AdaBoostu je klasifikátor k-nn, který slouží pro vytvoření naučeného modelu. Obrázek 60: Schéma pro AdaBoost v programu Weka. V programu Weka je datový tok upraven pomocí pěti procesů. Prvním je CSVLoader, který slouží pro načtení datového setu s instancemi. ClassAssigner určí výsledný atribut třídy. TrainingSetMaker potom vytváří samotný tréninkový set, který je předán na vstup uzlu AdaBoostM1. Obrázek 61: Schéma pro AdaBoost v programu Weka. V rámci AdaBoostu je v nastavení zvolen algoritmus IBk s konstantou k =5. Obrázek 62: Schéma pro AdaBoost v KNIME.

81 7.3 Výsledky měření 81 Nejjednodušší schéma je v programu KNIME, které se skládá jen ze dvou uzlů. Prvním je CSV Reader, který načítá datový set. Druým uzlem je AdaBoostM1 dostupný přes objekt rozhraní Weka. Obrázek 63: Schéma pro AdaBoost v programu Orange. V programu Orange je schéma velmi podobné jako v předchozích případech. Namísto uzlu Test Learners je zde použit Ensemble, který implementuje algoritmus AdaBoost. Operátor File umožňuje načtení dat a Select Attributes rozlišuje meta atributy od datových atributů. Uzel k Nearest Neighbours potom vytváří inicializovaný model klasifikátoru, který se předává uzlu Ensemble. b) c) Časová náročnost pro datový soubor se 100 příklady První případ měření časové náročnosti u AdaBoostu dopadl shodně u všech nástrojů. Všechny klasifikátory zvládly dokončit proces za méně než 1 sekundu. Viz obrázek 158, příloha A. Časová náročnost pro datový soubor s příklady Při použití datového setu o velikosti příkladů je nejrychlejší program Weka (2 sekundy). O málo pomalejší je RapidMiner (3 sekundy). Z relativního hlediska jsou nástroje Orange a KNIME dvakrát pomalejší než Weka v tomto případě (oba dokončily proces za 4 sekundy). Viz obrázek 159, příloha A. d) Časová náročnost pro datový soubor s příklady V případě datové množiny obsahující příkladů je nejrychlejší opět program Weka (128 sekund). Následuje RapidMiner (146 sekund) a s větším od-

82 7.3 Výsledky měření 82 stupem KNIME (243 sekund) a Orange (353 sekund). Viz obrázek 160, příloha A. e) Časová náročnost pro datový soubor se příklady U velkého datového setu ( příkladů) je nejrychlejší při aplikaci Ada- Boostu Weka ( sekund). Druhý je program KNIME, který zvládl provést proces za sekund. Na třetím místě se umístil RapidMiner ( s). Zdaleka nejpomalejší je v tomto případě Orange ( s). Viz obrázek 161, příloha A. f) Vývoj časové náročnosti Obrázek 64: Vývoj časové náročnosti pro AdaBoost s použitím k-nn. Kvůli velmi velkým rozdílům v časech mezi datovým setem o velikosti a příkladů, jsou v grafu časy u menších datových setů jen těžko rozpoznatelné. g) Prostorová náročnost pro datový soubor se 100 příklady Měření pamět ové náročnosti na malém datovém setu o velikosti 100 příkladů dopadlo nejlépe pro Orange (1 488 kb). Jen o něco náročnější jsou KNIME (2 144 kb) a RapidMiner (2 168 kb). Zdaleka nejvíce paměti si v tomto případě zabral program Weka ( kb). Viz obrázek 162, příloha A. h) Prostorová náročnost pro datový soubor s příklady

83 7.3 Výsledky měření 83 Velmi podobně jako v předchozím případě dopadly výsledky i u většího setu o velikosti příkladů. V tomto případě je nejúspornější RapidMiner, který během procesu spotřeboval kb. Následují Orange (4 080 kb) a KNIME (4 292 kb). Weka je opět nejnáročnější ( kb). Viz obrázek 163, příloha A. i) Prostorová náročnost pro datový soubor s příklady Po zvýšení počtu instancí na se jeví jako nejúspornější KNIME (4 852 kb). Následuje Weka ( kb), která v tomto případě spotřebuje daleko méně paměti než RapidMiner ( kb) a Orange ( kb). Viz obrázek 164, příloha A. j) Prostorová náročnost pro datový soubor se příklady Pokud obsahuje vstupní datová množina příkladů, je nejúspornější opět program KNIME ( kb). Téměř dvojnásobek paměti si vyžádá RapidMiner ( kb). O dalších asi 100 MB více spotřebují Orange ( kb) a Weka ( kb). Viz obrázek 165, příloha A. k) Vývoj prostorové náročnosti Obrázek 65: Vývoj prostorové náročnosti pro AdaBoostu za použití k-nn. Z vývoje prostorové náročnosti je vidět největší nárůst u Weky a Orange při změně objemu instancí z na Weka byla při instancích druhá nejúspornější, ale po 10 násobném zvětšení je naopak nejnáročnější.

84 7.3 Výsledky měření 84 8) EM (Expectation-Maximization) Algoritmus Expectation-Maximization slouží pro vytvoření shluků (clustering) podobně jako k-means. a) Schémata vizuálního programování Obrázek 66: Schéma pro algoritmus EM v RapidMineru. V RapidMineru je pro provedení shlukování velmi jednoduché schéma o dvou uzlech. První slouží k načtení CSV souboru a druhý pro provedení samotného rozdělení instancí do shluků. Obrázek 67: Schéma pro EM v programu Weka. V programu Weka je schéma pro provedení algoritmu EM velmi podobné jako u k-means. Jediným rozdílem je vlastní uzel pro shlukování, kde je v tomto případe EM. CSVLoader slouží jako vždy pro načtení instancí do procesu. ClassAssigner stanovuje výsledný atribut třídy. TrainingSetMaker potom přetváří vstupní množinu na tréninkovou. Po provedení procesu shlukování jsou výsledky vypsány na výstup v uzlu TextViewer. Obrázek 68: Schéma v programu KNIME pro EM algoritmus.

85 7.3 Výsledky měření 85 KNIME používá pro algoritmus EM objekt implementovaný pro program Weka. Vstupem je načtená množina dat pomocí uzlu CSV Reader, která je převedena z interní reprezentace KNIME do datových struktur daného objektu určeného pro Weku. Program Orange algoritmus Expectation-Maximization nepodporuje. b) c) d) e) Časová náročnost pro datový soubor se 100 příklady EM shlukování u datového setu velikosti 100 příkladů trvá u všech nástrojů, které jej podporují zhruba 2 sekundy. Viz obrázek 166, příloha A. Časová náročnost pro datový soubor s příklady U větší vstupní datové množiny (1 000 příkladů), je nejrychlejěí Weka (11 sekund). Následuje RapidMiner (14 sekund) a nejpomalejší je KNIME (19 sekund). Viz obrázek 167, příloha A. Časová náročnost pro datový soubor s příklady Při použití příkladů v datovém setu se pohybuje výkonnost nástrojů na daném stroji v rozmezí 104 sekund (KNIME) do 265 sekund (KNIME). Mezi oběma hodnotami je potom umístěn program Weka se 175 sekundami. Viz obrázek 168, příloha A. Časová náročnost pro datový soubor se příklady Časová náročnost algoritmu Expectation-Maximization u největšího testovaného datového setu dopadla nejlépe pro RapidMiner (2 876 sekund). S odstupem potom následují Weka (4 255 sekund) a KNIME (7 040 sekund). Viz obrázek 169, příloha A. f) Vývoj časové náročnosti Vývoj časové náročnosti ukazuje opět obrovské rozdíly mezi dvěma největšími datovými sety. RapidMiner a Weka rostou pomaleji než KNIME.

86 7.3 Výsledky měření 86 Obrázek 69: Vývoj časové náročnosti pro EM algoritmus. g) Prostorová náročnost pro datový soubor se 100 příklady První případ testování prostorové náročnosti pro EM algoritmus dopadl nejlépe pro KNIME (1 516 kb). O něco více paměti zabere RapidMiner (1 848 kb) a více než dvojnásobek potom Weka (3 840 kb). Viz obrázek 170, příloha A. h) Prostorová náročnost pro datový soubor s příklady Při použití příkladů pro trénování a testování algoritmu EM je nejúspornější opět KNIME ( kb). Daleko více paměti si vyžádají nástroje Weka ( kb) a RapidMiner ( kb). Viz obrázek 171, příloha A. i) Prostorová náročnost pro datový soubor s příklady Poměrně velká pamět ová náročnost algoritmu EM se opět projevuje u datové množiny o objemu příkladů. RapidMiner spotřeboval kb operační paměti. O něco úspornější je Weka ( kb). Daleko nejméně paměti využil program KNIME ( kb). Viz obrázek 172, příloha A. j) Prostorová náročnost pro datový soubor se příklady U největšího datového setu ( příkladů) se pořadí nástrojů nezměnilo. Nejúspornější je KNIME ( kb) následovaný programem Weka ( kb) a s větším odstupem je z této trojice nejnáročnější RapidMiner ( kb). Viz obrázek 173, příloha A.

87 7.3 Výsledky měření 87 k) Vývoj prostorové náročnosti Obrázek 70: Vývoj prostorové náročnosti pro algoritmus EM. Z vývoje prostorové náročnosti můžeme pozorovat největší růstu u RapidMineru. Zde lze pozorovat i rozdíly mezi jednotlivými nástroji na úrovni druhého největšího datového setu ( příkladů). Náročnost při zvětšení na příkladů se v tomto případě nezměnila tak extrémně jako u některých jiných algoritmů Vyhodnocení časové náročnosti Pro účely vyhodnocení časové a prostorové náročnosti byla u každého algoritmu a každého objemu dat (100, 1 000, a příkladů) použita normalizace výsledků do intervalu <0,1>, kde vyšší hodnota znamená lepší výsledek. Tyto normalizované hodnoty byly následně sečteny pro konkrétní softwarový nástroj u každého algoritmu. V následující tabulce je přehled takto získaných koeficientů. Nejvyšší možné skóre v buňce je 4, protože jde o součet 4 hodnot, které nepřekračují 1.

88 7.3 Výsledky měření 88 RapidMiner Weka KNIME Orange Rozhodovací stromy 0,86 3,53 1,89 1,93 Naive Bayes 2,69 4,00 2,54 3,16 k-means 2,90 3,81 3,42 3,35 Asociační pravidla 3,84 4,00 3,30 3,07 EM 3,79 3,27 2,38 0,00 SVM 2,45 3,25 2,44 3,34 AdaBoost 3,02 4,00 2,61 2,10 K-NN 4,00 2,92 0,85 1,71 Celkem 23,54 28,78 19,44 18,66 Tabulka 4: Součtová tabulka normalizovaných hodnot u časové náročnosti. Příklad výpočtu pro rozhodovací stromy, program Weka: Skóre = min(časy nástrojů pro 100 příkladů) / čas Weky pro 100 příkladů + min(časy nástrojů pro příkladů) / čas Weky pro příkladů + min(časy nástrojů pro příkladů) / čas Weky pro příkladů + min(časy nástrojů pro příkladů) / čas Weky pro příkladů Skóre = min(2, 1, 2, 1) / 1 + min(5, 1, 5, 6) / 1 + min(70, 11, 58, 90) / 11 + min(1 572, 839, 1 311) / Skóre = ,53 Skóre = 3, 53 Maximální skóre = 28,78 ~ 100 bodů Výsledek kriteria časová náročnost : Pořadí Software Body 1. Weka RapidMiner KNIME Orange 65 Tabulka 5: Výsledné pořadí pro časovou náročnost.

89 7.3 Výsledky měření 89 Obrázek 71: Grafické vyjádření porovnání časové náročnosti. Časová náročnost dopadla nejlépe pro program Weka. U velkého počtu testovaných algoritmů byly nejlepší výsledky právě u Weky (např. u SVM byla suverénně nejrychlejší). Poměrně překvapivě dopadl nejhůře Orange se 65 body. V tomto případě nepomohla implementace v Pythonu k lepšímu výsledku než u nástrojů implementovaných v Javě Vyhodnocení prostorové náročnosti Stejným způsobem jako u časové složitosti byly normalizovány i výsledky prostorové složitosti. Součtová tabulka pro jednotlivé algoritmy: RapidMiner Weka KNIME Orange Rozhodovací stromy 0,76 2,31 2,37 3,21 Naive Bayes 2,03 1,34 3,71 2,42 k-means 1,38 1,29 3,71 3,01 Asociační pravidla 1,69 1,60 3,55 2,29 EM 1,55 1,51 4,00 0,00 SVM 1,85 2,49 2,57 3,46 AdaBoost 2,37 1,11 3,44 2,26 K-NN 3,22 2,51 1,23 2,35 Celkem 14,84 14,16 24,58 18,99 Tabulka 6: Součtová tabulka normalizovaných hodnot pro prostorovou náročnost.

90 7.4 Předzpracování dat (preprocessing) 90 Maximální koeficient = 24,58 ~ 100 bodů Výsledek kriteria prostorová náročnost : Pořadí Software Body 1. KNIME Orange RapidMiner Weka 58 Tabulka 7: Výsledné pořadí prostorové náročnosti. Obrázek 72: Grafické vyjádření srovnání prostorové náročnosti. Z výsledků prostorové náročnosti je zřejmé, že nejúspornější na pamět je program KNIME. Naopak nejvíce paměti si alokuje při dolovaní z dat Weka (58 bodů). Na druhém místě se umístil Orange (77 bodů). RapidMiner skončil v tomto srovnání na třetím místě se ziskem 60 bodů. 7.4 Předzpracování dat (preprocessing) Předzpracování dat je proces umožňující úpravu surových (hrubých) dat do relevantní a konzistentní tréninkové množiny. Je jednou z velmi důležitých operací související s dolováním z dat. V následující kapitole jsou rozebrány možnosti předzpracování dat, jak je umožňují softwarové nástroje RapidMiner, Weka, KNIME a Orange.

91 7.4 Předzpracování dat (preprocessing) RapidMiner Všechny operátory (uzly) v RapidMineru, které jsou použitelné ve vizuálním procesu zpracování dat, jsou uspořádány do stromové struktury složek. Složka Data Transformation obsahuje všechny uzly týkající se předzpracování dat. Obsah této složky je více než dostačující 114 uzlů. První kategorie metod je čištění dat. K tomuto účelu slouží v RapidMineru uzly nacházející se v podsložce Data Cleansing. Obrázek 73: Operátory čištění dat v RapidMineru. Pro nalezení odchylek jsou zde k dispozici 4 uzly ve složce Outlier Detection. Operátory detekují odchylky na základě vzdálenosti (používá algoritmus nejbližších sousedů), hustoty (hodnoty musí být dál než je zadaná vzdálenost maximální vzdálenost od proporce všech objektů), lokální hustoty (vzhledem ke k nejbližším sousedům v dané oblasti) a faktoru odchylky třídy. Všechny 4 uzly přidávají informaci o tom, zda je konkrétní případ považován za odchylku, přidáním atributu outlier. Ten obsahuje booleovské hodnoty true nebo false. RapidMiner dále obsahuje dalších 5 operátorů sloužících pro čištění dat. Uzel Replace Missing Values nahrazuje chybějící hodnoty zvolenou hodnotou, minimem, maximem nebo průměrnou hodnotou daného atributu. Další operátory aplikují naučený model pro odhadnutí chybějících hodnot (Impute Missing Values), nahrazují nekonečné hodnoty (Replace Infinite Values), vyplňují chybějící hodnoty (Fill Data Gaps) a odstraňují nepoužité hodnoty (Remove Unused Values). Další skupinou pro předzpracování dat je v RapidMineru složka operátorů Filtering. Zde jsou uzly pro vytváření vzorků dat (Sampling), filtrování příkladů na základě specifikovaných podmínek (Filter Examples), odstranění duplikovaných hodnot (Remove Duplicates), filtrování na základě intervalů (Filter Example Range). Skupina Aggregation obsahuje pouze jeden stejnojmenný uzel, který slouží pro agregaci dat. Zde je možné použít známé agregační funkce jako jsou COUNT, MIN, MAX, AVERAGE, které se dají kombinovat s funkcionalitou příbuznou SQL (GROUP BY, HAVING). Největší skupina funkcí sloužících k předzpracování dat

92 7.4 Předzpracování dat (preprocessing) 92 Obrázek 74: Operátory pro filtraci dat v RapidMineru. v RapidMineru je Atribute Set Reduction and Transformation, která slouží pro redukci dat a transformaci. Součástí je i část určená pro generování hodnot a optimalizaci. Složka Transformation obsahuje základní transformační operátory. Jde o Fourierovu transformaci, samoorganizační mapy, dekompozici hodnot, analýzu hlavních komponent (Principal Component Analysis), která slouží pro nalezení redundantních atributů a další. Složka Selection sdružuje 6 uzlů pro selekci atributů různými způsoby (manuálně, podle vah, náhodně, rozmezí hodnot, podle závislostí mezi atributy, zbytečné atributy). Složka Value Modification umožňuje změnu hodnot. První částí je numerická modifikace. Zde jsou operátory pro normalizaci, denormalizaci a škálování. Dále je k dispozici uzel pro úpravu data. Podsložka Nominal Value Modification umožňuje zpracování nominálních hodnot (nahrazení, rozdělení, odstranění bílých znaků, sloučení, mapování). Uzel Declare Missing Value potom slouží pro označení chybějících hodnot. Obrázek 75: Modifikace hodnot v RapidMineru. Další skupina operátorů předzpracování dat je Type Conversion typová konverze. Zde obsažené uzly umožňují konverzi numerických hodnot na binominální (např true, false), polynomiální, reálná čísla a datum. Další konverze jsou reálná čísla integer, nominální binominální, nominální textová, nominální numerická, nominální datum, text nominální, datum numerická a datum nominální. Ostatní operátory umožňují odhadnout typ, a formátovat číselné hodnoty. Složka Name and Role Modification umožňuje nastavit jména atributů a stanovit cílový atribut a meta atributy (uzly Set Role a Exchange Roles).

93 7.4 Předzpracování dat (preprocessing) 93 Obrázek 76: Typové konverze v RapidMineru. Předzpracování v RapidMineru slouží také k řazení příkladů (Sorting) a rotaci (transponování). K dispozici jsou také množinové operace spojení, minus, průnik, sjednoceni, kartézský součin Weka Weka obsahuje všechny své operátory sloužící k předzpracování dat v záložce Filters. Zde jsou rozděleny na 3 kategorie: Supervised (s učitelem), Unsupervised (bez učitele) a Filters. Obrázek 77: Operátory pro předzpracování dat v programu Weka. Kategorie Supervised: První operátor Add Classification slouží k přidání dalších tří sloupců ke vstupní datové množině. Jde o informaci o klasifikaci (do které třídy byl případ klasifikován), pravděpodobnostního rozdělení atributu třídy a chybového příznaku. Uzel se používá výhradně v kombinaci s některým klasifikátorem. Další operátor je Attribute Selection, který je určen pro filtrování atributů (tzn. rozhodnutí, které sloupce zůstanou). Používá se v kombinaci s vyhodnocovacím objektem, který tyto atributy určí (atributy zde nevybírá přímo uživatel, ale stroj). Další operátor Class Order mění pořadí výsledného atributu třídy tak, že pořadí není takové, jak jej specifikuje hlavička. Uzel Discretize (diskretizace) slouží pro převedení spojitých hodnot atributů na nominální hodnoty. Operátor Nominal To

94 7.4 Předzpracování dat (preprocessing) 94 Binary převádí všechny nominální atributy na více binárních atributů (je jich tolik, kolik je možných hodnot nominálního atributu). Uzly Resample, STM OTE, Spread Subsample vytváří vzorky ze vstupního datového setu. Operátor Stratified Remove Folds je potom použit v případě, kdy jsou třeba data jen z jedné iterace při cross-validaci. Např. při 10 iteracích se vybere pouze jedna z nich. Následuje velmi rozsáhlá skupina Unsupervised (bez učitele). Na popis všech operátorů z této skupiny zde není prostor, proto budou uvedeny pouze obecné možnosti, které tato skupina podporuje. Obrázek 78: Další uzly pro předzpracování dat v programu Weka. Zde je možné využít následujících procedur předzpracování dat: Přidání atributu Přidání atributu vyjadřující zařazení do clusteru Přidání atributu na základě matematického výrazu Přidání meta atributů (např. ID) Přidání šumu (odchylky) Přidání hodnot třídy Úprava formátu data Rozeznání meta atributů Kopírování atributů Diskretizace hodnot Detekce odchylek a extrémních hodnot Modifikace numerických hodnot na základě matematického výrazu Sloučení hodnot do jedné Převod nominálních atributů na binární

95 7.4 Předzpracování dat (preprocessing) 95 Převod nominálních atributů na řetězce Normalizace hodnot Čištění dat odstranění numerických hodnot, které jsou příliš malé, velké nebo se blíží určité hodnotě Převod numerických atributů na binární Převod numerických atributů na nominální Redukce atributů Odstranění atributů určitého typu Odstranění atributů, jejichž hodnoty se nemění nebo se mění příliš Změna pořadí atributů Nahrazení chybějících hodnot (průměry, mody apod.) Standardizace numerických atributů, aby měly nulový průměr Převod řetězcových atributů na nominální Převod řetězcových atributů na vektor slov Prohození hodnot nominálních atributů Náhodné přeházení pořadí instancí Odstranění iterací cross-validace Odstranění často se vyskytujících hodnot Odstranění špatně klasifikovaných instancí Odstranění úseku instancí Odstranění instancí na základě zvolených hodnot Funkce pro vzorkování Filtrování na základě uživatelem definovaného výrazu

96 7.4 Předzpracování dat (preprocessing) KNIME V programu KNIME je stromová struktura operátorů, které mohou být použity pro vizuální programování, podobně jako v RapidMineru. Složka Data Manipulation sdružuje všechny možné uzly, které se starají o předzpracování dat. Zde je členění zvoleno podle toho, s jakou částí zdrojových dat je potřeba manipulovat. Podsložky na nižší úrovni jsou Column (úpravy sloupců), Row (úpravy řádků instancí), Matrix (manipulace s maticí) a PMML, která obsahuje normalizace, filtry, převádění hodnot. Obrázek 79: Skupiny uzlů pro předzpracování dat v KNIME. Ve složce Column je možné provádět následující manipulaci s daty: Binning (sdružování, seskupování) Seskupování numerických dat do intervalů Seskupování hodnot ve sloupec v závislosti na minimálních, maximálních hodnotách Convert & Replace (převádění typů, nahrazování hodnot) Převod nominálních atributů na numerické Převod nominálních atributů na číselné Nahrazování hodnot ve sloupci na základě slovníku Přejmenování sloupců a změna typu Detekce domény atributů Převod číselných atributů na řetězce Převod desetinných numerických hodnot na integer Zaokrouhlování

97 7.4 Předzpracování dat (preprocessing) 97 Nahrazení řetězcových hodnot na základě regulárních výrazů Filter (filtrování) Filtrování sloupců (které sloupce zůstanou v datech a které budou odstraněny) Filtrování sloupců s nízkou variancí (málo lišící se hodnoty) Filtrování sloupců podle referenční tabulky Split & Combine (rozdělení sloupců, kombinování sloupců) Rozdělení řetězcových buněk do více sloupců Sloučení více buněk do jednoho sloupce konkatenací hodnot Agregace hodnot v řádku do jednoho sloupce na základě vybrané agregační metody Vytváření sloupce obsahujícího kolekci hodnot původních sloupců Spojení tabulek Rozdělení sloupců původní tabulky do nové tabulky Přidání sloupců Transform (transformace sloupců) Změna velikosti znaků Porovnání hodnot sloupců Řazení instancí Normalizace, denormalizace Filtrování nebo náhrada chybějících hodnot Kompozice a dekompozice sloupců Množinové operace se sloupci Operace s řetězci (velikosti písmen, náhrada, vyhledávání, podřetězce) Složka Row potom obsahuje tyto operátory:

98 7.4 Předzpracování dat (preprocessing) 98 Filter (filtrování řádků) Filtrování podle určité nominální hodnoty sloupce Rozdělení numerických dat podle matematického výrazu Filtrování instancí podle referencí do jiné tabulky Další možnosti filtrování řádků (podle id, hodnoty atributu, rozpětí hodnot atd.) Transform (transformace instancí) Generování binárního vektoru (řádek obsahuje pouze 0 nebo 1) Konkatenace dvou tabulek Seskupování řádků na základě vybrané metody agregace (group by) Dekompozice na více řádků (pokud řádek obsahuje kolekce) Rozdělení tabulky na dva oddíly Vzorkování řádků Zpřeházení řádků Řazení řádků definované uživatelem Other (ostatní) Přidání prázdných řádků Extrakce hlavičky do nové tabulky Přidání vlastní hlavičky do dat Nahrazení id řádku Přidání podnikových pravidel Skupina pro práci s maticemi (Matrix) obsahuje pouze jeden operátor Transpose sloužící k transponování matice. Část uzlů sloužících pro filtrování a transformaci dat je přístupná ve složce Database. Jde o Database Row Filter (pro provedení selekce, tedy omezení řádků) a Database Column Filter (pro projekci sloupců filtrování sloupců). Všechny ostatní uzly

99 7.4 Předzpracování dat (preprocessing) 99 v této složce jsou určeny pro manipulaci s databází přímo, a proto jsou započteny v části vyhodnocení importu a exportu Orange Orange sdružuje všechny operátory, které mají co dočinění s přípravou, nahráváním a ukládáním dat, v záložce Data. Obrázek 80: Možnosti předzpracování dat v KNIME. Z těchto položek jen některé souvisí s předzpracováním dat. Jiné slouží k importu a exportu dat (viz kapitola Import a Export). 1) Select Attributes Uzel slouží k manuální úpravě datové domény. Jde tedy o výběr atributů rozhodnutí, které budou pokračovat v procesu a které ne. Zároveň je zde uživatelem určen atribut třídy, datové atributy a meta atributy. Jde tedy o klasický filtr s rozlišením úloh atributů

100 7.4 Předzpracování dat (preprocessing) 100 2) Rank Umožňuje vypočítat metriky, které určují kvalitu/použitelnost atributů. Jde o Relief, Information Gain, Gain ratio a Gini index. Kromě poskytnutí těchto informací, slouží uživateli k filtrování atributů nebo automaticky vybere ty nejlépe hodnocené. 3) Merge Data Pokud je nutné sloučit dva datové sety (A a B) do jednoho, poslouží k tomuto účelu operátor Merge Data. Rozhraní umožňuje výběr atributů z obou datových množin, které mají být ve výsledné množině. Po provedení sloučení jsou výsledkem dva výstupy: A+B a B+A. V prvním výstupu jsou nejprve všechny vybrané atributy z první množiny A a nakonec jsou k nim přidány vybrané atributy množiny B. Ve druhém výstupu je toto provedeno opačně. Pro rozpoznání, která instance z množiny A patří k nějaké instanci z množiny B, slouží speciální slučovací atributy. Pokud je nalezeno k jedné instanci z A více instancí z B, bere se v úvahu pouze ta první. Pokud k instanci z A není nalezena žádná instance z B, jsou doplněny prázdné hodnoty. Tomuto procesu se říká horizontální slučování. 4) Concatenate Uzel Concatenate (konkatenace) slouží k vertikálnímu sloučení. Pokud ve vstupní množině A je 10 příkladů a v množině B je jich 5, výsledná množina má 15 příkladů. To je rozdíl oproti operátoru Merge Data, kde je v prvním výstupu stejný počet příkladů jako v A a ve druhém výstupu odpovídá počet příkladů množině B. 5) Purge Domain Definice nominálních atributů někdy obsahují hodnoty, které někdy v datech vůbec nejsou obsaženy. K tomuto obvykle dochází při rozsáhlém filtrování instancí. Při vizualizaci jsou potom zobrazena nevyplněná místa a graf je méně přehledný. Tento uzel slouží pro vyčištění definic sloupců od takových hodnot. V některých případech může dojít k úplnému odstranění atributu. 6) Select Data Pokud je třeba vybrat jen část instancí ze vstupního souboru, poslouží uzel Select Data. Výběr vhodných dat, které mají pokračovat ve zpracování, se provádí pomocí uživatelem definované logické podmínky. Instance, pro které je logická hodnota vyhodnocení podmínky pravdivá, pokračují na výstup.

101 7.4 Předzpracování dat (preprocessing) 101 7) Discretize Tento uzel slouží k diskretizaci spojitých atributů. Ty jsou vyhledány automaticky a pomocí uživatelem zvolené metody je provedena diskretizace. 8) Preprocess Pokud je třeba provést diskretizaci spojitých atributů a zároveň zpracovat instance s chybějícími hodnotami, poslouží uzel Preprocess. Pro diskretizaci jsou na výběr stejné hodnoty jako v operátoru Discretize. Chybějící hodnoty je možné nahradit náhodnými hodnotami, průměrem, nejčastěji se vyskytující hodnotou, použít výsledky modelu nebo je úplně odstranit. 9) Continuize Pro proces převedení diskrétních atributů na spojíté slouží uzel Continuize. K provedení operace je použita metoda vybraná uživatelem. 10) Impute Některé algoritmy vyžadují data vyčištěná od chybějících hodnot. K tomu slouží uzel Impute. Hodnoty jsou nahrazeny metodou vybranou uživatelem nebo úplně odstraněny. Funkce tohoto uzlu je přístupná i v Preprocess. 11) Outliers Pro odstranění odchylek v datech je určen uzel Outliers. Nejprve vypočítá vzdálenost mezi všemi možnými dvojicemi instancí podle zvolené metriky. Průměrná vzdálenost od instance k jejímu nejbližšímu sousedovi je označena jako Z-score. Pokud je tato hodnota větší než 0, znamená to, že odchylka je větší než povolená a taková instance je vyfiltrována. Na vstupu také může být dodána matice dříve vypočítaných vzdáleností. V takovém případě nedochází k výpočtu vlastních vzdáleností a použijí se ty na vstupu Vyhodnocení předzpracování dat Aby bylo zajištěno objektivní srovnání jednotlivých nástrojů z hlediska předzpracování dat, je třeba brát v úvahu počet základních úkonů, které nástroje nabízejí. Tento přístup byl zvolen z toho důvodu, že některé uzly mohou nabízet širší funkcionalitu. Například uzel Preprocess v Orange umožňuje nahradit/odstranit chybějící hodnoty i provést diskretizaci pomocí různých metod. Naproti tomu v RapidMineru slouží k odstranění chybějících hodnot uzel Replace a pro diskretizaci je určeno 5 speciálních uzlů (Discretize by Size, Discretize by Binning, Discretize by Frequency,

102 7.4 Předzpracování dat (preprocessing) 102 Discretize by User Specification a Discretize by Entropy). Proto umožňuje zvolený přístup větší objektivitu než prosté srovnání počtu uzlů u všech nástrojů. Počty možných úkonů předzpracování dat v jednotlivých software: RapidMiner: 114 Weka: 71 KNIME: 84 Orange: 35 Maximální skóre = 114 ~ 100 bodů Výsledek kriteria předzpracování dat : Pořadí Software Body 1. RapidMiner KNIME Weka Orange 28 Tabulka 8: Výsledné pořadí pro kriterium předzpracování dat. Obrázek 81: Grafické vyjádření srovnání kriteria předzpracování dat. U kriteria předzpracování dat jsou rozdíly mezi jednotlivými nástroji větší než u předchozích. Nejlepšího výsledku dosáhl RapidMiner, který umožňuje provést celkem 114 úkonů pro předzpracování dat. Na druhém místě je KNIME, který získal 74 bodů následovaný programem Weka (62 bodů). Vůbec nejhorší možnosti pro předzpracování dat poskytuje z této čtveřice Orange (28 bodů).

103 7.5 Možnosti vizualizace Možnosti vizualizace Vizualizace jako finální produkt dolování z dat je dalším důležitým kriteriem, na které je nutno brát zřetel. Všechny testované nástroje vizualizaci více či méně podporují RapidMiner RapidMiner se od ostatních zmíněných nástrojů liší způsobem, jakým si uživatel volí vizualizovaný výstup. V RapidMineru se po skončení procesu automaticky zobrazí několik záložek, přičemž každá odpovídá jednomu finálnímu výstupu. Například z cross-validace mohou být připojeny až 3 výstupy (výkonnost, tréninkový set, model). V každé ze záložek jsou potom nabídnuty další možnosti vizualizace relevantní pro každý výstup. Nejčastěji se mezi těmito možnostmi dá přepínat pomocí radio buttonů. Nabídka vizualizace v RapidMineru se liší podle jednotlivých nabízených výstupů z každého uzlu. V následující části jsou popsány nejčastější a nejdůležitější výstupy. 1) Pohled na data (výstup Example Set) Pokud uživatel vyžaduje rychlé zobrazení informací o vstupních datech, je RapidMiner ideální volbou. Není nutné hledat speciální uzel pro vizualizaci, ale pouze připojit výstup označený jako tra (tréninkový set). Po načtení dat jsou k dispozici 4 přepínače. a) Tabulkové zobrazení tréninkové množiny (Data View) Jde o klasickou tabulku, která pouze zobrazí všechna vstupní data beze změny. V záhlaví jsou názvy sloupců, atribut třídy je zvýrazněn oranžovou barvou a také jsou zde k dispozici základní informace o datech (počet příkladů, počet atributů, počet meta atributů). b) Tabulka meta dat (Meta Data View) V tomto přehledu je k dispozici výčet atributů a jejich vlastností. V prvním sloupci je role atributu (id, klasický datový atribut, atribut třídy). Ve druhém sloupci jsou jména atributů. Potom následuje informace o datovém typu každého atributu. Čtvrtý sloupec zobrazuje statistické informace o atributu v závislosti na jeho datovém typu (např. průměr u reálných čísel, nejčastěji a nejméně často vyskytující se hodnoty u nominálních atributů apod.). Další

104 7.5 Možnosti vizualizace 104 sloupec ukazuje rozsah hodnot každého atributu. A jako poslední je zde informace o počtu chybějících hodnot. c) Grafové zobrazení (Plot View) V této sekci je na výběr nepřeberné množství 2D nebo 3D grafů, které se snaží uživateli nabídnout maximální možnosti zobrazení vstupních dat. Na každá data se hodí trochu jiný graf, přičemž záleží samozřejmě také na tom, jaké znalosti potřebuje uživatel najít při samotném procesu dolování z dat. Nejdůležitější zde nabízené typy grafů jsou následující: Scatter Plot, Scatter Matrix, Bubble Plot, Parallel Coordinates, Deviation Plot, Pie Chart, Histogram, Box Plot. d) Pokročilé grafy (Advanced Charts) Zde je možné sestavit si vlastní graf. Uživatel má na výběr interaktivní rozhraní, kde může přidávat nebo odebírat atributy a dimenze. Dále je možné nastavovat typ grafu, orientaci (vertikální, horizontální), styl legendy, styl os, barevné schéma a pozadí. Uživatel může přiřadit jeden nebo více atributů 5 dimenzím. Tyto dimenze jsou: doména, barva, tvar, velikost bodu a číselná osa. Obrázek 82: Možnosti nastavení pokročilých grafů v RapidMineru.

105 7.5 Možnosti vizualizace 105 2) Vyhodnocení výkonnosti (Performance Vector) Výstup Performance Vector poskytuje náhled na charakteristiky klasifikátoru. Jde o vlastnosti accuracy, precision, recall a AUC (Area Under Curve). Všechny čtyři ukazatele lze zobrazit jak pomocí tabulky, tak pomocí grafu. 3) Zobrazení rozhodovacího stromu (Decision Tree) Při použití např. algoritmu C4.5 na sestavení rozhodovacího stromu je k dispozici výstup Model. Zde je možné zobrazit tabulkovou a grafickou podobu rozhodovacího stromu. Obrázek 83: Rozhodovací strom v RapidMineru. 4) Zobrazení nejčastěji vyskytujících se n-tic Např. při použití algoritmu FP-Growth pro sestavení nejčastějších položek v nákupním košíku se zobrazují výsledky v klasické tabulce. Je možné si tabulku omezovat podle počtu položek, které jsou asociačně svázané. 5) Zobrazení shluků (clustering) Pokud uživatel používá algoritmy pro zařazení instancí do skupin podle společných vlastností (např. k-means, Expectatiion-Maximization) je k dispozici několik typů zobrazení. a) Testové zobrazení Tento typ dává informaci pouze o počtu shluků a kolik instancí bylo do kterého shluku zařazeno.

106 7.5 Možnosti vizualizace 106 b) Složkové zobrazení Zde je k dispozici náhled na složky a soubory, kde složkami jsou jednotlivé shluky a soubory jsou samotné instance. Stromová struktura obsahuje pouze tyto dvě úrovně. U instancí se dá rozkliknout detail, který zobrazuje její hodnoty. c) Graf shluků V tomto grafu je k dispozici jen jednoduchý strom zobrazující kořen (root) a z něj vycházející čísla shluků jako listy. Po kliknutí na každý list je zobrazen výčet instancí do shluku náležejících. d) Tabulka těžiště shluků Zde je k dispozici přehled shluků (sloupce) a hodnot atributů (řádky), kterými je definováno těžiště každého shluku. e) Graf těžiště shluků Tento graf zobrazuje těžiště shluků Weka Nabídka vizualizace dat u Weky je podstatně nižší než u RapidMineru už na první pohled. V režimu Knowledge Flow slouží k zobrazení dat a výsledků dolování z dat uzly v záložce Visualization. Rozdíl volby vizualizace je zde tedy odlišný. Obrázek 84: Operátory vizualizace v programu Weka. 1) Data Visualizer Tento uzel je určen pro zobrazení klasického bodového grafu (scatter plot) na vstupní datové množině. Graf obsahuje 3 dimenze. Dvě z nich jsou osy (numerické nebo nominální) a třetí je barva. K dispozici jsou popupy pro výběr atributů pro dosazení do os, pro výběr barvy a pro typ výběru instance. Poslední jmenovaný určuje způsob, kterým je možné přiblížit určitý segment grafu. Například to může být výběr čtverce nebo polygonu. Kliknutím na konkrétní instanci je také možné zobrazit hodnoty jejích atributů.

107 7.5 Možnosti vizualizace 107 2) Scatter Plot Matrix Pohled na datový set pomocí Scatter Plot Matrix nabízí perspektivu bodových grafů všech kombinací atributů. Výsledkem je tedy soustava dvourozměrných grafů, jejichž počet odpovídá druhé mocnině počtu atributů. Obrázek 85: Scatter Plot Matrix v programu Weka. 3) Attribute Summarizer Tento uzel zobrazuje datový set z pohledu počtu instancí každé hodnoty atributu klasifikovaných do konkrétní třídy. Výsledkem je tedy histogram. Na obrazovce je k dispozici tento pohled pro všechny atributy.

108 7.5 Možnosti vizualizace 108 Obrázek 86: Attribute Summarizer v programu Weka. 4) Model Performance Chart Následující zobrazení ukazuje hodnocení klasifikátoru. Nejde tedy o pohled na data samotná, ale na charakteristiky konkrétního algoritmu po vyhodnocení. Konkrétní ukazatel, který je zde k dispozici je ROC křivka vyjadřující vztah mezi specificitou a senzitivitou (recall).

109 7.5 Možnosti vizualizace 109 Obrázek 87: Model performance Chart. 5) Cost Benefit Analysis Cost benefit analysis (náklado-užitková analýza) umožňuje uživateli, zobrazit různé pohledy na náklady/užitek. To lze učinit bud pomocí interaktivního výběru rozdílných velikostí populace, nebo změnou prahové hodnoty pravděpodobnosti pozitivní třídy. 6) Text Viewer Text Viewer (zobrazení textu) je klasický výstupní uzel bez grafické vizualizace. Umožňuje zobrazit textový výstup ze všech ostatních uzlů, které takový výstup mají. Lze jej tedy použít v různých částech schématu.

110 7.5 Možnosti vizualizace 110 Obrázek 88: Text Viewer v programu Weka. 7) Graph Viewer Pokud potřebuje uživatel srozumitelný výstup daného algoritmu v podobě grafu či stromu, je možné zvolit uzel Graph Viewer. Lze jej použít v kombinaci se všemi weka objekty, které mají výstup typu Graph. Užitečný je tento uzel například pro zobrazení rozhodovacího stromu. Úroveň zobrazení však není valná zejména pro rozsáhlé rozhodovací stromy, kdy jsou všechny uzly namačkány do malého prostoru. V takovém případě hraničí toto zobrazení s nepoužitelností. Obrázek 89: Graph Viewer v programu Weka. 8) Strip Chart Jde o objekt umožňující zobrazení výkonnosti klasifikátoru v průběhu zpracování. Graf se mění a postupuje zprava doleva v průběhu procesu.

111 7.5 Možnosti vizualizace KNIME V programu KNIME je k dispozici většina uzlů pro vizualizaci dat ve složce Data Views. Jsou zde všechny základní zobrazovací prvky. Obrázek 90: Možnosti vizualizace v programu KNIME Kromě těchto prvků je dostupná ještě kontingenční tabulka v části Statistics a ROC křivka a Enrichment Plotter v části Mining Scoring. 1) Color Manager Slouží k přiřazení barvy konkrétnímu numerickému nebo nominálnímu sloupci. Na výstupu dává stejnou tabulku, která je na vstupu spolu s informací o dané barvě. Hodnoty jsou vypočítány během exekuce procesu. Barvy sloupců je možné uživatelsky měnit. 2) Size Manager Umožňuje přiřadit velikost každému bodu v navazujícím grafu. Čím větší hodnota konkrétní instance, tím větší je i bod zobrazený v grafu.

112 7.5 Možnosti vizualizace 112 3) Shape Manager Přiřazuje tvar každé hodnotě sloupce. Pokud má sloupec například 3 nominální hodnoty, ve výsledném grafu budou 3 různé tvary na odlišení hodnot. 4) Color Appender, Size Appender a Shape Appender Slouží pro samotnou aplikaci barvy, velikosti nebo tvaru, které vznikly v předchozím manažeru. Výstup z těchto uzlů se dá již zobrazit pomocí například bodového grafu. 5) Extract Color Uzel slouží k extrakci informace o hodnotě barev v RGB modelu. Všechny tři barevné složky jsou vyjádřeny hodnotou 0 až 255. K dispozici je i informace o alfa kanálu modelu RGBA. Barvy jsou získávány z uzlu Color Manager. 6) Image To Table Umožňuje konvertovat obrázek do tabulky. Ta obsahuje pouze jednu buňku, ve které je zaznamenán původní obrázek. 7) Table To Image Převede tabulku, která obsahuje v buňkách obrazová data na objekt obrázku. Bere v úvahu pouze první řádek tabulky. 8) Box Plot Tento uzel zobrazuje statistické parametry vstupních dat. Jde o minimum, dolní kvartil, medián, horní kvartil a maximum. Těmto hodnotám se říká robustní, protože nejsou citlivé na extrémní odchylky. 9) Conditional Box Plot Rozděluje data numerického atributu do tříd v závislosti na zvoleném nominálním sloupci a vytváří Box Plot pro každou třídu. 10) Histogram Slouží pro zobrazení histogramu. Uživatel může měnit volby zobrazení podle následujících možností: agregační metoda (počet, suma, průměr), zobrazení prázdných intervalů, zobrazení chybějících hodnot, zoom apod. 11) Interactive Table Zobrazuje data v tabulkové podobě. Je to základní prostředek pro náhled na jakákoliv tabulková data. Umožňuje zvýraznění vybraných sloupců v tabulce, výstup do CSV a PNG, vyhledávání a filtrování sloupců a řádku v tabulce.

113 7.5 Možnosti vizualizace ) Lift Chart Lift Chart slouží pro evaluaci prediktivního modelu. Čím vyšší je rozdíl mezi vypočtenou linkou a základní linkou, tím lepší výkon podal prediktor. Tento rozdíl je určen poměrem mezi výsledky získanými s prediktivním modelem a bez něj. 13) Line Plot Je určen pro vizualizaci numerických sloupců. Každý sloupec reprezentuje jeden graf. Všechny grafy jsou v jedné soustavě namapovány na jednu osu y. Umožňuje zobrazit pouze sloupce s platnou doménou hodnot. 14) Parallel Coordinates Slouží k zobrazení paralelních souřadnic, tedy grafů, které ukazují multidimenzionální data, kde jsou dimenze alokovány 1:1 k paralelním osám. 15) Pie Chart Reprezentuje klasický koláčový graf, kde je celek rozdělen na jednotlivé úseky vyplněného kruhu. Interaktivní podoba tohoto uzlu umožňuje uživateli upravovat zobrazení podle vlastních preferencí. 16) Scatter Matrix Jde o matici klasických bodových grafů. Tvoří stejnou funkci jako Scatter Plot Matrix v programu Weka, tedy graf pro každý atribut vzhledem k dalšímu atributu. 17) Scatter Plot Slouží pro zobrazení základního bodového grafu. 18) ROC Curve Tento uzel vykresluje ROC křivku pro klasifikační problémy se dvěma třídami. Vstupní data musí obsahovat atribut třídy se skutečnými hodnotami a navíc sloupec s pravděpodobností s jakou by byla daná hodnota zařazena do této třídy. Spolu s tímto uzlem tedy mohou být použity pouze prediktory, které umožňují výstup pravděpodobností. 19) Enrichment Plotter Umožňuje zobrazit křivku obohacení. Uživatel může zvolit sloupec, podle kterého jsou data seřazeny a který bude reprezentovat osu x. Hodnoty osy y jsou určeny sumou kladných vyhodnocení vzhledem k dalšímu sloupci, který je také

114 7.5 Možnosti vizualizace 114 zvolen uživatelem. Kladné vyhodnocení nastává v případě, kdy je hodnota větší než 0. Čím strmější výsledná křivka je, tím je lepší obohacení Orange V programu Orange jsou uzly sloužící k vizualizaci seskupeny v záložce Visualize. Zde je popis nejdůležitějších z nich. Obrázek 91: Možnosti vizualizace v programu Orange. 1) Distributions Tento uzel zobrazuje pravděpodobnostní rozložení diskrétních i spojitých atributů. Pro vizualizaci je použit histogram. Výstup je prakticky stejný jako v uzlu Attribute Summarizer v programu Weka. 2) Attribute Statistics Operátor Attribute Statistics ukazuje distribuci hodnot vybraného atributu. Je vhodný pro zjištění anomálií v datech.

115 7.5 Možnosti vizualizace 115 Obrázek 92: Attribute Stastics v Orange. 3) Scatter Plot Jde o klasický bodový graf. Je zde k dispozici rozhraní, pomocí něhož lze vybrat dvojici atributů pro zobrazení, zvolit barvu, tvar a velikost bodů, které se mění v závislosti na výsledné třídě. Pomocí tohoto uzlu je možné zobrazit i matici bodových grafů zobrazující vztah mezi jednotlivými atributy. 4) Linear Projection Tento uzel poskytuje rozhraní pro použití několika metod pro lineární projekci. Cílem je zobrazit dvou-dimenzionální projekci, kde jsou instance různých tříd nejlépe odděleny. Výsledek je vidět na následujícím obrázku. Třída se skládá ze tříd živočichů (savci, ptáci atd.). Pohromadě jsou instance a jejich charakteristiky, které jsou společné pro jednu živočišnou třídu.

116 7.5 Možnosti vizualizace 116 Obrázek 93: Linear Projection v Orange. 5) Radviz Radviz slouží k nelineární multidimenzionální vizualizaci. Umožňuje zobrazit data tří a více atributů ve dvourozměrné projekci. Zobrazené atributy jsou rovnoměrně rozloženy kolem kruhu. Instance se potom umist ují dovnitř kruhu. Jejich pozice mezi atributy je určena hodnotami. Čím vyšší je hodnota daného atributu instance, tím blíže je bod tomuto atributu. Pokud takto působí na pozici instance všechny atributy, nachází se v jejich pomyslném těžišti. Hodnoty atributů jsou normalizovány do intervalu <0,1>.

117 7.5 Možnosti vizualizace 117 Obrázek 94: Zobrazení Radviz v Orange. 6) Polyviz Polyviz je vizualizační technika podobná Radviz. Liší se jednak v záchytném tvaru (kruh vs. mnohoúhelník), jednak v elementech, vůči kterým se instance uvnitř umist ují. Na obrysu mnohoúhelníku jsou umístěny hodnoty atributů. Jedna strana odpovídá jednomu atributu. Instance jsou uvnitř umist ovány v závislosti na tom, ke které hodnotě každého atributu mají nejblíže. Výsledkem je pak umístění v pomyslném těžišti hodnot.

118 7.5 Možnosti vizualizace 118 Obrázek 95: Polyviz v Orange. 7) Parallel Coordinates Paralel Coordinates je další technika pro zobrazení multidimenzionálního pohledu na data. Každý atribut je reprezentován vertikální čarou. Maximální a minimální hodnoty atributů jsou upraveny v měřítku, aby se vešli do zobrazovaného okna. Pro n atributů tvoří n-1 linek spoj mezi vertikálními čarami. Umístění spojnice na vertikální čáře odpovídá hodnotě atributu dané instance.

119 7.5 Možnosti vizualizace 119 Obrázek 96: Parallel Coordinates v Orange. 8) Survey Plot Survey plot je jednoduchá vizualizace pro více atributů. Ve výstupu je pak možné vidět korelace mezi dvěma proměnnými v případě, kdy jsou data seřazena vzhledem k určité dimenzi. Vertikální linky tvoří opět atributy, ale instance na ně zde nejsou umist ovány dle hodnot, ale jedna za druhou směrem zespodu nahoru. Hodnota daného atributu instance je reprezentována šířkou linky umístěné kolmo k vertikální atributové lince.

120 7.5 Možnosti vizualizace 120 Obrázek 97: Survey Plot v Orange. 9) Mosaic display Mosaic display je grafická metoda pro vizualizaci kontingenčních tabulek. Každá buňka v mozaice zobrazuje korespondující buňku v kontingenční tabulce. Pokud je v datech i atribut třídy, mozaika zobrazí i distribuci třídy. Obrázek 98: Mosaic display v orange. 10) Sieve diagram Sieve Diagram je grafická metoda pro vizualizaci frekvencí ve dvou-cestné kontingenční tabulce a jejich srovnání s předpokládanými frekvencemi, pokud by byly atributy nezávislé. Rozdíl mezi skutečnými a očekávanými frekvencemi je zobrazen pomocí hustoty stíny.

121 7.5 Možnosti vizualizace 121 Obrázek 99: Sieve diagram v Orange. 11) Data Table Klasické zobrazení dat pomocí jednoduché tabulky je k dispozici v uzlu Data Table, který se nachází v sekci Data. 12) Classification Tree Viewer Pro zobrazení hierarchického klasifikačního stromu, tedy výsledku algoritmu C4.5, slouží Classificatioin Tree Viewer. 13) Rules Viewer K vizualizaci odvozených rozhodovacích pravidel je určen uzel Rules Viewer. Zobrazuje jednotlivá pravidla v tabulce spolu s jejich vlastnostmi (délka, kvalita, pokrytí, hodnota třídy, distribuce, samotné pravidlo). Obrázek 100: Rules Viewer v Orange.

122 7.5 Možnosti vizualizace Vyhodnocení možností vizualizace Opět je nutné stanovit co možná nejobjektivnější metodu porovnání nástrojů. Z povahy realizace vizualizace plyne, že není možné porovnávat pouhým srovnáním počtů uzlů realizující vizualizaci dat. RapidMiner totiž nepoužívá pro zobrazení vlastní uzly, ale speciální výstupní objekty, které jsou k dispozici v rámci vizuálního programování připojením výstupu z uzlu na výstupní rozhraní. Srovnání je tedy realizováno pomocí počtu typů zobrazení dat, které jsou v daném software k dispozici. Jde například o textový výstup, datovou tabulku, bodový graf, matice bodových grafů, grafy přidávající další rozměr (např. Radviz, Polyviz) apod. Nejsou počítány zvlášt různé typy textových výstupů, např. popisy Kernel Model SVM nebo KNN Classification v RapidMineru. Tyto textové výstupy jsou brány jako jedna možnost zobrazení textový výstup. Stejný princip je použit u dvourozměrných klasických tabulek (Support Vector Table, Weighted Table) apod. Naopak u grafů jsou počítány zvlášt všechny typy zobrazení (bodový graf, histogram, paralelní souřadnice apod.). Žádný ze zobrazovaných výstupů není v hodnocení váhován jako důležitější nebo méně důležitý. V praxi budou pravděpodobně rozdíly v užitečnosti u jednotlivých zobrazení existovat, ale samostatný průzkum zjišt ující tyto preference by byl nad rámec této práce. Možnosti vizualizace v jednotlivých software: RapidMiner: 48 Weka: 12 KNIME: 19 Orange: 34 Maximální skóre = 48 ~ 100 bodů Výsledek kriteria možnosti vizualizace : Pořadí Software Body 1. RapidMiner Orange KNIME Weka 25 Tabulka 9: Celkové pořadí nástrojů z hlediska kriteria vizualizace.

123 7.6 Možnosti importu a exportu 123 Obrázek 101: Grafické vyjádření srovnání vizualizace. V možnostech vizualizace je opět nejlepší RapidMiner. Umožňuje zobrazit až 48 různých grafů a tabulek. Druhý nejlepší je v tomto srovnání Orange se 71 body. Na třetím místě se umístil KNIME (40 bodů). Nejhorší výsledek si zde připsal program Weka (25 bodů). 7.6 Možnosti importu a exportu V této podkapitole jsou popsány možnosti jednotlivých uzlů importu a exportu všech nástrojů zúčastněných testování. Následuje vyhodnocení tohoto kriteria RapidMiner V RapidMineru jsou exportní a importní uzly seskupeny do složek Import a Export. Navíc je dostupná možnost vytvoření repozitáře. RapidMiner umožňuje číst následující formáty dat: CSV (textový soubor se záhlavím sloupců; hodnoty oddělené pomocí, nebo ; ) C4.5 (formát určen pro rozhodovací stromy, v souboru.names je popis atributů a v souboru.data je vlastní datová množina) ARFF (Weka formát. V souboru jsou nejprve definovány atributy a jejich hodnoty, následují vlastní data) Excel (pro načtení souborů.xls a.xlsx)

124 7.6 Možnosti importu a exportu 124 XML (pro načtení souborů XML) SAS (import SAS souborů Statistical Analysis System) Access (pro soubory databáze Microsoft Access) AML (soubory, kde jsou metadata uloženy v XML) XRFF (vychází ze souborů ARFF, ale atributy jsou popsány pomocí XML) Database (umožňuje připojení k databázi a zpracování SQL dotazu) Stream Database (čtení z databáze pomocí SQL dotazu při inkrementálním cachování) SPSS (soubory systému pro statistickou analýzu) Sdata Sparse (formát, kde jsou data ve formátu index:hodnota) DBase (speciální databázové soubory) BibTex DasyLab URL (umožní načíst datový soubor specifikovaný pomocí URL) Dále jsou k dispozici importy pro speciální soubory: Read Model (umožňuje načtení objektu Model ze souboru, který obsahuje nastavení klasifikátoru) Read Clustering (pro přečtení modelu pro shlukování) Read Weights (slouží pro načtení vah atributů) Read Constructions (umožňuje načíst jen podmnožinu atributů datového setu specifikovanou ve speciálním souboru) Read Performance (k načtení vektoru výkonnosti) Read Parameters (umožňuje načíst parametry k daným algoritmům, které byly zapsány pomocí Write Performance)

125 7.6 Možnosti importu a exportu 125 Read Treshold (slouží k načtení prahové hodnoty ze souboru) Dále obsahuje RapidMiner i operátor Read pro načtení vstupně výstupních objektů, které mohou reprezentovat různé modely pro dolování z dat. Tento operátor je nejvíce obecný. Kromě těchto výše zmíněných uzlů pro import dat umí RapidMiner vytvářet i repozitáře. Tyto lze specifikovat pomocí souborů CSV, XLS (XLSX), XML a binárních. Navíc mohou být repozitáře tvořeny databázovou tabulkou nebo tabulkou z Microsoft Access. Operátory pro zápis dat (export) většinou odpovídají jejich protějškům pro načtení. Datové soubory lze zapisovat následující: CSV XLS (XLSX) Access AML ARFF XRFF Write Database (zápis instancí do databáze) Update Database (změny v databázi u instancí mapovaných pomocí ID) Write Special Format (zapisuje datový set v uživatelem definovaném formátu) Write Model Write Clustering Write Weights Write Constructions Write Performance Write Parameters Write Treshold Write Gnuplot (zapisuje data ve formátu gnuplot)

126 7.6 Možnosti importu a exportu 126 Write Weka V programu Weka obsahuje operátory pro import záložka DataSources. Opačnou funkci (export) plní operátory v záložce DataSinks. Oproti RapidMineru je zde uzlů pro import mnohem méně. Obrázek 102: Uzly sloužící pro import v programu Weka. Arff Loader slouží k načtení souborů typu ARFF. Není náhoda, že je hned na prvním místě ve výběru. Weka je totiž tvůrcem tohoto dobře strukturovaného formátu. C45 Loader se používá k načtení souborů.name pro specifikaci atributů a.data pro data. CSV Loader je k načtení klasických CSV souborů Database Loader slouží pro připojení k databázi a provedení SQL dotazu. LibSVM Loader je uzel pro načtení souborů typu LibSVM pro algoritmus Support Vector Machine (SVM). Serialized Instances Loader umožňuje nahrání serializovaných instancí. SVM Light Loader slouží k načtení souborů pro algoritmus SVM ve verzi Light. Text Directory Loader se používá k nahrání všech textových dat ve zvolené složce, přičemž názvy podadresářů jsou použity jako hodnoty třídního atributu. XRFF Loader umožňuje načíst soubory formátu XRFF (XML formát vycházející z ARFF ). Pro ukládání (export) dat jsou zde k dispozici uzly korespondující s těmi pro načítání.

127 7.6 Možnosti importu a exportu 127 Obrázek 103: Uzly sloužící pro export v programu Weka. Arff Saver slouží k uložení datového setu ve formátu ARFF. C45 Saver převede zpracovávaný datový set do formátu C45 a uloží. CSV Saver provede stejnou operaci jako předchozí dva uzly pro formát CSV. Database Saver slouží k uložení datového setu do databáze. Ta je specifikovaná pomocí URL. Tento uzel provádí SQL dotaz INSERT. LibSVM Saver ukládá zpracovávanou datovou množinu ve formátu LibSVM. Serialized Instance Saver umožní serializovat instance v datové množině a uložit je. SVMLight Saver ukládá data ve formátu SVM Light. XRFF Saver potom slouží pro převedení do formátu XRFF a uložení KNIME Program KNIME odděluje operátory, které slouží pro import (složka Read), export (Write) a práci s databází (Database). Obrázek 104: Uzly pro import v KNIME.

128 7.6 Možnosti importu a exportu 128 V první části jsou uzly s přídomkem Reader. Slouží pro načtení různých typů datových struktur. Již na první pohled je zřejmé, že se KNIME stejně jako Weka nemůže rovnat v možnostech importu RapidMineru. 1) File Reader Uzel File Reader slouží pro načtení textového souboru. Nabízí spoustu nastavení, které mají přizpůsobit proces načítání vůči danému vstupu. Jde například o následující: Určení separátoru atributů Styl uvozovek Styl komentářů Bílá místa Kombinace separátorů Možnost vynechání prvního řádku Uvedení nového řádku Jméno tabulky Rozlišení hlavičky řádku a sloupce od ostatních dat Ignorování prázdných řádků Znaky pro chybějící data Znak desetinné čárky Oddělovač tisíců Maximální počet řádků atd. 2) ARFF Reader Tento operátor je určen pro načtení souboru ve formátu ARFF. 3) CSV Reader Slouží pro načtení soboru CSV. Opět je zde možné nastavit různé parametry jako oddělovač řádků, sloupců, speciální znaky pro neznámou hodnotu, pro uvozovky, přečtení hlavičky řádku a sloupce atd.

129 7.6 Možnosti importu a exportu 129 4) Line Reader Čte řádky ze souborů nebo z URL. Každý řádek je následně reprezentován jednou datovou buňkou v tabulce. Prefix řádku a hlavička sloupce mohou být specifikovány v nastavení. 5) Table Reader Uzel slouží k přečtení souborů, které byly vytvořeny pomocí Table Writer. Soubor odpovídá internímu formátu KNIME, není proto přenosný. Mohou v něm být uloženy různé meta informace jako doména, barva, velikost a další vlastnosti. 6) PMML Reader Je určen pro načtení konfigurace jakéhokoliv modelu. Tím může být klasifikátor, clusterer apod. Konfigurace je uložena v XML souboru. 7) Model Reader Umožňuje načtení objektu modelu, který byl dříve uložen pomocí uzlu Model Writer. Reprezentace dat vychází z vnitřního formátu KNIME. Umožňuje tedy ukládat různé speciální údaje, ale ty nejsou přenosné (rozdíl oproti XML v PMML Reader). Uzly sloužící při zápis výsledků, tabulek a modelů jsou uspořádány ve složce Write. Obrázek 105: Uzly pro export v KNIME. 1) CSV Writer Umožňuje vytvořit CSV soubor a uložit do něj aktuálně zpracovávaný datový set. Opět jsou zde k dispozici různé parametry určené k definici oddělovačů, uvozovek, chybějících hodnot apod. 2) ARFF Writer Slouží pro ukládání datových setů do formátu ARFF. Formát je striktní, proto zde nejsou k dispozicí žádné parametry pro zápis.

130 7.6 Možnosti importu a exportu 130 3) Table Writer Table Writer je určen pro uložení tabulkových dat ve speciálním vnitřním formátu (ukládá i metadata speciální pro KNIME). Výsledný soubor je potom nepřenosný a lze jej načíst pouze pomocí uzlu Table Reader. 4) PMML Writer Umožňuje ukládat konfiguraci modelů pro dolování z dat v XML. 5) Model Writer Slouží k zápisu objektů modelů KNIME ve vnitřním formátu. Je možné potom tyto objekty přečíst pomocí Model Reader. V KNIME jsou k dispozici další uzly sloužící pro import a export zvláštních struktur. Nachází se ve složce Other. Obrázek 106: Další uzly pro import a export v KNIME. Z uvedené složky slouží k vlastnímu importu nebo exportu tyto položky: 1) Extract System Properties Určen k přečtení nastavení systému. Jde například o proměnné prostředí nebo jméno a pracovní složku uživatele. K extrakci těchto položek je použita metoda java.lang.system::getproperties(). 2) Image Column Writer Tento uzel zpracovává všechny obrázky nacházející se ve vstupní tabulce. Každý z nich potom ukládá do zvláštního souboru na disk. Soubory jsou pojmenovány na základě klíčů každého řádku v původní tabulce. 3) Image Port Writer Slouží k uložení obrázku na disk na základě vstupního objektu typu Image Port.

131 7.6 Možnosti importu a exportu 131 4) List Files Uzel vytváří seznam lokací a URL, které jsou uloženy ve vstupním souboru. Zároveň umožňuje filtrovat tato data. Položky mohou být dále zpracovány například uzlem Read PNG Images. Zvláštní uzel, který není obsažen v žádné podsložce složky IO je uzel Cache. Ten ukládá do mezipaměti na disk vstupní řádky tabulky. To je vhodné obzvláště v případech, kdy předchozí uzel zpracování provádí filtrování atributů a ve výsledné tabulce zůstane jen malý počet z nich. Protože v následujícím zpracování se iteruje pouze přes vybrané atributy, je proces mnohem rychlejší. Pokud se zdroj dat nachází v databázi, je možné využít skupinu uzlů Database. Obrázek 107: Manipulace s databází v KNIME. 1) Database Reader Umožňuje připojení k databázi a provedení SQL příkazu SELECT. K dispozici jsou pouze typy databází registrované na preferenční stránce KNIME. Výchozí ovladač k databázi je Java objekt JdbcOdbcDriver. 2) Database Connector Provádí připojení k databázi. Slouží k přečtení pouze meta informací, není určen k provádění žádných SQL dotazů týkajících se vlastního datového schématu. 3) Database Looping Uzel provádí SQL dotazy v připojené databází, přičemž mohou být omezeny vstupní tabulkou. Obsahuje rozhraní pro napsání SQL dotazu a do WHERE části je možné doplnit placeholdery reprezentující hodnoty vstupní tabulky z prostředí KNIME.

132 7.6 Možnosti importu a exportu 132 4) Datatabase Query Slouží k modifikaci SQL dotazu příchozího z uzlu realizující databázové připojení, kde je tento dotaz specifikován. Původní dotaz je zastoupen placeholderem #table#. Ten je potom možné nahradit. 5) Database Connection Reader Je určen ke konverzi vstupního databázového objektu obsahující vrácená data do tabulkového formátu, který je možný dále zpracovat v prostředí KNIME. 6) Database Connection Writer Slouží k zapsání do databáze. Vstupní data musí pocházet z uzlu, který zpracovává SQL dotaz v jiné nebo stejné databázi. Je to tedy přenos dat mezi databázemi, kde prostředníkem je KNIME. 7) Database Delete Provádí SQL dotaz DELETE v připojené databázi. Vstupem je klasická tabulka z prostředí KNIME, jejíž řádky slouží k navázání na vnitřní záznamy databáze, které mají být smazány. Na výstupu je vrácena původní tabulka a další sloupec obsahující počet ovlivněných řádků databáze. 8) Database Update Slouží k provedení SQL dotazu UPDATE. Na vstupu je dodána tabulka z prostředí KNIME, která určuje řádky, které mají být změněny a zároveň jejich nové hodnoty. Výstupem je původní tabulka spolu s dalším sloupcem vyjadřujícím počet ovlivněných záznamů. 9) Database Writer Je určen k zápisu do databáze (provedení příkazu INSERT ). Vstupem je tabulka z prostředí KNIME. Rozdíl oproti Database Connection Writer je právě ve vstupní struktuře dat. Database Writer přijímá klasickou tabulku vrácenou např. uzlem CSV Reader. Naproti tomu Database Connection Writer pracuje s objektem databáze Orange V programu Orange je pro import a export dat k dispozici mnohem méně uzlů než v předchozím software. Poskytují ale různorodou funkcionalitu. Např. uzel File slouží k načtení více typů datových souborů. Operace importu a exportu jsou přístupné v záložkách Data a Unsupervised.

133 7.6 Možnosti importu a exportu 133 1) File Slouží pro načtení vstupního souboru (datového setu s instancemi) a předává je ve vnitřním formátu na výstup. Pamatuje si historii nedávno otevřených souborů. Pomocí tohoto uzlu je možné načíst i vzorové soubory, které jsou dodány spolu s instalací Orange. Část podrobnějšího nastavení umožňuje určení speciálních symbolů např. pro neznámé hodnoty. Je určen k přečtení těchto typů souboru: Tabulky (*.tab, *.txt) C4.5 soubory (*.data) Pomocné soubory (*.dat) Logové soubory (*.rda, *.rdo) Formát pro rozptýlená data (*.basket) ARFF soubory (*.arff ) XML soubory Mulan (*.xml) Soubory ve formátu libsvm (*.svm) CSV soubory (*.csv) 2) Save Save je uzel, který je určen pro uložení připojených dat do souboru na disk. Pamatuje si historii v minulosti používaných jmen souborů. Slouží k uložení souborů stejných formátu dat, které uzel File umožňuje načítat (s výjimkou souborů *.dat, *.basket a *.xml). Navíc umožňuje uložit soubor typu R (*.R), jehož formát používá analytický systém se stejným názvem R. 3) Distance File Slouží pro načtení matice vzdáleností ze vstupního textového souboru. První řádek souboru musí začínat číslem udávající počet položek vyjadřující dimenze matice. Zbytek souboru určuje data matice, které musí být oddělené tabulátorem. 4) Save Distance File Je určen k opačnému úkonu oproti Distance File uzlu. Slouží k uložení matice vzdáleností.

134 7.6 Možnosti importu a exportu Vyhodnocení importu a exportu dat Import i export budou v této části vyhodnoceny jako jedno kriterium. Tento přístup byl zvolen z důvodu podobné povahy obou úkonů. Navíc ve všech testovaných nástrojích existují ve vizuálním programování uzly, které manipulují se stejnou strukturou dat nebo se stejným objektem a slouží bud k jejich importu, nebo exportu. Příkladem mohou být uzly Read CSV a Write CSV v RapidMineru nebo ARFF Loader a ARFF Writer v programu Weka. Při vyhodnocení platí podobný princip jako u předzpracování dat. Není brán v úvahu prostý počet uzlů, ale počet možných struktur a vlastností k importu a exportu. Například uzel File umožňuje načtení souborů ve formátu CSV, ARFF, TAB a dalších. Jsou proto započítány všechny tyto formáty, které může načíst. Naproti tomu je nutné v případě programu KNIME rozlišit uzly, které slouží pro práci s databází. Některé jsou totiž určeny k importu (Database Connector) a jiné k filtrování dat (Database Row Filter). Uzly, které jsou určeny pro filtrování nebo transformaci dat jsou započteny v části předzpracování dat. Možnosti importu a exportu jednotlivých software: RapidMiner: 45 Weka: 17 KNIME: 26 Orange: 20 Maximální koeficient = 45 ~ 100 bodů Výsledek kriteria možnosti importu a exportu : Pořadí Software Body 1. RapidMiner KNIME Orange Weka 38 Tabulka 10: Výsledné pořadí možností importu a exportu. V posledním srovnávaném kriteriu (možnosti importu a exportu) je opět nejlepší RapidMiner. Tentokrát suverénně. Druhý nejlepší KNIME má pouze 58 bodů. Na třetím místě se umístil Orange (44 bodů). Nejhorší je Weka s 38 získanými body.

135 7.6 Možnosti importu a exportu 135 Obrázek 108: Grafické vyjádření srovnání z hlediska importu a exportu.

136 8 DISKUSE Diskuse Po vyhodnocení dílčích kriterií je třeba výsledky důkladně interpretovat a také určit celkové pořadí. Podle zvolené metodiky byly výsledky u každého kriteria vyhodnoceny vždy specifickou metodou. Hodnoty byly vyjádřeny jako sekundy, kilobajty nebo bezrozměrné číslo (skóre). Pro celkové srovnání byly tyto dílčí výsledky převedeny na bodovou stupnici s hranicemi v rozmezí 0 až 100. Protože jsou tedy výsledky zpracovány ve stejném formátu, lze je nyní sečíst a určit celkové (agregované) skóre. Tento součet je proveden podobně jako při sčítání dílčího skóre u některých kriterií bez vah. Nevážený součet byl zvolen z toho důvodu, že je v tomto stadiu nelze váhu kriterií určit. Není k dispozici žádný výzkum, který by určoval, zda je např. časová náročnost důležitější pro uživatele software než možnosti importu a exportu. Obrázek 109: Celkové agregované srovnání z hlediska všech kriterií. Po provedení neváženého součtu bodů dílčích kriterií a vynesení do grafu lze konstatovat, že za daných podmínek měření, vyhodnocení a na zvolených datech je celkově nejvhodnější software pro dolování z dat RapidMiner. Tento program dosáhl skóre 542 bodů. Na druhém místě se umístil se ziskem 437 bodů program KNIME. Oba němečtí zástupci v tomto testu tedy dopadli nejlépe. Třetí program Weka z univerzity ve Waikatu obdržel 383 bodů. S velmi malým odstupem je za daných podmínek z vybraných zástupců nejméně vhodný pro dolování z dat program Orange.

137 8.1 Vymezení platnosti výsledků Vymezení platnosti výsledků Platnost výsledků je však třeba chápat v souvislosti se zvolenou metodikou. Pokud by byly zvoleny váhy v jednotlivých kriteriích (např. že bodový graf je používanější než Radviz nebo schopnost importu CSV souboru je důležitější než XRFF ), výsledky by to zcela určitě ovlivnilo. Stejně tak by mohla být stanovena důležitost jednotlivých kriterií. K takovému nastavení vah by ale bylo zapotřebí rozsáhlého průzkumu, ze kterého by se statistickým zpracováním tyto váhy určily. Realizace tohoto průzkumu je ale nad rámec této práce. Dále je třeba uvážit, že ovlivnění výsledků může vzniknout i na základě vybraného hardware. Například čas naměřený během zpracování kriteria časové náročnosti samozřejmě velmi závisí zejména na výkonu procesoru, ale i na frekvenci a typu operační paměti. Pokud by výkon při provádění instrukcí byl ovlivněn pouze frekvencí a cache pamětí procesoru, nemusely by celkové výsledky být ovlivněny při zvolení jiného procesoru. Vyplývá to z normalizace naměřených časových hodnot. Otázkou ale je, jak mohou nové technologie (více jader, speciální mikroinstrukce, hyperthreading apod.) ovlivňovat výpočetní výkon při specificitě operací, které se u jednotlivých algoritmů bez pochyby liší. Hypoteticky by tak mohl vzniknout případ, kdy by jeden procesor prováděl výrazně rychleji implementaci algoritmu k-nn než jiný procesor, ale u SVM by oba měly stejný výkon. Vyvrácení nebo potvrzení takové hypotézy by ale bylo nutné ověřit experimentálně, na což v této práci nezbyl prostor. Stejně tak implementace paralelního zpracování může mít výrazný vliv. Některý software může využívat více jader či vláken, jiný ne. Naopak softwarová platforma by zde měla mít minimální vliv. Java (resp. JRE - Java Runtime Enviroment) i Python jsou multiplatformní. Dílčí výsledky ukázaly, že RapidMiner je nejvhodnější pro předzpracování dat, vizualizaci i import a export. U těchto výsledků je třeba brát v úvahu nezavedení vah při vyhodnocení. U kriteria časové náročnosti se ukázal jako nejlepší software Weka. Zde je ovšem třeba při interpretaci nezapomínat na další faktory, které tento výsledek mohou ovlivnit. V tomto případě je to jednak absence vah u jednotlivých algoritmů, ale i hardware a podpora paralelního zpracování. V prostorové náročnosti se jeví jako nejlepší software KNIME. U tohoto kriteria by mohlo výsledek ovlivnit zavedení vah. Vliv hardware je zde minimální a obsazená pamět závisí především na implementaci (ta se ale ve výsledcích projevila). Nastavení parametrů u implementací vybraných algoritmů mělo bez pochyby

138 8.1 Vymezení platnosti výsledků 138 také vliv na výsledky u časové a prostorové složitosti. Parametry, které byly společné u všech software, byly nastaveny na stejné hodnoty (pro konkrétní algoritmus). Některé parametry ale byly dostupné pouze u některého software. Aby nezkreslovaly výsledky, byly tyto parametry nastaveny bud na minimální hodnotu, nebo se experimentálně zjistila taková hodnota, při které bylo ovlivnění výsledků minimální. Optimální nastavení parametrů bylo jednou z nejzdlouhavějších procedur při tvorbě této práce.

139 9 ZÁVĚR Závěr Práce nabízí poměrně podrobné srovnání 4 softwarových produktů z hlediska vybraných kriterií. Při navrhování metodiky a zpracování výsledků byl kladen důraz především na objektivitu a propracovanost. Dosažené výsledky se však dají zobecnit pouze v omezené míře z důvodů popsaných v kapitole Diskuse. Jako nejúspěšnější software se v tomto testu jeví RapidMiner. Nebyl ale nejlepší z hlediska všech kriterií. Nejlepší časovou náročnost prokázal na daných datech program Weka. V prostorové náročnosti je potom nejlepší KNIME. Neznamená to ale, že software Orange (který skončil v tomto testu poslední) není vhodný pro dolování z dat. U některých algoritmů prokázal vynikající rychlost a jeho schopnosti vizualizace jsou také na velmi dobré úrovni. Daná metodika byla zvolena s ohledem na dostupnost zdrojů o strojovém učení, distribuci software, možnosti autora práce, omezený rozsah diplomové práce a dostupný hardware. Metodika nebyla nijak výrazně upravována během měření a vyhodnocování výsledků. Rozdíly mezi některými algoritmy strojového učení v náročnosti na čas a prostor byly enormní. Tyto rozdíly jsou dány třídou výpočetní složitosti podle notace velké O. Ze statistického hlediska nebylo sice naměřeno dostatečné množství hodnot, aby se daly podle tohoto měření jednotlivé implementace algoritmů zařadit do tříd časové složitosti, ale výsledky naznačují soulad s teoretickými východisky. Při interpretaci výsledků jednotlivých kriterií i celku bylo třeba uvážit závislost výsledků na zvolené metodice. Zejména z hlediska kriteria časové náročnosti je platnost výsledků omezena nezvolením vah u algoritmů, hardwarem a parametry dostupnými v software. U ostatních kriterií nebyly také zvoleny váhy. Toto rovnocenné zhodnocení bylo vybráno z důvodů objektivity a nedostatku zdrojů potřebných k určení jednotlivých vah. Aby byla zaručena maximální věrohodnost výsledků časové a prostorové náročnosti, bylo podniknuto náročné vybalancování parametrů u jednotlivých algoritmů. Nejčastější činnosti, které vedly ke zpracování této práce, byly analýza, měření, testování, návrh a provádění experimentů. Výběr kriterií i software probíhal v závislosti na povoleném rozsahu práce. Jako možné rozšíření tohoto srovnání by mohlo být provedeno vyhodnocení dalších kriterií (jako např. online podpora, dokumentace, fóra, tutoriály, uživatelská přívětivost GUI apod.) a také by se dal přidat další software (např. PSPP nebo R). Stejně tak by mohly být provedeny výzkumy, jejichž výstupy by určily váhy kriterií.

140 9 ZÁVĚR 140 Pro realizaci srovnání časové a prostorové náročnosti bylo provedeno 248 ostrých měření na různých algoritmech a datech. Několikanásobně více měření proběhlo pro ladění parametrů a testování funkčnosti.

141 10 REFERENCE Reference The Best Data Mining Tools You Can Use for Free in Your Company. Silicon Africa [online] [cit ]. Dostupné z: the-best-data-minning-tools-you-can-use-for-free-in-your-company/ Most Popular Data Mining Software. The Data Mine [online] [cit ]. Dostupné z: MostPopularDataMiningSoftware RapidMiner Studio. RapidMiner [online] [cit ]. Dostupné z: http: //rapidminer.com/products/rapidminer-studio/ Weka 3: Data Mining Software in Java. Weka The University of Waikato [online] [cit ]. Dostupné z: KNIME - Professional Open-Source Software [online] [cit ]. Dostupné z: Orange: Orange Biolab [online] [cit ]. Dostupné z: biolab.si/ Top 10 algorithms in data mining. Top 10 algorithms in data mining Dostupné z: Data Preprocessing Techniques for Data Mining. Data Mining Techniques and Tools for Knowledge Discovery in Agricultural Datasets [online] [cit ]. Dostupné z: Preprocessing.pdf ALPAYDIN, Ethem. Introduction to machine learning. 2. vyd. Cambridge: MIT Press, ISBN MITCHELL, Tom M. Machine learning. New York: NY [u.a.]: McGraw-Hill, ISBN PIATETSKY-SHAPIRO, Gregory. Discovery, analysis, and presentation of strong rules. Knowledge Discovery in Databases QUINLAN, Ross J. C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers, 1993.

142 10 REFERENCE 142 CORTES, CORINA, VAPNIK, Vladimir N. Support-Vector Networks, Machine Learning, k238jx04hm87j80g/ AGRAWAL, SRINKANT, Ramakrishnan. Fast algorithms for mining association rules in large databases. Proceedings of the 20th International Conference on Very Large Data Bases, VLDB, Santiago, Chile FREUND, SCHAPIRE, Robert E. A Decision-Theoretic Generalization of on-line Learning and an Application to Boosting ALTMAN, N. S. An introduction to kernel and nearest-neighbor nonparametric regression. The American Statistician 3, vyd., str LEE, K. Automatic speech recognition: The development of the Sphinx system. Boston: Kluwer Academic Publishers COOPER, G. An evaluation of machine-learning methods for predicting pneumonia mortality. Artificial Intelligence in Medicine POMERLEAU, D. A. ALVINN: An autonomous land vehicle in a neural network. (Technical Report CMU-CS ). Pittsburgh, PA: Carnegie Mellon University S. KOTSIANTIS, Supervised Machine Learning: A Review of Classification Techniques, Informatica Journal 31, str Dostupné z: 20Supervised%20Machine%20Learning%20-%20A%20Review%20of...pdf HINTON, Geoffrey; SEJNOWSKI, Terrence J. Unsupervised Learning: Foundations of Neural Computation, MIT Press, ISBN X. CHAPELLE, Olivier; SCHÖLKOPF, Bernhard; Zien, Alexander. Semi-supervised learning. Cambridge, Mass.: MIT Press, ISBN ROKACH, Lior; MAIMON, O. Data mining with decision trees: theory and applications. World Scientific Pub Co Inc., ISBN BISHOP, C.M. Neural Networks for Pattern Recognition, Oxford: Oxford University Press, ISBN

143 10 REFERENCE 143 BAILEY, Ken. Numerical Taxonomy and Cluster Analysis. Typologies and Taxonomies. The Book Depository US, ISBN MACQUEEN, J. B. Some Methods for classification and Analysis of Multivariate Observations. Proceedings of 5th Berkeley Symposium on Mathematical Statistics and Probability 1. University of California Press, DEMPSTER, A.P.; LAIRD, N.M.; RUBIN, D.B. (1977). Maximum Likelihood from Incomplete Data via the EM Algorithm. Journal of the Royal Statistical Society, Series B. Ross Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers, San Mateo, CA, George H. John, Pat Langley: Estimating Continuous Distributions in Bayesian Classifiers. In: Eleventh Conference on Uncertainty in Artificial Intelligence, San Mateo, , R. Agrawal, R. Srikant: Fast Algorithms for Mining Association Rules in Large Databases. In: 20th International Conference on Very Large Data Bases, , Bing Liu, Wynne Hsu, Yiming Ma: Integrating Classification and Association Rule Mining. In: Fourth International Conference on Knowledge Discovery and Data Mining, 80-86, J. Han, J.Pei, Y. Yin: Mining frequent patterns without candidate generation. In: Proceedings of the 2000 ACM-SIGMID International Conference on Management of Data, 1-12, D. Aha, D. Kibler. Instance-based learning algorithms. Machine Learning. 6:37-66, Yoav Freund, Robert E. Schapire: Experiments with a new boosting algorithm. In: Thirteenth International Conference on Machine Learning, San Francisco, , 1996.

144 11 PŘíLOHY Přílohy 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti V této příloze jsou vyobrazeny grafy vyjadřující naměřené hodnoty u kriterií časové a prostorové náročnosti. U každého algoritmu (rodiny algoritmů) jsou uvedeny sloupcové grafy s hodnotami náležejícímu danému software. Klasifikační stromy Obrázek 110: Časová náročnost klasifikačních stromů pro 100 příkladů.

145 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 145 Obrázek 111: Časová náročnost klasifikačních stromů pro příkladů. Obrázek 112: Časová náročnost klasifikačních stromů pro příkladů.

146 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 146 Obrázek 113: Časová náročnost klasifikačních stromů pro příkladů. Obrázek 114: Prostorová náročnost klasifikačních stromů pro 100 příkladů.

147 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 147 Obrázek 115: Prostorová náročnost klasifikačních stromů pro příkladů. Obrázek 116: Prostorová náročnost klasifikačních stromů pro příkladů.

148 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 148 Obrázek 117: Prostorová náročnost klasifikačních stromů pro příkladů.

149 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 149 Naivní bayesovský klasifikátor Obrázek 118: Časová náročnost naivního bayesovského klasifikátoru pro 100 příkladů. Obrázek 119: Časová náročnost naivního bayesovského klasifikátoru pro příkladů.

150 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 150 Obrázek 120: Časová náročnost naivního bayesovského klasifikátoru pro příkladů. Obrázek 121: Časová náročnost naivního bayesovského klasifikátoru pro příkladů.

151 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 151 Obrázek 122: Prostorová náročnost naivního bayesovského klasifikátoru pro 100 příkladů. Obrázek 123: Prostorová náročnost naivního bayesovského klasifikátoru pro příkladů.

152 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 152 Obrázek 124: Prostorová náročnost naivního bayesovského klasifikátoru pro příkladů. Obrázek 125: Prostorová náročnost naivního bayesovského klasifikátoru pro příkladů.

153 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 153 k-means shlukování Obrázek 126: Časová náročnost k-means pro 100 příkladů. Obrázek 127: Časová náročnost k-means pro příkladů.

154 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 154 Obrázek 128: Časová náročnost k-means pro příkladů. Obrázek 129: Časová náročnost k-means pro příkladů.

155 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 155 Obrázek 130: Prostorová náročnost k-means pro 100 příkladů. Obrázek 131: Prostorová náročnost k-means pro příkladů.

156 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 156 Obrázek 132: Prostorová náročnost k-means pro příkladů. Obrázek 133: Prostorová náročnost k-means pro příkladů.

157 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 157 Asociační pravidla (Apriori, FP-Growth) Obrázek 134: Časová náročnost asociačních pravidel pro 100 příkladů. Obrázek 135: Časová náročnost asociačních pravidel pro příkladů.

158 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 158 Obrázek 136: Časová náročnost asociačních pravidel pro příkladů. Obrázek 137: Časová náročnost asociačních pravidel pro příkladů.

159 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 159 Obrázek 138: Prostorová náročnost asociačních pravidel pro 100 příkladů. Obrázek 139: Prostorová náročnost asociačních pravidel pro příkladů.

160 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 160 Obrázek 140: Prostorová náročnost asociačních pravidel pro příkladů. Obrázek 141: Prostorová náročnost asociačních pravidel pro příkladů.

161 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 161 k-nn Obrázek 142: Časová náročnost pro datový soubor se 100 příklady Obrázek 143: Časová náročnost pro datový soubor se 1000 příklady

162 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 162 Obrázek 144: Časová náročnost pro datový soubor se příklady Obrázek 145: Časová náročnost pro datový soubor se příklady

163 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 163 Obrázek 146: Prostorová náročnost k-nn pro 100 příkladů. Obrázek 147: Prostorová náročnost k-nn pro příkladů.

164 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 164 Obrázek 148: Prostorová náročnost k-nn pro příkladů. Obrázek 149: Prostorová náročnost k-nn pro příkladů.

165 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 165 SVM Obrázek 150: Časová náročnost SVM pro 100 příkladů. Obrázek 151: Časová náročnost SVM pro příkladů.

166 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 166 Obrázek 152: Časová náročnost SVM pro příkladů. Obrázek 153: Časová náročnost SVM pro příkladů.

167 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 167 Obrázek 154: Prostorová náročnost SVM pro 100 příkladů. Obrázek 155: Prostorová náročnost SVM pro příkladů.

168 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 168 Obrázek 156: Prostorová náročnost SVM pro příkladů. Obrázek 157: Prostorová náročnost SVM pro příkladů.

169 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 169 AdaBoost Obrázek 158: Časová náročnost AdaBoostu pro 100 příkladů. Obrázek 159: Časová náročnost AdaBoostu pro příkladů.

170 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 170 Obrázek 160: Časová náročnost AdaBoostu pro příkladů. Obrázek 161: Časová náročnost AdaBoostu pro příkladů.

171 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 171 Obrázek 162: Prostorová náročnost AdaBoostu pro 100 příkladů. Obrázek 163: Prostorová náročnost AdaBoostu pro příkladů.

172 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 172 Obrázek 164: Prostorová náročnost AdaBoostu pro příkladů. Obrázek 165: Prostorová náročnost AdaBoostu pro příkladů.

173 11.1 Příloha A Grafy vyhodnocení časové a prostorové složitosti 173 EM (expectation-maximization) Obrázek 166: Časová náročnost EM pro 100 příkladů. Obrázek 167: Časová náročnost EM pro příkladů.

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

Moderní systémy pro získávání znalostí z informací a dat Moderní systémy pro získávání znalostí z informací a dat Jan Žižka IBA Institut biostatistiky a analýz PřF & LF, Masarykova universita Kamenice 126/3, 625 00 Brno Email: zizka@iba.muni.cz Bioinformatika:

Více

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů) Autor: Vladimir Vapnik Vapnik, V. The Nature of Statistical Learning Theory.

Více

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

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ Metodický list č. 1 Dobývání znalostí z databází Cílem tohoto tematického celku je vysvětlení základních pojmů z oblasti dobývání znalostí z databází i východisek dobývání znalostí z databází inspirovaných

Více

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

ZÍSKÁVÁNÍ ZNALOSTÍ Z DATABÁZÍ metodický list č. 1 Dobývání znalostí z databází Cílem tohoto tematického celku je vysvětlení základních pojmů z oblasti dobývání znalostí z databází i východisek dobývání znalostí z databází inspirovaných

Více

Dolování asociačních pravidel

Dolování asociačních pravidel Dolování asociačních pravidel Miloš Trávníček UIFS FIT VUT v Brně Obsah přednášky 1. Proces získávání znalostí 2. Asociační pravidla 3. Dolování asociačních pravidel 4. Algoritmy pro dolování asociačních

Více

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

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1 DOLOVÁNÍ V DATECH (DATA MINING) OBJEVUJE SE JIŽ OD 60. LET 20. ST. S ROZVOJEM POČÍTAČOVÉ TECHNIKY DEFINICE PROCES VÝBĚRU, PROHLEDÁVÁNÍ A MODELOVÁNÍ

Více

Využití metod strojového učení v bioinformatice David Hoksza

Využití metod strojového učení v bioinformatice David Hoksza Využití metod strojového učení v bioinformatice David Hoksza SIRET Research Group Katedra softwarového inženýrství, Matematicko-fyzikální fakulta Karlova Univerzita v Praze Bioinformatika Biologické inspirace

Více

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

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence APLIKACE UMĚLÉ INTELIGENCE Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence Aplikace umělé inteligence - seminář ING. PETR HÁJEK, PH.D. ÚSTAV SYSTÉMOVÉHO INŽENÝRSTVÍ A INFORMATIKY

Více

Strojové učení Marta Vomlelová

Strojové učení Marta Vomlelová Strojové učení Marta Vomlelová marta@ktiml.mff.cuni.cz KTIML, S303 Literatura 1.T. Hastie, R. Tishirani, and J. Friedman. The Elements of Statistical Learning, Data Mining, Inference and Prediction. Springer

Více

5. Umělé neuronové sítě. Neuronové sítě

5. Umělé neuronové sítě. Neuronové sítě Neuronové sítě Přesný algoritmus práce přírodních neuronových systémů není doposud znám. Přesto experimentální výsledky na modelech těchto systémů dávají dnes velmi slibné výsledky. Tyto systémy, včetně

Více

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

Úvodem Dříve les než stromy 3 Operace s maticemi Obsah 1 Úvodem 13 2 Dříve les než stromy 17 2.1 Nejednoznačnost terminologie 17 2.2 Volba metody analýzy dat 23 2.3 Přehled vybraných vícerozměrných metod 25 2.3.1 Metoda hlavních komponent 26 2.3.2 Faktorová

Více

ANALÝZA A KLASIFIKACE DAT

ANALÝZA A KLASIFIKACE DAT ANALÝZA A KLASIFIKACE DAT prof. Ing. Jiří Holčík, CSc. INVESTICE Institut DO biostatistiky ROZVOJE VZDĚLÁVÁNÍ a analýz LITERATURA Holčík, J.: přednáškové prezentace Holčík, J.: Analýza a klasifikace signálů.

Více

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

Získávání dat z databází 1 DMINA 2010 Získávání dat z databází 1 DMINA 2010 Získávání dat z databází Motto Kde je moudrost? Ztracena ve znalostech. Kde jsou znalosti? Ztraceny v informacích. Kde jsou informace? Ztraceny v datech. Kde jsou

Více

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

Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group Vytěžování dat Miroslav Čepek, Filip Železný Katedra kybernetiky laboratoř Inteligentní Datové Analýzy (IDA) Katedra počítačů, Computational Intelligence Group Evropský sociální fond Praha & EU: Investujeme

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

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

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze Dobývání znalostí Pravděpodobnost a učení Doc. RNDr. Iveta Mrázová,

Více

Pokročilé operace s obrazem

Pokročilé operace s obrazem Získávání a analýza obrazové informace Pokročilé operace s obrazem Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno prezentace je součástí projektu FRVŠ č.2487/2011 (BFÚ LF MU) Získávání

Více

Datová věda (Data Science) akademický navazující magisterský program

Datová věda (Data Science) akademický navazující magisterský program Datová věda () akademický navazující magisterský program Reaguje na potřebu, kterou vyvolala rychle rostoucí produkce komplexních, obvykle rozsáhlých dat ve vědě, v průmyslu a obecně v hospodářských činnostech.

Více

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

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění Jan Klíma Obsah Motivace & cíle práce Evoluční algoritmy Náhradní modelování Stromové regresní metody Implementace a výsledky

Více

Datová kvalita. RNDr. Ondřej Zýka

Datová kvalita. RNDr. Ondřej Zýka Datová kvalita RNDr. Ondřej Zýka 1 Datová kvalita Jedna z kompetencí Data managementu Cíl: Zajistit uživatelům data v kvalitě potřebné k jejich činnosti Kvalita dat: Subjektivní pojem závislý na požadavcích

Více

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Obsah přednášky Jaká asi bude chyba modelu na nových datech? Obsah přednášky Jaká asi bude chyba modelu na nových datech? Chyba modelu Bootstrap Cross Validation Vapnik-Chervonenkisova dimenze 2 Chyba skutečná a trénovací Máme 30 záznamů, rozhodli jsme se na jejich

Více

Získávání znalostí z dat

Získávání znalostí z dat Získávání znalostí z dat Informační a komunikační technologie ve zdravotnictví Získávání znalostí z dat Definice: proces netriviálního získávání implicitní, dříve neznámé a potencionálně užitečné informace

Více

Instance based learning

Instance based learning Učení založené na instancích Instance based learning Charakteristika IBL (nejbližších sousedů) Tyto metody nepředpokládají určitý model nejsou strukturované a typicky nejsou příliš užitečné pro porozumění

Více

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA

5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA 5.15 INFORMATIKA A VÝPOČETNÍ TECHNIKA 5. 15. 1 Charakteristika předmětu A. Obsahové vymezení: IVT se na naší škole vyučuje od tercie, kdy je cílem zvládnutí základů hardwaru, softwaru a operačního systému,

Více

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

Asociační i jiná. Pravidla. (Ch ) Asociační i jiná Pravidla (Ch. 14 +...) Učení bez učitele Nemáme cílovou třídu Y, G; máme N pozorování což jsou p-dimenzionální vektory se sdruženou pravděpodobností chceme odvozovat vlastnosti. Pro málo

Více

Přednáška 13 Redukce dimenzionality

Přednáška 13 Redukce dimenzionality Vytěžování Dat Přednáška 13 Redukce dimenzionality Miroslav Čepek Fakulta Elektrotechnická, ČVUT Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti ČVUT (FEL) Redukce dimenzionality 1 /

Více

Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně

Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně Aplikace UNS v biomedicíně aplikace v medicíně postup při zpracování úloh Aplikace UNS v medicíně Důvod: nalezení exaktnějších, levnějších a snadnějších metod určování diagnóz pro lékaře nalezení šetrnějších

Více

GRR. získávání znalostí v geografických datech Autoři. Knowledge Discovery Group Faculty of Informatics Masaryk Univerzity Brno, Czech Republic

GRR. získávání znalostí v geografických datech Autoři. Knowledge Discovery Group Faculty of Informatics Masaryk Univerzity Brno, Czech Republic GRR získávání znalostí v geografických datech Autoři Knowledge Discovery Group Faculty of Informatics Masaryk Univerzity Brno, Czech Republic GRR cílet 2 GRR - Popis systému - cíle systém pro dolování

Více

Usuzování za neurčitosti

Usuzování za neurčitosti Usuzování za neurčitosti 25.11.2014 8-1 Usuzování za neurčitosti Hypotetické usuzování a zpětná indukce Míry postačitelnosti a nezbytnosti Kombinace důkazů Šíření pravděpodobnosti v inferenčních sítích

Více

Pokročilé neparametrické metody. Klára Kubošová

Pokročilé neparametrické metody. Klára Kubošová Pokročilé neparametrické metody Klára Kubošová Pokročilé neparametrické metody Výuka 13 přednášek doplněných o praktické cvičení v SW Úvod do neparametrických metod + princip rozhodovacích stromů Klasifikační

Více

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

UČENÍ BEZ UČITELE. Václav Hlaváč UČENÍ BEZ UČITELE Václav Hlaváč Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz, http://cmp.felk.cvut.cz/~hlavac 1/22 OBSAH PŘEDNÁŠKY ÚVOD Učení

Více

Lineární klasifikátory

Lineární klasifikátory Lineární klasifikátory Lineární klasifikátory obsah: perceptronový algoritmus základní verze varianta perceptronového algoritmu přihrádkový algoritmus podpůrné vektorové stroje Lineární klasifikátor navrhnout

Více

Datová kvalita. RNDr. Ondřej Zýka

Datová kvalita. RNDr. Ondřej Zýka Datová kvalita RNDr. Ondřej Zýka 1 Datová kvalita Jedna z kompetencí Data managementu Cíl: Zajistit uživatelům data v kvalitě potřebné k jejich činnosti Kvalita dat: Subjektivní pojem závislý na požadavcích

Více

xrays optimalizační nástroj

xrays optimalizační nástroj xrays optimalizační nástroj Optimalizační nástroj xoptimizer je součástí webového spedičního systému a využívá mnoho z jeho stavebních bloků. xoptimizer lze nicméně provozovat i samostatně. Cílem tohoto

Více

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

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

Více

Kybernetika a umělá inteligence, cvičení 10/11

Kybernetika a umělá inteligence, cvičení 10/11 Kybernetika a umělá inteligence, cvičení 10/11 Program 1. seminární cvičení: základní typy klasifikátorů a jejich princip 2. počítačové cvičení: procvičení na problému rozpoznávání číslic... body za aktivitu

Více

Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner

Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner Vysoká škola ekonomická v Praze Analýza dat pomocí systému Weka, Rapid miner a Enterprise miner Dobývání znalostí z databází 4IZ450 XXXXXXXXXXX Přidělená data a jejich popis Data určená pro zpracování

Více

Katedra kybernetiky, FEL, ČVUT v Praze.

Katedra kybernetiky, FEL, ČVUT v Praze. Strojové učení a dolování dat přehled Jiří Kléma Katedra kybernetiky, FEL, ČVUT v Praze http://ida.felk.cvut.cz posnova přednášek Přednáška Učitel Obsah 1. J. Kléma Úvod do předmětu, učení s a bez učitele.

Více

Příprava dat v softwaru Statistica

Příprava dat v softwaru Statistica Příprava dat v softwaru Statistica Software Statistica obsahuje pokročilé nástroje pro přípravu dat a tvorbu nových proměnných. Tyto funkcionality přinášejí značnou úsporu času při přípravě datového souboru,

Více

Big Data a oficiální statistika. Unicorn College Open 24. dubna 2015 Doc. Ing. Marie Bohatá, CSc.

Big Data a oficiální statistika. Unicorn College Open 24. dubna 2015 Doc. Ing. Marie Bohatá, CSc. Big Data a oficiální statistika Unicorn College Open 24. dubna 2015 Doc. Ing. Marie Bohatá, CSc. Obsah příspěvku Charakteristiky Big Data Výzvy a úskalí z perspektivy statistiky Výzvy z perspektivy computing

Více

METODOLOGIE I - METODOLOGIE KVANTITATIVNÍHO VÝZKUMU

METODOLOGIE I - METODOLOGIE KVANTITATIVNÍHO VÝZKUMU METODOLOGIE I - METODOLOGIE KVANTITATIVNÍHO VÝZKUMU vyučující doc. RNDr. Jiří Zháněl, Dr. M I 4 Metodologie I 7. ANALÝZA DAT (KVANTITATIVNÍ VÝZKUM) (MATEMATICKÁ) STATISTIKA DESKRIPTIVNÍ (popisná) ANALYTICKÁ

Více

Neuronové časové řady (ANN-TS)

Neuronové časové řady (ANN-TS) Neuronové časové řady (ANN-TS) Menu: QCExpert Prediktivní metody Neuronové časové řady Tento modul (Artificial Neural Network Time Series ANN-TS) využívá modelovacího potenciálu neuronové sítě k predikci

Více

Dolování z textu. Martin Vítek

Dolování z textu. Martin Vítek Dolování z textu Martin Vítek Proč dolovat z textu Obrovské množství materiálu v nestrukturované textové podobě knihy časopisy vědeckéčlánky sborníky konferencí internetové diskuse Proč dolovat z textu

Více

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

1 Úvod 1.1 Vlastnosti programového vybavení (SW) 1 Úvod 1.1 Vlastnosti programového vybavení (SW) - dávkové zpracování - omezená distribuce - zakázkový SW - distribuované systémy - vestavěná inteligence - laciný HW - vliv zákazníka 1950 1960 1970 1980

Více

OSA. maximalizace minimalizace 1/22

OSA. maximalizace minimalizace 1/22 OSA Systémová analýza metodika používaná k navrhování a racionalizaci systémů v podmínkách neurčitosti vyšší stupeň operační analýzy Operační analýza (výzkum) soubor metod umožňující řešit rozhodovací,

Více

DATA MINING KLASIFIKACE DMINA LS 2009/2010

DATA MINING KLASIFIKACE DMINA LS 2009/2010 DATA MINING KLASIFIKACE DMINA LS 2009/2010 Osnova co je to klasifikace typy klasifikátoru typy výstupu jednoduchý klasifikátor (1R) rozhodovací stromy Klasifikace (ohodnocení) zařazuje data do předdefinovaných

Více

StatSoft Úvod do neuronových sítí

StatSoft Úvod do neuronových sítí StatSoft Úvod do neuronových sítí Vzhledem k vzrůstající popularitě neuronových sítí jsme se rozhodli Vám je v tomto článku představit a říci si něco o jejich využití. Co si tedy představit pod pojmem

Více

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat Zkouška ISR 2013 přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat 1. Rozdílné principy u induktivního a deduktivního

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Úloha - rozpoznávání číslic

Úloha - rozpoznávání číslic Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání

Více

Databázové patterny. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu

Databázové patterny. MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu Databázové patterny MI-DSP 2013/14 RNDr. Ondřej Zýka, ondrej.zyka@profinit.eu Obsah o Co je databázový pattern o Pattern: Přiřazení rolí o Pattern: Klasifikace Databázové patterny o Odzkoušené a doporučené

Více

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem

3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem ČVUT FEL X36PAA - Problémy a algoritmy 3. úloha - problém batohu metodami branch & bound, dynamické programování, heuristika s testem Jméno: Marek Handl Datum: 1. 1. 2009 Cvičení: Pondělí 9:00 Zadání Naprogramujte

Více

Učící se klasifikátory obrazu v průmyslu

Učící se klasifikátory obrazu v průmyslu Učící se klasifikátory obrazu v průmyslu FCC průmyslové systémy s.r.o. FCC průmyslové systémy je technicko obchodní společností, působící v oblasti průmyslové automatizace. Tvoří ji dvě základní divize:

Více

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

Obsah Úvod Kapitola 1 Než začneme Kapitola 2 Práce s hromadnými daty před analýzou Úvod.................................................................. 11 Kapitola 1 Než začneme.................................................................. 17 1.1 Logika kvantitativního výzkumu...........................................

Více

Automatické vyhledávání informace a znalosti v elektronických textových datech

Automatické vyhledávání informace a znalosti v elektronických textových datech Automatické vyhledávání informace a znalosti v elektronických textových datech Jan Žižka Ústav informatiky & SoNet RC PEF, Mendelova universita Brno (Text Mining) Data, informace, znalost Elektronická

Více

Státnice odborné č. 20

Státnice odborné č. 20 Státnice odborné č. 20 Shlukování dat Shlukování dat. Metoda k-středů, hierarchické (aglomerativní) shlukování, Kohonenova mapa SOM Shlukování dat Shluková analýza je snaha o seskupení objektů do skupin

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

IQ - SixSigma. IQ SixSigma Software pro analýzu a sledování procesů

IQ - SixSigma. IQ SixSigma Software pro analýzu a sledování procesů IQ - SixSigma IQ SixSigma Popis: IQ-SixSigma je software vyvinutý pro analýzu a sledování procesů. Slouží ke statistickému řízení procesů (SPC Statistical Process Control). Může se jednat o technologické,

Více

Vytěžování znalostí z dat

Vytěžování znalostí z dat Pavel Kordík, Josef Borkovec (ČVUT FIT) Vytěžování znalostí z dat BI-VZD, 2012, Přednáška 8 1/26 Vytěžování znalostí z dat Pavel Kordík, Josef Borkovec Department of Computer Systems Faculty of Information

Více

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017

1. Znalostní systémy a znalostní inženýrství - úvod. Znalostní systémy. úvodní úvahy a předpoklady. 26. září 2017 Znalostní systémy úvodní úvahy a předpoklady 26. září 2017 1-1 Znalostní systém Definice ZS (Feigenbaum): Znalostní (původně expertní) systémy jsou počítačové programy simulující rozhodovací činnost experta

Více

Využití strojového učení k identifikaci protein-ligand aktivních míst

Využití strojového učení k identifikaci protein-ligand aktivních míst Využití strojového učení k identifikaci protein-ligand aktivních míst David Hoksza, Radoslav Krivák SIRET Research Group Katedra softwarového inženýrství, Matematicko-fyzikální fakulta Karlova Univerzita

Více

Infor Performance management. Jakub Urbášek

Infor Performance management. Jakub Urbášek Infor Performance management Jakub Urbášek Agenda prezentace Stručně o produktu Infor PM 10 Komponenty Infor PM - PM OLAP a PM Office Plus Reporting Analýza Plánování / operativní plánování Infor Performance

Více

Profilování vzorků heroinu s využitím vícerozměrné statistické analýzy

Profilování vzorků heroinu s využitím vícerozměrné statistické analýzy Profilování vzorků heroinu s využitím vícerozměrné statistické analýzy Autor práce : RNDr. Ivo Beroun,CSc. Vedoucí práce: prof. RNDr. Milan Meloun, DrSc. PROFILOVÁNÍ Profilování = klasifikace a rozlišování

Více

PRODUKTY Tovek Server 6

PRODUKTY Tovek Server 6 Tovek Server je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených strukturovaných i nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně

Více

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

Informační systémy 2006/2007

Informační systémy 2006/2007 13 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení Informační systémy 2006/2007 Ivan Kedroň 1 Obsah Analytické nástroje SQL serveru. OLAP analýza

Více

Základní informace: vysoce komfortnímu prostředí je možné se systémem CP Recorder efektivně pracovat prakticky okamžitě po krátké zaškolení.

Základní informace: vysoce komfortnímu prostředí je možné se systémem CP Recorder efektivně pracovat prakticky okamžitě po krátké zaškolení. Základní informace: CP Recorder je v Čechách vyvíjený systém pro sofistikované zaznamenávání telefonních hovorů. V prvé řadě je určen pro optimalizaci služeb, které poskytují u nás stále více populární

Více

Jasové transformace. Karel Horák. Rozvrh přednášky:

Jasové transformace. Karel Horák. Rozvrh přednášky: 1 / 23 Jasové transformace Karel Horák Rozvrh přednášky: 1. Úvod. 2. Histogram obrazu. 3. Globální jasová transformace. 4. Lokální jasová transformace. 5. Bodová jasová transformace. 2 / 23 Jasové transformace

Více

Základy business intelligence. Jaroslav Šmarda

Základy business intelligence. Jaroslav Šmarda Základy business intelligence Jaroslav Šmarda Základy business intelligence Business intelligence Datový sklad On-line Analytical Processing (OLAP) Kontingenční tabulky v MS Excelu jako příklad OLAP Dolování

Více

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

DOBÝVÁNÍ ZNALOSTÍ Z DATABÁZÍ DOBÝVÁNÍ ZNALOSTÍ Z DATABÁZÍ Úvod a oblasti aplikací Martin Plchút plchut@e-globals.net DEFINICE A POJMY Netriviální extrakce implicitních, ch, dříve d neznámých a potenciáln lně užitečných informací z

Více

analýzy dat v oboru Matematická biologie

analýzy dat v oboru Matematická biologie INSTITUT BIOSTATISTIKY A ANALÝZ Lékařská a Přírodovědecká fakulta, Masarykova univerzita Komplexní přístup k výuce analýzy dat v oboru Matematická biologie Tomáš Pavlík, Daniel Schwarz, Jiří Jarkovský,

Více

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009

Více

Algoritmy pro shlukování prostorových dat

Algoritmy pro shlukování prostorových dat Algoritmy pro shlukování prostorových dat Marta Žambochová Katedra matematiky a informatiky Fakulta sociálně ekonomická Univerzita J. E. Purkyně v Ústí nad Labem ROBUST 21. 26. leden 2018 Rybník - Hostouň

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Úvod 9 Obsah Úvod 9 Kapitola 1 Business Intelligence, datové sklady 11 Přechod od transakčních databází k analytickým..................... 13 Kvalita údajů pro analýzy................................................

Více

Otázky ke státní závěrečné zkoušce

Otázky ke státní závěrečné zkoušce Otázky ke státní závěrečné zkoušce obor Ekonometrie a operační výzkum a) Diskrétní modely, Simulace, Nelineární programování. b) Teorie rozhodování, Teorie her. c) Ekonometrie. Otázka č. 1 a) Úlohy konvexního

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

Trénování sítě pomocí učení s učitelem

Trénování sítě pomocí učení s učitelem Trénování sítě pomocí učení s učitelem! předpokládá se, že máme k dispozici trénovací množinu, tj. množinu P dvojic [vstup x p, požadovaný výstup u p ]! chceme nastavit váhy a prahy sítě tak, aby výstup

Více

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1 Logistická regrese Menu: QCExpert Regrese Logistická Modul Logistická regrese umožňuje analýzu dat, kdy odezva je binární, nebo frekvenční veličina vyjádřená hodnotami 0 nebo 1, případně poměry v intervalu

Více

Algoritmy a struktury neuropočítačů ASN - P11

Algoritmy a struktury neuropočítačů ASN - P11 Aplikace UNS při rozpoznání obrazů Základní úloha segmentace obrazu rozdělení obrazu do několika významných oblastí klasifikační úloha, clusterová analýza target Metody Kohonenova metoda KSOM Kohonenova

Více

odlehlých hodnot pomocí algoritmu k-means

odlehlých hodnot pomocí algoritmu k-means Chybějící a odlehlé hodnoty; odstranění odlehlých hodnot pomocí algoritmu k-means Návod ke druhému cvičení Matěj Holec, holecmat@fel.cvut.cz ZS 2011/2012 Úvod Cílem cvičení je připomenout důležitost předzpracování

Více

Fakulta informačních technologií VUT Brno. Předmět: Srovnání klasifikátorů Autor : Jakub Mahdal Login: xmahda03 Datum:

Fakulta informačních technologií VUT Brno. Předmět: Srovnání klasifikátorů Autor : Jakub Mahdal Login: xmahda03 Datum: Fakulta informačních technologií VUT Brno Předmět: Projekt: SRE Srovnání klasifikátorů Autor : Jakub Mahdal Login: xmahda03 Datum: 9.12.2006 Zadání Vyberte si jakékoliv 2 klasifikátory, např. GMM vs. neuronová

Více

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Automatická detekce anomálií při geofyzikálním průzkumu Lenka Kosková Třísková NTI TUL Doktorandský seminář, 8. 6. 2011 Cíle doktorandské práce Seminář 10. 11. 2010 Najít, implementovat, ověřit a do praxe

Více

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

Získávání znalostí z databází. Alois Kužela Získávání znalostí z databází Alois Kužela Obsah související pojmy datové sklady, získávání znalostí asocianí pravidla 2/37 Úvod získávání znalostí z dat, dolování (z) dat, data mining proces netriviálního

Více

Dobývání a vizualizace znalostí. Olga Štěpánková et al.

Dobývání a vizualizace znalostí. Olga Štěpánková et al. Dobývání a vizualizace znalostí Olga Štěpánková et al. 1 Osnova předmětu Dobývání znalostí - popis a metodika procesu CRISP a objasnění základních pojmů Nástroje pro modelování klasifikovaných dat a jejich

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

Více

Genetické programování

Genetické programování Genetické programování Vyvinuto v USA v 90. letech J. Kozou Typické problémy: Predikce, klasifikace, aproximace, tvorba programů Vlastnosti Soupeří s neuronovými sítěmi apod. Potřebuje značně velké populace

Více

IBM SPSS Decision Trees

IBM SPSS Decision Trees IBM Software IBM SPSS Decision Trees Jednoduše identifikujte skupiny a predikujte Stromově uspořádané postupné štěpení dat na homogenní podmnožiny je technika vhodná pro exploraci vztahů i pro tvorbu rozhodovacích

Více

1. Statistická analýza dat Jak vznikají informace Rozložení dat

1. Statistická analýza dat Jak vznikají informace Rozložení dat 1. Statistická analýza dat Jak vznikají informace Rozložení dat J. Jarkovský, L. Dušek, S. Littnerová, J. Kalina Význam statistické analýzy dat Sběr a vyhodnocování dat je způsobem k uchopení a pochopení

Více

10. Předpovídání - aplikace regresní úlohy

10. Předpovídání - aplikace regresní úlohy 10. Předpovídání - aplikace regresní úlohy Regresní úloha (analýza) je označení pro statistickou metodu, pomocí nichž odhadujeme hodnotu náhodné veličiny (tzv. závislé proměnné, cílové proměnné, regresandu

Více

Obsah. Předmluva 13. O autorovi 15. Poděkování 16. O odborných korektorech 17. Úvod 19

Obsah. Předmluva 13. O autorovi 15. Poděkování 16. O odborných korektorech 17. Úvod 19 Předmluva 13 O autorovi 15 Poděkování 16 O odborných korektorech 17 Úvod 19 Co kniha popisuje 19 Co budete potřebovat 20 Komu je kniha určena 20 Styly 21 Zpětná vazba od čtenářů 22 Errata 22 KAPITOLA 1

Více

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15 Úvodní poznámky... 11 1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15 1.1 Základní pojmy... 15 1.2 Aplikační oblasti a etapy zpracování signálů... 17 1.3 Klasifikace diskretních

Více

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu

ČVUT FEL X36PAA - Problémy a algoritmy. 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu ČVUT FEL X36PAA - Problémy a algoritmy 4. úloha - Experimentální hodnocení algoritmů pro řešení problému batohu Jméno: Marek Handl Datum: 3. 2. 29 Cvičení: Pondělí 9: Zadání Prozkoumejte citlivost metod

Více

MANAŽERSKÉ ROZHODOVÁNÍ. Zpracoval Ing. Jan Weiser

MANAŽERSKÉ ROZHODOVÁNÍ. Zpracoval Ing. Jan Weiser MANAŽERSKÉ ROZHODOVÁNÍ Zpracoval Ing. Jan Weiser Obsah výkladu Rozhodovací procesy a problémy Dvě stránky rozhodování Klasifikace rozhodovacích procesů Modely rozhodování Nástroje pro podporu rozhodování

Více

Business Intelligence

Business Intelligence Business Intelligence Skorkovský KAMI, ESF MU Principy BI zpracování velkých objemů dat tak, aby výsledek této akce manažerům pomohl k rozhodování při řízení procesů výsledkem zpracování musí být relevantní

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Miroslav Čepek. Fakulta Elektrotechnická, ČVUT. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Miroslav Čepek. Fakulta Elektrotechnická, ČVUT. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Vytěžování Dat Přednáška 12 Kombinování modelů Miroslav Čepek Pavel Kordík a Jan Černý (FIT) Fakulta Elektrotechnická, ČVUT Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti ČVUT (FEL)

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází 1 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Požadavky kreditového systému. Relační datový model, relace, atributy,

Více

Profitabilita klienta v kontextu Performance management

Profitabilita klienta v kontextu Performance management IBM Technical specialist team Pre Sale 26/10/2010 Profitabilita klienta v kontextu Performance management Co všechno řadíme do PM? Automatická data Běžný reporting Pokročilé statistické modely Včera What

Více

PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ

PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ PARAMETRICKÁ STUDIE VÝPOČTU KOMBINACE JEDNOKOMPONENTNÍCH ÚČINKŮ ZATÍŽENÍ Ing. David KUDLÁČEK, Katedra stavební mechaniky, Fakulta stavební, VŠB TUO, Ludvíka Podéště 1875, 708 33 Ostrava Poruba, tel.: 59

Více