18 základního softwaru, o kterém by měl vědět každý datový vědec
Pro koho je určena datová věda?
Datová věda je obor pro každého, kdo s nadšením řeší komplikované problémy a nachází ukryté zákonitosti v zdánlivém chaosu. Je to činnost podobná hledání jehel v kupce sena, avšak datoví specialisté se nemusí ušpinit. Používají sofistikované nástroje s vizuálně přitažlivými grafy a analyzují velké objemy dat, aby odhalili cenné poznatky s významnou obchodní hodnotou.
Základní sada nástrojů datového vědce by měla obsahovat alespoň jeden nástroj z následujících kategorií: relační databáze, NoSQL databáze, frameworky pro zpracování velkých dat, vizualizační nástroje, nástroje pro scraping, programovací jazyky, IDE a nástroje pro hluboké učení.
Relační databáze
Relační databáze představuje soubor dat strukturovaných do tabulek s definovanými atributy. Tabulky mohou být vzájemně propojeny pomocí vztahů a omezení, čímž vzniká datový model. Pro práci s relačními databázemi se běžně používá dotazovací jazyk SQL (Structured Query Language).
Aplikace, které spravují strukturu a data v relačních databázích, se nazývají RDBMS (Relational DataBase Management Systems). Existuje mnoho RDBMS, a ty nejvýznamnější se v poslední době zaměřují na oblast datové vědy, přidávají funkcionality pro manipulaci s rozsáhlými datovými úložišti a implementují techniky analýzy dat a strojového učení.
SQL Server
RDBMS od společnosti Microsoft se vyvíjí již více než dvě desetiletí a neustále rozšiřuje své podnikové funkce. Od verze 2016 nabízí SQL Server řadu služeb zahrnující podporu pro vestavěný kód v jazyce R. SQL Server 2017 jde ještě dál tím, že přejmenoval R Services na Machine Language Services a přidal podporu pro jazyk Python.
Díky těmto významným rozšířením se SQL Server stává atraktivním pro datové vědce, kteří nemusí být zběhlí v jazyce Transact SQL, nativním dotazovacím jazyce Microsoft SQL Server.
SQL Server není bezplatný produkt. Je možné zakoupit licence pro instalaci na Windows Server (cena se odvíjí od počtu souběžných uživatelů), nebo využít placenou službu v cloudu Microsoft Azure. Osvojení si Microsoft SQL Server je poměrně jednoduché.
MySQL
V oblasti open-source softwaru si MySQL drží pozici nejpopulárnějšího RDBMS. I když jej nyní vlastní společnost Oracle, zůstává bezplatný a open-source v souladu s licencí GNU General Public License. Většina webových aplikací používá MySQL jako základní datové úložiště, a to díky jeho shodě se standardem SQL.

K jeho oblibě přispívají i snadná instalace, rozsáhlá vývojářská komunita, rozsáhlá dokumentace a nástroje třetích stran, jako je phpMyAdmin, které zjednodušují každodenní úkony správy. Přestože MySQL nemá nativní funkce pro analýzu dat, jeho otevřenost umožňuje integraci s téměř jakýmkoliv nástrojem pro vizualizaci a business intelligence.
PostgreSQL
Další volbou open-source RDBMS je PostgreSQL. Ačkoli není tak široce rozšířený jako MySQL, vyniká svou flexibilitou, rozšiřitelností a podporou pro komplexní dotazy, které překračují rámec základních příkazů jako SELECT, WHERE a GROUP BY.
Díky těmto vlastnostem si získává popularitu mezi datovými vědci. Další zajímavou funkcí je podpora pro různá prostředí, která umožňuje jeho použití v cloudových, lokálních nebo hybridních prostředích, což je běžné označení pro kombinaci obou.

