načítání...
nákupní košík
Košík

je prázdný
a
b

Kniha: Analýza dat -- v praxi - Hector Cuesta

Analýza dat -- v praxi
-15%
sleva

Kniha: Analýza dat -- v praxi
Autor:

Zaujaly vás možnosti dnešních počítačů a nástrojů při analýze dat? Hledáte zajímavé postupy, jak snadno zpracovat a vyhodnotit nasbíraná data bez nutnosti nákupu drahých ... (celý popis)
Titul doručujeme za 2 pracovní dny
Vaše cena s DPH:  499 Kč 424
+
-
rozbalKdy zboží dostanu
14,1
bo za nákup
rozbalVýhodné poštovné: 39Kč
rozbalOsobní odběr zdarma

hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%hodnoceni - 0%   celkové hodnocení
0 hodnocení + 0 recenzí

Specifikace
Nakladatelství: » Computer press
Médium / forma: Tištěná kniha
Rok vydání: 2015-03-04
Počet stran: 296
Rozměr: 167 x 225 mm
Úprava: 296 stran : ilustrace
Vydání: 1. vydání
Spolupracovali: překlad Jiří Huf
Vazba: brožovaná lepená
ISBN: 9788025143612
EAN: 9788025143612
Ukázka: » zobrazit ukázku
Popis / resumé

Příručka se zabývá širokým spektrem nástrojů pro analýzu dat a klasifikačními nástroji, clusteringem, vizualizací, simulací a předvídáním. Obsahuje praktické projekty, které pracují s databází MongoDB, rozhraním D3.js a jazykem Python.

Popis nakladatele

Zaujaly vás možnosti dnešních počítačů a nástrojů při analýze dat? Hledáte zajímavé postupy, jak snadno zpracovat a vyhodnotit nasbíraná data bez nutnosti nákupu drahých analytických nástrojů? Vyzkoušejte si zpracování dat na zajímavých projektech bez nutnosti dalších investic a seznamte se s postupy, jak surová data přetvořit v cenné informace. Každá kapitola představuje ucelený projekt, v němž najdete nejrůznější prostředky, jak nasbíraným datům lépe porozumět a získat z nich maximum hodnotných informací. Seznámíte se s nástroji na analýzu dat, clustering, vizualizaci, simulaci a předvídání vývoje. Naučíte se pracovat s datovými vzory, trendy, vztahy a výsledky analýzy správně interpretovat a přehledně vizualizovat. Nabyté poznatky snadno využijete při analýzách vlastních dat. Publikace vás mimo jiné naučí: - Vyhledat a připravit data před analýzou - Zpracovávat a třídit text - Strojově rozpoznávat podobné obrázky - Předvídat vývoj cen nejrůznějších komodit - Analyzovat nálady na sociálních sítích - Vizualizovat výsledky analýz vhodnými nástroji - Vytvářet z nasbíraných dat přehledné grafy O autorovi: Hector Cuesta je konzultantem v oblasti softwarového inženýrství a datové analýzy s bohatými zkušenostmi ve finančních službách, sociálních sítích, e-learningu a lidských zdrojích. Publikuje odborné články, spolupodílel se na několika knihách a ve volném čase se věnuje robotickým stavebnicím LEGO® a počítači Raspberry Pi®.

Předmětná hesla
Kniha je zařazena v kategoriích
Recenze a komentáře k titulu
Zatím žádné recenze.


Ukázka / obsah
Přepis ukázky

37

KAPITOLA 2

Práce s daty

Abyste mohli data skutečně analyzovat, budete potřebovat, aby byla přesná. V této kapitole

si řekneme, jak získat, vyčistit, normalizovat a převést surová data do standardního formátu,

jakým je například CSV či JSON, pomocí OpenRefi ne.

V této kapitole se budeme věnovat následujícím tématům:

 Datové zdroje

 Otevřená data

 Textové soubory

 Soubory aplikace Excel

 SQL databáze

 NoSQL databáze

 Multimédia

 Data z webu

 Čištění dat

 Statistické metody

 Rozložení textu

 Převádění dat

 Datové formáty

 CSV

 JSON

 XML

 YAML

 Začínáme s OpenRefi ne

