Dolování dat Příprava dat Jan Górecki Název prezentace Název projektu Rozvoj vzdělávání na Slezské univerzitě v Opavě Registrační číslo projektu CZ.02.2.69/0.0./0.0/16_015/0002400 Logolink_OP_VVV_hor_barva_cz Obsah přednášky •Co to je příprava dat •Příklady strukturovaných dat •Odvozené atributy •Příliš mnoho objektů •Příliš mnoho atributů •Numerické atributy •Kategoriální atributy •Chybějící hodnoty mineiro2.jpg Příprava dat Cíl: 1.vybrat (nebo vytvořit) z dostupných dat ty údaje, které jsou relevantní pro zvolenou úlohu dobývání znalostí, 2.reprezentovat tyto údaje v podobě, která je vhodná pro zpracování zvoleným algoritmem. CRISP-DM Detekce lidské aktivity (problematika) -> Data z mobilu (porozumění daům) -> Příprava dat Strukturovaná data •časová data (např. časové řady kurzů akcií) • • • • • Původní časová řada Časová řada po transformaci Metody Dolování dat očekávají data v relačních tabulkách, kde nezáleží na pořadí Strukturovaná data •grafy –graf reprezentován seznamem hran spojujících dva uzly (adjacency matrix - matice sousednosti) • • • • • T13-Graf-adjacency T13-Graf-graf Chemická sloučenina reprezentovaná grafem (vazby mezi atomy) Strukturovaná data •texty –text reprezentován seznamem slov v dokumentu (bag-of-words, vektorový model) • https://en.wikipedia.org/wiki/Bag-of-words_model pak dokument = 1 řádek a klasifikuju např. spam nebo ne Odvozené atributy •Z atributů přítomných v původních datech lze vytvářet odvozené atributy •Plyne z doménových znalostí Např.: 1) převod rodného čísla klienta na věk a pohlaví 2) převod data na den v týdnu – 14.11.2019 -> čtvrtek •Opět se tedy jedná o operaci, kdy je třeba úzce spolupracovat s expertem. csvukrs Příliš mnoho objektů 1. použít jen určitý vzorek (sample) vybraný z celých dat, •náhodný výběr •stratifikovaný výběr – ve vzorku je stejné rozdělení příkladů do tříd jako v celých datech •„oversampling“ – ve vzorku se preferují příklady minoritní třídy • • • T13-SAS-oversampling SAS EM demo Oversampling – např. 95% klientů si produkt nekoupilo a 5% ano, ti druzí nás právě zajímají Příliš mnoho objektů 2.vytvořit více modelů na základě podmnožin objektů a modely poté zkombinovat 3.rozdělit data do podmnožin a z každé podmnožiny vybrat pár ji reprezentujících znaků (průměr, směrodatná odchylka, atd. 3. např. u mobilní aplikace rozpoznávání aktivity uživatele Příliš mnoho atributů •transformace - z existujících atributů vytvoříme menší počet atributů nových (analýza hlavních komponent), •selekce - z existujících atributů vybereme jen ty nejdůležitější csvukrs Analýza hlavních komponent (Principal Component Analysis, PCA) P1 = t * [-0,5; 1] P2 = t * [1; 0,5] Cor(P1, P2) = 0 Analýza hlavních komponent (Principal Component Analysis, PCA) Professional Soccer (FIFA) Blue are Defense players (DEF), Red is Mid Field players (MID), Orange is Forward players (FWD), and Green is Goal Keepers (GK) https://blog.exploratory.io/an-introduction-to-principal-component-analysis-pca-with-2018-world-soc cer-players-data-810d84a14eab PC1: útočnost hráče PC2: „brankářovitost“ hráče Automatická selekce •nalezení atributů, které nejlépe přispějí ke klasifikaci objektů do tříd –metoda filtru – filter approach –metoda obálky – wrapper approach • csvukrs Numerické atributy • • • • diskr-d diskr-f Cena akcie: z reálného čísla do množiny kategorií (velmi nízká, nízká, vysoká, velmi vysoká) csvukrs Kategoriální atributy •kódování čísly (+ binarizace) • •Chceme-li použít algoritmy, které používají numerické vstupy (např. neuronové sítě), musíme hodnoty kategoriálních atributů zakódovat pomocí čísel. –V případě binárních atributů (např. ano, ne) to mohou být např. hodnoty 0, 1 nebo –1, 1. –V případě ordinálních atributů (např. malý, střední, velký) to může být pořadové číslo hodnoty. –V případě nominálních atributů (Čech, Slovák, Němec) je potřeba vytvořit tolik aktributů, kolik je kategorií, a pak binarizovat, např. národnost = Slovák -> národnost_Čech = 0, národnost_Slovák = 1, národnost_Němec = 0, csvukrs Ošetření chybějících hodnot 1)ignorovat objekt s nějakou chybějící hodnotou, 2)nahradit chybějící hodnotu novou hodnotou „nevím“, 3)nahradit chybějící hodnotu některou z existujících hodnot atributu a sice: a) nejčetnější hodnotou, b) proporcionálním podílem všech hodnot, c) libovolnou hodnotou, d) „predikovanou“ hodnotou csvukrs Děkuji za pozornost Některé snímky převzaty od: prof. Ing. Petr Berka, CSc. berka@vse.cz