PostgreSQL je schopen kombinovat online analytické zpracování (OLAP) s online zpracováním transakcí (OLTP), pracující v režimu známém jako hybridní transakční/analytické zpracování (HTAP). Je vhodný také pro práci s velkými daty díky rozšíření PostGIS pro geografická data a JSON-B pro dokumenty. PostgreSQL podporuje i nestrukturovaná data, čímž spadá do obou kategorií: SQL a NoSQL databází.
NoSQL databáze
Tento typ úložiště, známý také jako nerelační databáze, nabízí rychlejší přístup k datovým strukturám, které nejsou založeny na tabulkách. Mezi tyto struktury patří grafy, dokumenty, široké sloupce, páry klíč-hodnota a další. Úložiště NoSQL mohou upřednostnit jiné výhody, jako je dostupnost, dělitelnost a rychlost přístupu, před konzistencí dat.
Vzhledem k tomu, že NoSQL databáze nepoužívají SQL, je jediný způsob, jak s nimi pracovat, pomocí nízkoúrovňových jazyků, a neexistuje standardizovaný jazyk, který by byl tak všeobecně přijímán jako SQL. Navíc neexistují standardní specifikace pro NoSQL databáze. Proto paradoxně některé NoSQL databáze začínají přidávat podporu pro SQL skripty.
MongoDB
MongoDB je oblíbený NoSQL databázový systém, který ukládá data ve formě JSON dokumentů. Zaměřuje se na škálovatelnost a flexibilitu ukládání nestrukturovaných dat. To znamená, že neexistuje pevný seznam polí, který musí být dodržován u všech uložených záznamů. Struktura dat se může v průběhu času měnit, což by u relační databáze představovalo riziko pro stávající aplikace.

Technologie v MongoDB umožňuje indexování, ad-hoc dotazy a agregaci, což tvoří silný základ pro analýzu dat. Distribuovaná architektura databáze zajišťuje vysokou dostupnost, škálování a geografickou distribuci bez nutnosti složitých nástrojů.
Redis
Redis je další open-source NoSQL řešení. Jedná se o datové úložiště, které pracuje v paměti a kromě databázových služeb slouží také jako cache a zprostředkovatel zpráv.

Podporuje širokou škálu netradičních datových struktur, včetně hashů, geoprostorových indexů, seznamů a setříděných sad. Je vhodný pro datovou vědu díky svému vysokému výkonu v náročných úlohách, jako je výpočet průsečíků množin, řazení rozsáhlých seznamů nebo generování komplexních žebříčků. Výjimečný výkon Redis je dán jeho provozem v paměti. Lze jej nakonfigurovat tak, aby data selektivně uchovával.
Frameworky pro velká data
Představte si, že potřebujete analyzovat data generovaná uživateli Facebooku během jediného měsíce. Mluvíme o fotografiích, videích, zprávách a všem ostatním. Vzhledem k tomu, že každý den uživatelé sociální sítě nahrají více než 500 terabajtů dat, je obtížné si představit objem dat za celý měsíc.
Pro efektivní manipulaci s tímto obrovským objemem dat potřebujete vhodný framework, který je schopen provádět statistické výpočty v distribuované architektuře. Dva frameworky, které dominují na trhu, jsou Hadoop a Spark.
Hadoop
Jako framework pro velká data, Hadoop se zabývá složitostí spojenou s vyhledáváním, zpracováním a ukládáním obrovských objemů dat. Hadoop funguje v distribuovaném prostředí složeném z výpočetních clusterů, které zpracovávají jednoduché algoritmy. K dispozici je orchestrace algoritmů, nazývaná MapReduce, která rozděluje velké úkoly na malé části a distribuuje tyto malé úkoly mezi dostupné clustery.

Hadoop se doporučuje pro datová úložiště podnikové třídy, která vyžadují rychlý přístup a vysokou dostupnost, a to vše za nízké náklady. Je ovšem nutné mít administrátora systému Linux s hlubokými znalostmi Hadoopu, který bude tento framework spravovat a udržovat.
Spark
Hadoop není jediný framework pro manipulaci s velkými daty. Dalším významným hráčem v této oblasti je Spark. Engine Spark byl navržen tak, aby překonal Hadoop z hlediska rychlosti analýzy a jednoduchosti použití. Zdá se, že tohoto cíle bylo dosaženo: některá srovnání ukazují, že Spark běží až 10x rychleji než Hadoop při práci s daty na disku a 100x rychleji při práci s daty v paměti. Ke zpracování stejného množství dat také potřebuje méně počítačů.