V této kapitole:

 Datové zdroje

 Čištění dat

 Datové formáty

 Začínáme s OpenRefi ne


38

KAPITOLA 2 Práce s daty

Datové zdroje

Datový zdroj je pojem, kterým se označují veškeré technologie, jež se pojí se získáváním

a ukládáním dat. Datovým zdrojem může být cokoliv od jednoduchého textového souboru

až po velkou databázi. Surová data mohou pocházet ze sledovacích protokolů, senzorů,transakcí a z uživatelských akcí.

V tomto oddíle se podíváme na nejběžnější formy datových zdrojů a sad.

Datová sada je sbírkou dat, která je obvykle zastoupena tabulkou. Každý sloupec takové tabulky

představuje konkrétní proměnnou a každý řádek odpovídá jednomu dílku dat, viz následující

obrázek:

Sloupce

Řádky

Hodnoty

Datová sada představuje fyzickou implementaci datového zdroje. Nejčastěji nese datová sada

následující znaky:

 Charakteristiky datové sady (má dvě nebo více proměnných)

 Počet instancí

 Oblast (například život, obchod apod.)

 Znaky atributů (data jsou skutečná, kategorická nebo číselná)

 Počet atributů

 Přiřazené úkony (například klasifi kace a rozdělení do clusterů)

 Chybějící hodnoty


Datové zdroje

39

Otevřená data

Otevřená data představují data, která lze opakovaně používat a distribuovat bez omezení. Níže

uvádím krátký seznam úložišť a databází otevřených dat:

 Datahub najdete na adrese http://datahub.io/

 Datovou sadu pro směnu knih (Book-Crossing) najdete na http://www.informatik.

unifreiburg.de/~cziegler/BX/

 Světovou zdravotnickou organizaci najdete na adrese http://www.who.int/research/en/

 Světovou banku najdete na adrese http://data.worldbank.org/

 Agenturu NASA najdete na adrese http://data.nasa.gov/

 Vládu Spojených států amerických najdete na adrese http://www.data.gov/

 Datové sady strojového učení najdete na adrese http://bitly.com/bundles/bigmlcom/2

 Vědecká data z münsterské univerzity najdete na adrese http://data.uni-muenster.de/

 Kvalitativní datové sady výzkumu Hilary Masonové najdete na adrese https://bitly.com/

bundles/hmason/1

Tip: Další zajímavé zdroje dat pochází ze soutěží v těžbě dat a poznávání, například ACM-KDD Cup

a Kaggle. Ve většině případů jsou datové sady dostupné i poté, co soutěž skončí.

Data ze soutěže ACM-KDD Cup najdete na adrese http://www.sigkdd.ort/kddcup/index.php.

Data ze soutěže Kaggle najdete na http://www.kagle.com/competitions.

Textové soubory

Data se běžně ukládají do textových souborů, protože ty se snadno převádí do jiných formátů

a často se s nimi lépe obnovuje zpracování než s jinými formáty. Velká množství dat pochází

z  protokolů, senzorů, e-mailů a  transakcí. Textové soubory najdeme v  několika formátech,

například CSV (data oddělená čárkami), TXV (data oddělená tabulátorem), XML (Extensible

Markup Language) a JSON (viz oddíl Datové formáty).

Soubory aplikace Excel

Pravděpodobně nejužívanějším a nejvíce podceňovaným nástrojem pro datovou analýzu je

Microsoft Excel. Pravdou je, že Excel nabízí několik velmi dobrých funkcí, například filtrování, agregační funkce a pomocí aplikace Visual Basis for Application umí také vytvářet SQL

– například dotazy na tabulky a externí databáze.

Tip: Další zajímavé zdroje dat pochází ze soutěží v těžbě dat a poznávání, například ACM-KDD Cup

a Kaggle. Ve většině případů jsou datové sady dostupné i poté, co soutěž skončí.

Data ze soutěže ACM-KDD Cup najdete na adrese http://www.sigkdd.ort/kddcup/index.php.

Data ze soutěže Kaggle najdete nahttp://www.kagle.com/competitions.


40

KAPITOLA 2 Práce s daty

Excel nám nabízí několik vizualizačních nástrojů. Možnosti analýzy (ve verzi 2010) můžeme

