Obsah
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 Začínáme
K2194_sazba.indd 3
Informatika
23
Umělá inteligence
24
Strojové učení
24
Statistika
24
Matematika
25
Znalostní domény
25
Data, informace a znalosti
25
Povaha dat
26
16.1.2015 10:04:02
Obsah
Proces datové analýzy Problém Příprava dat Průzkum dat Prediktivní modelování Vizualizace výsledků
27 27 28 28 28 29
Kvantitativní a kvalitativní datová analýza
29
Význam vizualizace dat
30
A co big data? Senzory a fotoaparáty Analýza sociálních sítí Nástroje a hračky v této knize Proč Python? Proč mlpy? Proč D3.js? Proč MongoDB?
31 32 33 34 34 34 35 35
Shrnutí
36
KAPITOLA 2 Práce s daty
K2194_sazba.indd 4
37
Datové zdroje Otevřená data Textové soubory Soubory aplikace Excel SQL databáze NoSQL databáze Multimédia Data z webu
38 39 39 39 40 41 42 42
Čištění dat Statistické metody Rozložení textu Převádění dat
45 45 46 47
Datové formáty CSV JSON XML YAML
47 48 49 50 51
16.1.2015 10:04:02
Obsah
Začínáme s OpenRefine Textová fazeta Clustering Textové filtry Číselné fazety Převod dat Export dat Historie akcí
52 52 53 54 54 55 56 57
Shrnutí
58
KAPITOLA 3 Vizualizace dat
59
Dokumenty založené na datech (D3) HMTL DOM CSS JavaScript SVG
60 60 61 61 61 61
Začínáme s D3.js Sloupcový graf Koláčový graf Bodové vykreslení Spojnicový graf Spojnicový graf s více křivkami
62 62 67 70 72 76
Interakce a animace
79
Shrnutí
81
KAPITOLA 4 Třídění textu
K2194_sazba.indd 5
83
Učení a třídění
83
Bayesiánské třídění Naivní Bayesův algoritmus
84 85
Ověřování předmětu e-mailu Data
85 86
16.1.2015 10:04:02
Obsah
Algoritmus Přesnost třídění Shrnutí
88 91 94
KAPITOLA 5 Rozpoznávání podobných obrázků
95
Vyhledávání obrázků na základě podobnosti
95
Dynamické borcení času (DTW)
96
Zpracování obrázků v datové sadě
98
Implementace dynamického borcení času
99
Analýza výsledků
101
Shrnutí
103
KAPITOLA 6 Simulace cen akcií
105
Finanční časové řady
105
Simulace nahodilé chůze
106
Postupy Monte Carlo
107
Generování nahodilých čísel
108
Implementace v D3.js
109
Shrnutí
116
KAPITOLA 7 Předvídání cen zlata
K2194_sazba.indd 6
117
Práce s daty v časových řadách Komponenty časových řad
117 119
Čištění časových řad
120
Data – historické ceny zlata
123
Nelineární regrese Hřebenová regrese jádra Čištění časových řad cen zlata
123 123 125
16.1.2015 10:04:02
Obsah
Předvídání z vyčištěných časových řad Srovnávání předpovězených hodnot Shrnutí
126 128 129
KAPITOLA 8 Práce s podpůrnými vektorovými stroji
131
Úvod do datových sad s více proměnnými
132
Redukce dimenzionality Lineární diskriminantní analýza Analýza hlavních komponent
135 136 136
Začínáme pracovat s podpůrnými vektorovými stroji Funkce jádra Problém dvojité spirály Podpůrné vektorové stroje a knihovna mlpy
139 140 140 141
Shrnutí
144
KAPITOLA 9 Modelování infekčních nemocí prostřednictvím buněčných automatů 147 Úvod do epidemiologie Epidemiologický trojúhelník
148 149
Epidemiologické modely Model SIR Řešení běžných diferenciálních rovnic modlu SIR pomocí SciPy Model SIRS
150 150 151 152
Modelování pomocí buněčných automatů Buňka, stav, mřížka a sousedství Globální stochastický kontaktní model
153 153 154
Simulace modelu SIRS v CA prostřednictvím rozhraní D3.js
155
Shrnutí
163
KAPITOLA 10 Práce se sociálními grafy Struktura grafu
K2194_sazba.indd 7
165 165
16.1.2015 10:04:02
Obsah
Neorientovaný graf Orientovaný graf
166 166
Analýza sociálních sítí
167
Tvorba grafu z Facebooku Netvizz
167 167
Reprezentace grafů v Gephi
170
Statistická analýza Poměr mužů a žen
172 172
Rozložení směrů Histogram grafu Středovost
174 175 176
Převod GDF na JSON
177
Vizualizace grafu v D3.js
179
Shrnutí
183
KAPITOLA 11 Analýza nálad na Twitteru
K2194_sazba.indd 8
185
Anatomie dat z Twitteru Tweet Sledující Témata trendů
186 186 186 187
Přístup k API Twitteru pomocí OAuth
187
Úvod do modulu Twython Jednoduché vyhledávání Práce s časovými osami Práce se sledujícími Práce s místy a trendy
189 190 193 195 197
Třídění nálad Pravidla pro anglická slova Textový korpus
198 199 199
Úvod do NLTK Dávka slov Naivní Bayesův klasifikátor Analýza nálad tweetů
200 201 201 203
16.1.2015 10:04:02
Obsah
Shrnutí
204
KAPITOLA 12 Zpracování a agregace dat v MongoDB
205
Úvod do databáze MongoDB Databáze Kolekce Dokument Příkazový řádek Mongo Vkládání, aktualizace a odstraňování Dotazy
206 206 207 208 208 209 209
Příprava dat Převod dat pomocí OpenRefine Vkládání dokumentů pomocí PyMongo
211 211 214
Skupina
217
Agregační rozhraní Kanály Výrazy
219 220 221
Shrnutí
222
KAPITOLA 13 Práce s modelem MapReduce
223
Úvod do modelu MapReduce
224
Programovací model
225
Model MapReduce a databáze MongoDB Funkce map Funkce reduce Příkazový řádek Mongo Práce s nástrojem UMongo Práce s nástrojem PyMongo
226 226 227 227 229 232
Filtrování vstupní kolekce
233
Seskupování a agregace
234
Vizualizace nejběžnějších slov ve tweetech v mraku slov
236
Shrnutí
241
K2194_sazba.indd 9
16.1.2015 10:04:02
Obsah
KAPITOLA 14 Online analýza dat s nástroji Ipython a Wakari
243
Úvod do nástroje Wakari Založení účtu ve Wakari
244 244
Úvod do nástroje IPython Notebook Vizualizace dat
246 248
Úvod do zpracování obrázků knihovnou PIL Otevření obrázku Histogram obrázku Filtrování Operace Převody
250 250 251 252 254 256
Úvod do knihovny Pandas Práce s časovými řadami Práce s datovými sadami s více proměnnými a s objektem DataFrame Seskupování, agregace a korelace
257 257 261 264
Multiprocesing s nástrojem IPython Pool
266 267
Sdílení poznámkového bloku Data
267 267
Shrnutí
270
PŘÍLOHA Zavádění infrastruktury
271
Instalace a spuštění prostředí Python 3 Instalace a spuštění prostředí Python v Ubuntu Instalace a spuštění prostředí IDLE v Ubuntu Instalace a spuštění prostředí Python 3.2 ve Windows Instalace a spuštění prostředí IDLE ve Windows
272 272 272 273 274
Instalace a spuštění knihovny NumPy Instalace a spuštění knihovny NumPy v Ubuntu Instalace a spuštění knihovny NumPy ve Windows
275 275 276
Instalace a spuštění knihovny SciPy Instalace a spuštění knihovny SciPy v Ubuntu Instalace a spuštění knihovny SciPy ve Windows
277 277 278
K2194_sazba.indd 10
16.1.2015 10:04:03
Obsah
Instalace a spuštění knihovny mlpy Instalace a spuštění knihovny mlpy v Ubuntu Instalace a spuštění knihovny mlpy ve Windows
279 279 279
Instalace a spuštění nástroje OpenRefine Instalace a spuštění nástroje OpenRefine v Linuxu Instalace a spuštění nástroje OpenRefine ve Windows
280 280 281
Instalace a spuštění databáze MongoDB Instalace a spuštění databáze MongoDB v Ubuntu Instalace a spuštění databáze MongoDB ve Windows Připojení Pythonu k databázi MongoDB
281 282 283 285
Instalace a spuštění nástroje UMongo Instalace a spuštění nástroje Umongo v Ubuntu Instalace a spuštění Umongo ve Windows
286 287 288
Instalace a spuštění Gephi Instalace a spuštění Gephi v Linuxu Instalace a spuštění Gephi ve Windows
289 290 290
Rejstřík
K2194_sazba.indd 11
291
16.1.2015 10:04:03