Kromě rychlosti je další výhodou Sparku jeho podpora pro streamované zpracování. Tento typ zpracování dat, označovaný také jako zpracování v reálném čase, zahrnuje nepřetržitý vstup a výstup dat.
Vizualizační nástroje
Mezi datovými vědci koluje vtip, že pokud budete data dostatečně dlouho „mučit“, nakonec vám sdělí, co potřebujete. V tomto případě „mučení“ znamená manipulaci s daty pomocí transformace a filtrování s cílem lepší vizualizace. Právě zde přicházejí na řadu nástroje pro vizualizaci dat. Tyto nástroje přebírají předzpracovaná data z různých zdrojů a zobrazují jejich odhalené pravdy v grafických, srozumitelných formách.
Existují stovky nástrojů, které spadají do této kategorie. Ať už se vám to líbí nebo ne, nejpoužívanějším nástrojem je Microsoft Excel a jeho nástroje pro tvorbu grafů. Excelové grafy jsou dostupné každému, kdo používá Excel, ale mají omezenou funkčnost. Totéž platí pro další tabulkové aplikace, jako jsou Tabulky Google a Libre Office. Ale zde se zaměřujeme na specifičtější nástroje, které jsou speciálně navrženy pro business intelligence (BI) a analýzu dat.
Power BI
Nedávno společnost Microsoft uvedla na trh svou vizualizační aplikaci Power BI. Dokáže přebírat data z různých zdrojů, jako jsou textové soubory, databáze, tabulky a mnoho online datových služeb, včetně Facebooku a Twitteru, a používat je ke generování řídicích panelů s grafy, tabulkami, mapami a dalšími vizualizačními prvky. Panely jsou interaktivní, což znamená, že můžete kliknout na datovou řadu v grafu a použít ji jako filtr pro ostatní objekty na panelu.

Power BI je kombinací desktopové aplikace pro Windows (součást sady Office 365), webové aplikace a online služby pro publikování řídicích panelů na webu a jejich sdílení s uživateli. Tato služba umožňuje vytvářet a spravovat oprávnění pro udělení přístupu k panelům jen vybraným osobám.
Tableau
Tableau je další možností pro tvorbu interaktivních panelů z kombinace více zdrojů dat. Nabízí také desktopovou verzi, webovou verzi a online službu pro sdílení vytvořených panelů. Funguje intuitivně a je snadno ovladatelný i pro netechnické uživatele, což umocňuje množství tutoriálů a online videí.

Mezi významné funkce Tableau patří neomezené datové konektory, práce s živými daty a daty v paměti a design optimalizovaný pro mobilní zařízení.
QlikView
QlikView nabízí čisté a přehledné uživatelské rozhraní, které analytikům pomáhá objevovat nové poznatky z existujících dat prostřednictvím vizuálních prvků, které jsou snadno srozumitelné pro každého.