rozšířit instalací nástroje Analysis ToolPak, který umožňuje provádět regresi, korelaci,kovari

anci, Fourierovu analýzu apod. Další informace o nástroji Analysis ToolPak najdete na adrese

http://bit.ly/ZQKwSa.

Mezi nevýhody Excelu patří fakt, že nedokáže konzistentně zacházet s chybějícími hodnotami

a také že nezaznamenává údaje o způsobu provedení analýzy. S nástrojem Analysis ToolPak

budete muset zpracovávat jednotlivé tabulky zvlášť. Proto je jinde než u jednoduchýchpří

kladů z hlediska statistické analýzy jen chabým nástrojem.

Soubory Excelu (.xls) můžeme snadno převést do jiného textového formátu, například CSV,

TSV, či dokonce XML. Tabulku vyexportujete v aplikaci Excel tak, že klepnete na nabídkuSou

bor (File), vyberete možnost Uložit a odeslat (Save & Send) a v sekci Změnit typ souboru

(Change File Type) vyberete upřednostňovaný formát, například CSV (data oddělená čárkou).

SQL databáze

Databáze je organizovanou sbírkou dat. SQL je databázový jazyk určený ke správě a manipulaci

dat v systémech RDBMS (Relational Database Management Systems). Systém DBMS(Data

base Management Systems) zodpovídá za správu integrity a zabezpečení uložených dat, ale

také za obnovu informací v případech, kdy systém selže. Jazyk SQL obsahuje dvě podmnožiny

příkazů: DLL (Data Defi nition Language) a DML (Data Manipulation Language).

Data jsou řazena do schémat (databáze) a rozdělena do tabulek na základě logických vazeb.

Načítat je můžeme z databáze pomocí dotazů na hlavní schéma, viz následující snímek:


Datové zdroje

41

Jazyk DDL nám umožňuje vytvářet, mazat a upravovat tabulky databáze. Rovněž siprostřednictvím něho můžeme defi novat klíče, které defi nují vztahy mezi tabulkami a implementují

omezení mezi jednotlivými tabulkami.

 CREATE TABLE: Tento příkaz vytvoří novou tabulku.

 ALTER TABLE: Tento příkaz upraví tabulku.

 DROP TABLE: Tento příkaz odstraní tabulku. Jazyk DML umožní uživatelům přistupovat k datům a nakládat s nimi.

 SELECT: Tento příkaz načte data z databáze.

 INSERT INTO: Tento příkaz vloží do databáze nová data.

 UPDATE: Tento příkaz upraví data v databázi.

 DELETE: Tento příkaz odstraní data z databáze. NoSQL databáze Pojem NoSQL (Not only SQL, nejen SQL) využívá několik technologií, v nichž povaha dat nevyžaduje relační model. Technologie NoSQL umožňuje pracovat s ohromnými datovými objemy zajišťuje vyšší stabilitu, škálovatelnost a výkon. Rozšířené příklady databáze pro uchovávání dokumentů (MongoDB) najdete v kapitole 12, Zpracování a agregace dat v MongoDB, a v kapitole 13, Práce s modelem MapReduce. Nejběžnější typy datových úložišť NoSQL jsou:


42

KAPITOLA 2 Práce s daty

 Úložiště dokumentů – Data se uchovávají a třídí jako sbírky dokumentů. Schémamodelu je fl exibilní. Všechny sbírky dokáží obsloužit libovolný počet polí. Napříkladdatabáze MongoDB pracuje s typem BSON (binární JSON) a CouchDB používá dokumenty

ve formátu JSON.

 Úložiště klíčů a hodnot – Data se uchovávají jako dvojice klíčů a hodnot bez předdefi -

novaného schématu. Hodnoty se načítají z klíčů. Příkladem jsou Apache Cassandra,Dynamo, Hbase a Amazon SimpleDB.

 Úložiště založené na grafech – Data se uchovávají v grafových strukturách s uzly,hranicemi a vlastnostmi na základě teorie grafů pro ukládání a načítání dat. Tyto typy databází

dokáží skvěle zachytit vztahy v sociální síti. Příkladem jsou Neo4js, InfoGrid a Horton.

Další informace o databázích NoSQL najdete na adrese http://nosql-database.org/.

