2. diel - Základné pojmy Data Miningu
V minulej lekcii, Data Mining - Úvod do problematiky , sme sa všeobecne zoznámili s problematikou Data Miningu.
V tomto tutoriále Data Miningu si vysvetlíme základné pojmy, ktoré pri práci s dátami používame, popr. spoznáme ďalšie pojmy, s ktorými sa počas ďalších lekcií stretneme. Dozvieme sa, čo sú to metadáta, povieme si o relačných a objektových databázach, vysvetlíme si pojem OLAP a popíšeme si rozdiel medzi dátovým skladom (data warehouse) a dátovým jazerom (data lake):
Dáta
Pojem dáta býva často zamieňaný s pojmom informácie. Je tu ale rozdiel. Zatiaľ čo dáta sú jednoduchým záznamom hodnôt, informácie sa z nich stávajú až po ich výklade v kontexte s využitím znalostí. Dáta, s ktorými sa operuje v programovacích jazykoch, majú priradený dátový typ. Ten určuje, ako sa dáta kódujú a ako sa majú chápať. Prevod dát medzi rôznymi kódmi a formátmi nazývame konverziou dát. Bližšie rozlišujeme dátové typy, ktoré však nie sú predmetom tejto lekcie.
Metadáta
Pojmom metadáta sa používa na označenie doplňujúcich dát, ktoré slúžia na vyhľadanie alebo spracovanie popisovaných dát. Príkladom metadát môže byť prípona alebo hlavička súboru.
Databáza
Databáza je nástroj na uchovávanie veľkého množstva dát. Softvér pre prácu s databázou, ktorý tvorí rozhranie medzi aplikačnými programami a uloženými dátami, nazývame databázový systém, resp. systém riadenia bázy dát (Database Management System, DBMS). Bežne sa označením "databáza" dnes myslí ako uložené dáta, tak aj softvér (Microsoft Access, MySQL, SQLite, PostgreSQL, Microsoft SQL Server, Oracle, Firebird).
Typy databáz
Rozlišujeme rôzne typy databáz. Predtým boli používané ploché, sieťové a hierarchické databázy. Pre pochopenie odlišnosti od dnes rozšírených relačných databáz si ich stručne popíšeme:
- plochá (flat) databáza je základným typom databázy, ktorá uchováva dáta ako obyčajnú sadu záznamov bez väzieb na iné,
- hierarchická databáza dovoľuje definovať k jednotlivým tabuľkám rodičovskej tabuľky; každý záznam v tabuľke musí obsahovať odkaz na jeden zo záznamov z nadradenej tabuľky,
- sieťová databáza je od hierarchickej databázy rozšírená o možnosť mať viac rodičovských tabuliek.
Relačná databáza stavia dátové tabuľky na rovnakú úroveň. Tvorí ju ľubovoľný počet tabuliek, ktoré slúžia na ukladanie dát - riadkov (rows). Riadky musia byť vo formáte, ktorý je definovaný stĺpcami (columns). Unikátnymi identifikátormi riadkov sú tzv. primárne kľúče. Niektorým tabuľkám priraďujeme takzvané cudzie kľúče (foreign keys), ktoré definujú odkaz na primárny kľúč z inej (možno aj rovnakej) tabuľky. Pridaním stĺpca označeného ako cudzí kľúč definujeme, že každý riadok tabuľky sa odkazuje na iný riadok inej tabuľky. O štruktúre tabuliek a relácií hovoríme ako o dátovom modeli (Entity Relationship Diagram, ERD). Rozlišujeme tri typy relácií (1:1, 1:N, M:N).
Objektovej databázy
S nástupom objektovo orientovaného programovania sa objavila myšlienka ukladať dáta v databáze vo forme objektov (napr. obrázku). Techniky, ktoré vytvárajú dátové objekty schopné korešpondovať so záznamami v klasickej relačnej databáze, sa nazývajú object-relation mapping (ORM alebo OR mapping):
Databázové jazyky
Pre komunikáciu a interakciu s DBMS existujú dátové jazyky (database languages):
- QBE (query by example),
- SQL (structured query language).
Nižšie vidíme príklad SQL dotazu, Ktorým sa zobrazí výpis komentárov z druhého kvartálu r. 2012, zoradených podľa dátumu:
SELECT Obsah, Datum FROM Komentar WHERE Datum BETWEEN '2012-3-1' AND '2012-6-30' ORDER BY Datum;
OLAP
Flexibilitu, rýchlosť aj príjemné a intuitívne ovládanie ponúka používateľom nástroj pre analýzu a vizualizáciu dát OLAP (On-Line Analytical Processing). Na dáta je v ňom pozerané ako na mnohorozmernú tabuľku - dátovú kocku (data cube). Tento spôsob uloženia umožňuje rýchle zobrazenie rôznych pohľadov na dáta (OLAP operations). Jednoduché použitie OLAP môže byť rizikové v nesprávnej či nepresnej interpretácii dát. Nesprávna interpretácia môže byť zapríčinená mylným zovšeobecnením záverov pri prechode medzi jednotlivými úrovňami podrobnosti (granularity). Pozrime sa na obrázok štruktúry dátovej kocky:
OLAP (niekedy tiež označovaný ako MOLAP – multidimenzionálny OLAP) má značné nároky na dátový server. Z tohto dôvodu sa používa tzv. ROLAP, čo je relačný OLAP, založený na klasickej relačnej databáze. V tomto prípade sa otázky prevádzajú do jazyka SQL. Mohlo by sa zdať, že OLAP je v podstate Data Mining. Využitím OLAP však získavame z dát iba sumárne charakteristiky na zvolenú granularitu pohľadu. O Data Mining sa ale jedná, až pokiaľ hľadáme v dátach súvislosti a vzorce.
OLAP teda prináša odpovede na špecifikované otázky (napr. predaj určitého produktu, za časový úsek, na vybranej pobočke), ale sám o sebe nič neobjavuje.
Dátový sklad
Dátový sklad (data warehouse) je centralizované úložisko, ktoré umožňuje ukladanie dát z rôznych zdrojov. Väčšinou je pre ukladanie a indexáciu použitá niektorá relačná databáza (ORACLE, INFORMIX, SYBASE MS SQL Server). Ako klasické relačné databázy, tak aj dátové sklady sú úložiskom dát, avšak slúžia na rôzne účely:
Dátový sklad sa od bežnej relačnej databázy odlišuje:
- Orientáciou na subjekt: Zatiaľ čo dátový sklad uchováva dáta vhodné pre podporu rozhodovania na manažérskej úrovni (dáta za celý podnik), relačné databázy uchovávajú dáta potrebné pre operatívne riadenie (pre určitý pracovný úsek) bez ohľadu na to, či budú využiteľné pri strategickom rozhodovaní.
- Integrovanosťou: V dátovom sklade je potrebné zhromaždiť informácie z mnohých rôznych zdrojov a zoskupiť ich podľa logického významu.
- Nízkou premenlivosťou: Dáta sú do dátového skladu obvykle nahrávané vo väčších dávkach (napr. v denných alebo týždenných intervaloch) a potom už nie sú nijako modifikované.
- Historizáciou: Dáta sú v dátovom sklade obvykle udržované v historickej podobe. To je dané nutnosťou vykonávania analýz zameraných na vývoj v čase.
Dáta v dátovom sklade sú z logického pohľadu členené do schém, pričom každá schéma zodpovedá jednej analyzovanej funkčnej oblasti. Jadro každej schémy tvorí jedna alebo niekoľko faktových tabuliek. V týchto faktových tabuľkách sú uložené vlastné analyzované dáta. Faktové tabuľky sú pomocou cudzích kľúčov spojené s dimenziami. Dimenzie sú tabuľky, ktoré obsahujú zoznamy hodnôt slúžiacich na kategorizáciu a triedenie dát vo faktových tabuľkách. Dátový sklad má svoje usporiadanie - schému.
Dátový trh
Dátový trh (data mart) je podmnožinou dátového skladu, zameraného na konkrétny odbor podnikania, oddelenia alebo predmet. Data marts sprístupňujú špecifické dáta pre určenú skupinu užívateľov, čo im umožňuje operatívny prístup k informáciám bez toho, aby museli prechádzať celý dátový sklad. Veľa spoločností má dátový trh zodpovedajúci konkrétnemu oddeleniu (napr. financie, sales či marketing). Dátový trh je vybudovaný z dátového skladu (a popr. iných dátových zdrojov) pomocou procesu, ktorý zahŕňa niekoľko technológií a nástrojov pre návrh a konštrukciu fyzickej databázy, procesu naplnenia dátami a nastavenia protokolov pre prístup a správu.
Dátové jazero
Dátové jazero (data lake) je masívnym úložiskom neštruktúrovaných a nespracovaných dát dodávaných z viacerých zdrojov. Vďaka možnosti ukladať dáta v nespracovanom formáte sú dátové jazerá dostupnejšie a nákladovo efektívnejšie ako dátové sklady.
Napr. vládne organizácie môžu sledovať dáta o spotrebe energie, doprave a pod. a ukladať ich v takomto dátovom jazere, zatiaľ čo zisťujú, ako bude možné tieto dáta využiť v budúcnosti.
Zopakujme si teda na záver, že dátové trhovisko, dátové sklady a dátové jazerá sú kľúčové centrálne úložiská dát, ale v rámci organizácie slúžia na rôzne účely.
V budúcej lekcii, Metodológie Data Mining procesu a používané techniky , sa bližšie zoznámime s Data Mining procesom as používanými technikami.