Tento nástroj je považován za jednu z nejflexibilnějších platforem business intelligence. Nabízí funkci asociativního vyhledávání, která vám pomůže zaměřit se na nejdůležitější data a ušetřit čas, který byste strávili jejich ručním hledáním. S QlikView můžete spolupracovat s kolegy v reálném čase a provádět srovnávací analýzy. Všechna potřebná data lze sloučit do jediné aplikace s bezpečnostními funkcemi, které omezují přístup k datům.
Nástroje pro scraping
V počátcích internetu začali weboví roboti prohledávat sítě a shromažďovat informace, které jim stály v cestě. S vývojem technologií se termín procházení webu změnil na web scraping, ale význam zůstal stejný: automatické extrahování informací z webových stránek. Pro web scraping se používají automatizované procesy nebo roboti, kteří přecházejí z jedné webové stránky na druhou, extrahují z nich data a exportují je do různých formátů nebo je vkládají do databází pro další analýzu.
Níže je shrnutí charakteristik tří nejoblíbenějších webových scraperů, které jsou dnes k dispozici.
Octoparse
Web scraper Octoparse nabízí několik zajímavých funkcí, včetně vestavěných nástrojů pro získávání informací z webových stránek, které nejsou přizpůsobeny pro scraping roboty. Jedná se o desktopovou aplikaci, která nevyžaduje žádné programování a má uživatelsky přívětivé rozhraní, které umožňuje vizualizaci procesu extrakce pomocí grafického návrháře pracovních postupů.

Kromě samostatné aplikace nabízí Octoparse cloudovou službu pro urychlení procesu extrakce dat. Uživatelé mohou dosáhnout 4x až 10x zrychlení při používání cloudové služby namísto desktopové aplikace. Pokud se rozhodnete používat desktopovou verzi, můžete Octoparse používat zdarma. Pokud ovšem preferujete cloudovou službu, budete si muset vybrat jeden z placených tarifů.
Content Grabber
Pokud hledáte nástroj na scraping s bohatými funkcemi, měli byste zvážit Content Grabber. Na rozdíl od Octoparse, pro používání Content Grabber je nutné mít pokročilé programátorské dovednosti. Na oplátku získáte možnost upravovat skripty, ladit rozhraní a další pokročilé funkce. S Content Grabber můžete používat jazyky .Net k psaní regulárních výrazů. Nemusíte je tedy vytvářet pomocí vestavěného nástroje.

Nástroj nabízí API (Application Programming Interface), které můžete použít k přidání funkcí scrapingu do vašich desktopových a webových aplikací. Pro vývojáře je ovšem nutné mít přístup ke službě Content Grabber Windows API.
ParseHub
Tento scraper dokáže zpracovat širokou škálu různých typů obsahu, včetně diskuzních fór, vnořených komentářů, kalendářů a map. Dokáže si poradit i se stránkami, které obsahují ověřování, Javascript, Ajax a další. ParseHub lze používat jako webovou aplikaci nebo desktopovou aplikaci pro Windows, macOS X a Linux.

Stejně jako u Content Grabber se doporučuje mít určité znalosti programování, abyste mohli z ParseHubu vytěžit maximum. Nabízí bezplatnou verzi, která je omezena na 5 projektů a 200 stránek na spuštění.
Programovací jazyky
Stejně jako jazyk SQL je navržen speciálně pro práci s relačními databázemi, existují i další jazyky, které se zaměřují na datovou vědu. Tyto jazyky umožňují vývojářům psát programy pro komplexní analýzu dat, jako jsou statistiky a strojové učení.
SQL je také považován za důležitou dovednost pro datové vědce, a to proto, že většina organizací má stále velké množství dat uložených v relačních databázích. Nicméně hlavními jazyky pro datovou vědu jsou R a Python.
Python

Python je vysokoúrovňový, interpretovaný, univerzální programovací jazyk, který je vhodný pro rychlý vývoj aplikací. Má jednoduchou a snadno osvojitelnou syntaxi, která urychluje proces učení a snižuje náklady na údržbu programu. Existuje mnoho důvodů, proč je preferovaným jazykem pro datovou vědu. Mezi ně patří: skriptovací potenciál, výmluvnost, přenositelnost a výkon.
Tento jazyk je dobrým výchozím bodem pro datové vědce, kteří plánují hodně experimentovat, než se pustí do samotné práce se zpracováním dat, a kteří chtějí vyvíjet kompletní aplikace.
R
Jazyk R se používá především pro statistické zpracování dat a tvorbu grafů. Ačkoli není určen k vývoji plnohodnotných aplikací, jako je tomu u jazyka Python, R si v posledních letech získal velkou oblibu díky svému potenciálu pro dolování dat a analýzu dat.