Multimédia

Díky narůstajícímu počtu mobilních zařízení se prioritou datové analýzy stává schopnostextrahovat sémantické informace z multimediálních datových zdrojů. Mezi datové zdroje řadíme

přímo sledovatelná média, jakými jsou například hudba, obraz a video. Mezi aplikace tohoto

typu datových zdrojů patří:

 Načítání obrázků na základě obsahu

 Načítání videa na základě obsahu

 Třídění fi lmů a videa

 Rozpoznání tváří

 Rozpoznání řeči

 Třídění zvuku a hudby V  kapitole 5, Rozpoznávání podobných obrázků, si ukážeme stroj vyhledávající podobné obrázky, který využívá databázi Caltech256, což je datová sada s více než 30 600 obrázky. Data z webu Když potřebujete najít nějaká data, bývá dobrým startovním bodem web. Při získávání dat z webu zpracováváme HTML kód webové stránky a z něj načítáme data, s nimiž pracujeme. Aplikace, které toto provádí, simulují osobu, jež si webovou stránku prohlíží v  prohlížeči. V následujícím příkladu budeme předpokládat, že chceme zjistit aktuální cenu zlata ze stránky www.gold.org, viz následující snímek obrazovky:


Datové zdroje

43

Následně budeme muset na  stránce prozkoumat prvek Gold Spot Price, přičemž najdeme

následující HTML příznak:

<td class=“value“ id=“spotpriceCellAsk“>1,573.85

V  příznaku td si všimneme identifi kátoru id, spotpriceCellAsk. Tento element načteme

pomocí následujícího kódu v Pythonu.

Tip: V tomto příkladě použijeme 4. verzi knihovny BeautifulSoup. Na Linuxu si ji můžetenainstalovat ve správci balíčkovacího systému. Spusťte terminál a zadejte následující příkaz:

$ apt-get install python-bs4

Na Windows si musíte stáhnout knihovnu z  následujícího odkazu http://crummy.com/software/

BeautifulSoup/bs4/download/.

Instalaci provedete zadáním příkazu:

$ python setup.py install

1. Nejprve musíte naimportovat knihovny BeautifulSoup a urllib.request.

from bs4 import BeautifulSoup

import urllib.request

from time import sleep

from datetime import datetime

2. Následně použijete funkci getGoldPrice, kterou z webové stránky načtete aktuální cenu.

K tomu budete muset zadat adresu URL, jež zadá dotaz a načte celou stránku.

Req = urllib.request.urlopen(url)

page = req.read()

3. Následně pomocí knihovny BeautifulSoup rozložíte stránku (vytvoříte seznam všech

elementů na stránce) a vyžádáte si element td s id spotpriceCellAsk:

scraping = BeautifulSoup(page)

price= scraping.fi ndAll(„td“,attrs={„id“:“spotpriceCellAsk“})[0].

text

4. Nyní vrátíme proměnnou price s aktuální cenou zlata. Tato hodnota se bude na stránce

každou minutu měnit. My budeme chtít všechny hodnoty za celou hodinu, takže funkci

Tip: V tomto příkladě použijeme 4. verzi knihovny BeautifulSoup. Na Linuxu si ji můžetenainstalovat ve správci balíčkovacího systému. Spusťte terminál a zadejte následující příkaz:

$ apt-get install python-bs4

Na Windows si musíte stáhnout knihovnu z  následujícího odkazu http://crummy.com/software/

BeautifulSoup/bs4/download/.

Instalaci provedete zadáním příkazu:

$ python setup.py install


44

KAPITOLA 2 Práce s daty

getGoldPrice zavoláme ve smyčce 60x a po každém volání necháme skript 59 sekund

čekat.

for x in range(0,60):

...

sleep(59)

5. Nakonec uložíme výsledek do výstupního souboru goldPrice.out a přidáme aktuální čas

ve formátu HH:MM:SS (dopoledne – AM nebo odpoledne – PM), například 11:35:42PM,

oddělený čárkou.

with open(„goldPrice.out“,“w“) as f:

...

sNow = datetime.now().strftime(„%I:%M:%S%p“)

