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.
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í.