Sjednocení jazyků pro datovou analýzu

20. 12. 2015

Sdílet

 Autor: © Sergey Nivens - Fotolia.com
V minulých letech mezi datovými analytiky rychle rostla obliba interaktivního výpočetního prostředí IPython Notebook, ve kterém lze kombinovat spustitelný programový kód, formátovaný text, matematiku, grafy a tzv. rich media. Popularita prostředí, původně určeného pouze pro programovací jazyk Python, ale přivedla jeho autory k vývoji nové „verze“ podporující kromě jiných také jazyky R a Julia.

Pokud se sejde několik datových vědců, dříve či později dojde na debatu o výhodách toho či onoho jazyka pro analýzu dat. Rozhovory vyznavačů „R“, Pythonu, Julie a dalších jazyků pak často připomínají disputace metodistů, kališníků a adventistů sedmého dne, kteří se sice shodnou na tom, že cesta do datového ráje existuje, ale jsou v zásadním rozporu v tom, jak po ní kráčet.

Projekt Jupyter má potenciál podobné spory ukončit. Jde o prostředí, ve kterém lze psát stejně dobře v Julii jako v Pythonu a navíc je možné oba jazyky (ale i mnohé další) kombinovat. Autoři Jupyteru tomu říkají jazykový agnosticismus, ale můžeme to nazývat také velkým sjednocením.Takovému označení nahrává i samotný název projektu, který nevznikl díky neznalosti latinského pravopisu, nýbrž našel inspiraci v názvech programovacích jazyků Julia, Python a „eR“.

 

Od IPythonu k Jupyteru

Samotný IPython není žádná novinka. U jeho zrodu stáli již v roce 2001 postgraduální studenti fyziky, kteří potřebovali interaktivní prostředí pro vědecké výpočty a analýzu velkého množství experimentálních dat.

Okolo IPythonu se záhy utvořila široká komunita „mozků“ z akademického světa, které pomáhaly – a stále pomáhají – s jeho vývojem. Proto není divu, že se rychle rozšířil po nejvýznamnějších vědeckých pracovištích světa, elitními univerzitami jako Berkeley, Caltech či MIT počínaje a CERN ( Conseil Européen pour la recherche nucléaire) konče.

Během následujících let se IPython  rozrostl o sadu vzájemně propojených open source nástrojů pro interaktivní a paralelní výpočty, které se široce používají nejen ve vědě, ale i v oblasti financí (algoritmické obchodování) a business intelligenci. 

Síla IPythonu totiž nejvíce vynikne při explorativním výzkumu, tedy při „hraní“ si s daty, ze kterých je potřeba získat nějaké informace. V tomto ohledu je vědecký explorativní výzkum prakticky shodný s jeho komerčním využitím v oblasti BI.

Evoluce IPythonu se pak prozatím dovršila v létě 2014, kdy jeho vývojářský tým představil projekt Jupyter, který zpřístupňuje výhody IPythonu i vývojářům pracujícím v dalších – v současné době již 37 – programovacích jazycích.

 

Když je Babylon výhodou

Možnost psát v jednom interaktivním prostředí v různých programovacích jazycích a tyto jazyky dokonce v rámci jednoho dokumentu kombinovat vypadá takřka neuvěřitelně. Jupyter to umožňuje a ve výčtu podporovaných jazyků nechybí žádný z těch, které se široce využívají v oblasti datové vědy a analýzy. Podporují se kupříkladu Julia, Haskell, Scala, R, Erlang, Octave, Matlab, Ruby nebo Go.

 Stejně jako IPython i Jupyter nabízí interaktivní terminál, populární webové vývojové prostředí Notebook, ve kterém mohou uživatelé vytvářet dokumenty, které kombinují výpočty, výsledky s jejich popisem včetně matematické sazby, grafů, tabulek a multimédií.

Tyto dokumenty se mohou sdílet on-line, převádět do jiných formátů výstupu (HTML, PDF atd.) a také je lze použít jako nástroje pro reprodukovatelný výzkum a vzdělávání.

Významné vědecké časopisy, například Nature, již vyžadují, aby se jim vědecké práce předkládaly právě v „noteboocích“, aby měl kdokoliv možnost zkontrolovat správnost zpracování dat i výpočtů.

Notebook je totiž kompletním dokumentovaným postupem předkládané analýzy, ve které lze jedním kliknutím zobrazit programový kód i data v jakémkoliv kroku jejich zpracování. Je pouze otázkou času, kdy bude podobný standard zaveden také u firemních datových analýz, jež jsou dnes až příliš často magickými skříňkami.

Tomu nahrává i fakt, že Jupyter nachází podporu i u velkých firem, takže jej najdete například na Microsoft Azure, Amazon Web Services a dalších aplikačních cloudech. Úplnou novinkou je pak jeho široká podpora na GitHubu.

 

Jupyter a sdílená datová věda

Datová věda a analýza v akademickém i komerčním světě rozhodně nejsou prací osamocených jedinců, ale společnou prací lidí, odborníků z mnoha oblastí. Sběr a kultivace dat, statistická analýza, příprava prediktivních modelů, jejich vizualizace a následná prezentace dnes představují specializované disciplíny, jejichž výstupy je třeba sdílet a spojit do jednoho smysluplného celku...

 

Autor pracuje jako výkonný ředitel společnosti Gauss Algorithmic.

 

bitcoin školení listopad 24

Tento příspěvek vyšel v Computerworldu 5/2015.Oproti této on-line verzi je výrazně obsáhlejší a přináší další poznatky a tipy, které lze využít při praktické implementaci u vás ve firmě.

Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.