f.write(„{0}, {1} „.format(sNow, getGoldPrice())) Funkce datetime.now().strftime vytvoří řetězec představující čas pod vedením explicitního formátovacího řetězce „%I:%M:%S%p“, ve kterém %I představuje hodinu coby desítkové číslo od 0 do 12, %M zastupuje minuty coby desítkové číslo od 00 do 59, %S představuje sekundy coby desítkové číslo od 00 do 61 a %p představuje buď dopoledne (A.M.), nebo odpoledne (P.M.). Kompletní seznam formátovacích pravidel najdete na adrese http://docs.python.org/3.2/library/ datetime.html. Zde vidíte kompletní skript: from bs4 import BeautifulSoup import urllib.request from time import sleep from datetime import datetime def getGoldPrice(): url = „http://gold.org“ req = urllib.request.urlopen(url) page = req.read() scraping = BeautifulSoup(page) price= scraping.fi ndAll(„td“,attrs={„id“:“spotpriceCellAsk“})[0] .text return price with open(„goldPrice.out“,“w“) as f: for x in range(0,60): sNow = datetime.now().strftime(„%I:%M:%S%p“) f.write(„{0}, {1} „.format(sNow, getGoldPrice())) sleep(59)

Tip: Kompletní skript (WebScraping.py) si můžete stáhnout z autorova úložiště na GitHubu, a to

na adrese http:/github.com/hmcuesta/PDA_Book/tree/master/Chapter2.

Výstupní soubor, goldPrice.out, bude vypadat následovně:

11:35:02AM, 1481.25

11:36:03AM, 1481.26

11:37:02AM, 1481.28

Tip: Kompletní skript (WebScraping.py) si můžete stáhnout z autorova úložiště na GitHubu, a to

na adrese http:/github.com/hmcuesta/PDA_Book/tree/master/Chapter2.


Čištění dat

45

11:38:04AM, 1481.25

11:39:03AM, 1481.22

...

Čištění dat

Čištění dat je proces opravy a odstraňování chybných, neúplných, nesprávně formátovaných

a duplicitních dat z datové sady.

Výsledek datové analýzy nezávisí jen na  algoritmech, ale také na  kvalitě dat. A  právě proto

bude dalším krokem získávání dat jejich čištění. Abychom se vyhnuli chybným datům, měla

by datová sada nést následující charakteristiky:

 Správnost

 Úplnost

 Přesnost

 Konzistence

 Jednotnost Špatná data najdete pomocí některého z jednoduchých validačních statistických postupů, ale také rozložením textů a odstraněním duplicitních hodnot. Chybějící a neúplná data vás mohou dovést k vysoce zavádějícím výsledkům. Statistické metody Tento postup si žádá alespoň částečnou znalost kontextu. Bez něj bychom nedokázali najít neočekávaná, a  tedy chybná data, a  to ani v  případě, že by odpovídala datovým typem, ale hodnotou byla mimo rozsah. Řešením by bylo nastavit hodnoty na průměrné nebo středové hodnoty. Pomocí statistické validace můžeme ošetřit chybějící hodnoty, které můžeme buď nahradit jednou z pravděpodobných hodnot zjištěnou interpolací, nebo zredukovat datovou sadu pomocí decimování.

 Aritmetický průměr – Tato hodnota se vypočítá sečtením všech hodnot a  podělením

výsledku počtem hodnot.

 Medián – Medián je střední hodnota řazeného seznamu hodnot.

 Rozmezí – Čísla a data by měla spadat do určitého rozhraní. To znamená, že mají danou

minimální a maximální hodnotu.

 Clustering – Data získaná přímo od uživatele bývají zpravidla mnohoznačná anebo kvůli

chybě odkazují na stejnou hodnotu. Například hodnoty „Buchanan Deluxe 750 ml 12 x

01“ a „Buchanan Deluxe 750 ml 12 x 01.“ se liší pouze tečkou. Případně hodnotyMicrosoft , MS a Microsoft Corporation odkazují na stejnou společnost a všechny jsou platné.




       
Knihkupectví Knihy.ABZ.cz - online prodej | ABZ Knihy, a.s.
ABZ knihy, a.s.
 
 
 

Knihy.ABZ.cz - knihkupectví online -  © 2004-2018 - ABZ ABZ knihy, a.s. TOPlist