Díky neustále se rozšiřující knihovně volně dostupných balíčků, které rozšiřují jeho funkce, je R schopen provádět všechny druhy práce s daty, včetně lineárního/nelineárního modelování, klasifikace, statistických testů atd.
Nejedná se o jednoduchý jazyk na naučení, ale jakmile se seznámíte s jeho filozofií, budete provádět statistické výpočty s naprostou lehkostí.
IDE
Pokud to s datovou vědou myslíte vážně, budete si muset pečlivě vybrat integrované vývojové prostředí (IDE), které vyhovuje vašim potřebám, protože vy i vaše IDE strávíte mnoho času společnou prací.
Ideální IDE by mělo zahrnovat všechny nástroje, které potřebujete při své každodenní práci programátora: textový editor se zvýrazňováním syntaxe a automatickým doplňováním, efektivní ladicí program, prohlížeč objektů a snadný přístup k externím nástrojům. Mělo by být také kompatibilní s jazykem, který preferujete. Je proto vhodné vybrat si IDE až poté, co si ujasníte, jaký jazyk budete používat.
Spyder
Toto univerzální IDE je určeno především pro vědce a analytiky, kteří zároveň potřebují programovat. Aby se v něm cítili pohodlně, neomezuje se pouze na funkce IDE, ale nabízí také nástroje pro průzkum a vizualizaci dat, a interaktivní spouštění, které se nachází ve vědeckém balíčku. Editor ve Spyderu podporuje více jazyků a nabízí prohlížeč tříd, rozdělení oken, přechod k definici, automatické dokončování kódu a dokonce i nástroj pro analýzu kódu.

Ladicí program vám pomůže interaktivně sledovat každý řádek kódu a profiler vám pomůže najít a odstranit neefektivitu.
PyCharm
Pokud programujete v Pythonu, je pravděpodobné, že vámi zvolené IDE bude PyCharm. Má inteligentní editor kódu s chytrým vyhledáváním, doplňováním kódu a detekcí a opravou chyb. Jediným kliknutím můžete přejít z editoru kódu do jakéhokoli kontextového okna, včetně testů, super metod, implementací, deklarací a dalších. PyCharm podporuje Anacondu a mnoho vědeckých balíčků, jako je NumPy a Matplotlib.

Nabízí integraci s nejdůležitějšími systémy pro správu verzí, a také s testovacím programem, profilerem a debuggerem. Navíc je integrován s Dockery a Vagrant, což zajišťuje vývoj a kontejnerizaci napříč platformami.
RStudio
Pro datové vědce, kteří preferují jazyk R, je ideální volbou IDE RStudio, které nabízí mnoho funkcí. Můžete jej nainstalovat na plochu s Windows, macOS nebo Linux, nebo jej můžete spustit z webového prohlížeče, pokud jej nechcete instalovat lokálně. Obě verze nabízejí vylepšení, jako je zvýraznění syntaxe, inteligentní odsazování a dokončování kódu. Integrovaný prohlížeč dat je užitečný, když potřebujete prohlížet tabulková data.

Režim ladění umožňuje sledovat, jak se data dynamicky aktualizují při provádění programu nebo skriptu krok za krokem. Pro správu verzí RStudio integruje podporu pro SVN a Git. Dalším plusem je možnost vytvářet interaktivní grafiku pomocí knihoven Shiny a dá.
Vaše osobní sada nástrojů
V tomto okamžiku byste měli mít kompletní přehled o nástrojích, které byste měli znát, abyste vynikli v datové vědě. Doufáme, že jsme vám také poskytli dostatek informací, abyste se mohli rozhodnout, která možnost je v každé kategorii nástrojů nejvhodnější. Teď už je to na vás. Datová věda je rozvíjející se obor, který umožňuje budovat kariéru. Pokud ale chcete uspět, musíte držet krok se změnami v trendech a technologiích, protože k nim dochází téměř denně.