Proč já nepoužívám notebook Jupyter a vy byste také neměli
– Joel Grus
– Iskander Yusof
Poznámkové bloky Jupyter jsou v podstatě prvním nástrojem, který datový vědec vytáhne z police, když se blíží k novému problému. A s dobrým rozumem. Neexistuje nic jako okamžitá zpětná vazba, kterou získáte, když stisknete Shift-Enter a váš kód je vyhodnocen. Navíc můžete vidět své grafy přímo vedle vašeho kódu! Co nemilovat?
No, docela hodně.
Jsem datový vědec, ale notebooky Jupyter používám velmi zřídka. Zde je důvod a proč si myslím, že byste je také neměli používat, pokud chcete být tím nejefektivnějším datovým vědcem, jakým můžete být.
Podporují znečišťování globálního jmenného prostoru
Nejlepší vlastností notebooků je, že poskytují okamžitou zpětnou vazbu: stačí stisknout Shift-Enter.
To je také jejich nejhorší vlastnost.
Abych získal okamžitou zpětnou vazbu, zjistil jsem, že místo psaní funkcí píšu kód v globálním jmenném prostoru. To je obvykle
považováno za špatný postup
vývoj v Pythonu. Důvodem je to, že je velmi těžké vysvětlit účinek běhu sekvence buněk. Všichni upravují globální jmenný prostor, což znamená, že váš notebook je skutečně strašně velký
státní automat
.
To také vede k mým dalším dvěma námitkám...
Odrazují od efektivního opětovného použití kódu
Nejlepší způsob, jak znovu použít kód v Pythonu, je prostřednictvím funkcí a tříd. V noteboocích je pokušení znovu použít kód
buňky
místo toho. Protože používáte globální jmenný prostor, spoléháte na to, že se oncell spouštějí v určitém pořadí. Abyste mohli znovu použít incells kódu, museli byste nastavit nějakou globální proměnnou a poté spustit pravou buňku. Sledování toho, co je třeba spustit a v jakém pořadí se pak stává problémem a také vede k...
Poškozují reprodukovatelnost
Pokud notebook vždy spouštíte v lineárním pořadí od začátku do konce, pak by reprodukovatelnost neměla být problémem. Někdo jiný může vzít váš notebook, spustit jej v daném pořadí a získat stejné výsledky.
To však (viz výše) znamená, že obvykle nebudete mít možnost znovu použít skvělý kód. Poněkud to také maří jednu z výhod používání anotebooku, kterou je, že jej můžete spouštět v libovolném pořadí.
Pokud jej nespouštíte vždy lineárním způsobem, je pravděpodobné, že ostatní lidé, kteří váš notebook používají, jej také budou spouštět v jiném pořadí a je obtížné zajistit, že budou mít stejné (nebo alespoň účinné) Výsledek.
Zajímá vás reprodukovatelnost, že? Jste údaj
vědec
.
Nehrají si dobře s ovládáním zdroje
Pokud jste profesionální datový vědec, pravděpodobně pracujete v týmu. To znamená, že musíte spolupracovat. A spolupráce s notebooky je... nesmysl. Obecně to znamená uložení notebooku a jeho odeslání někomu.
Samozřejmě můžete notebooky zapojit do ovládání zdroje. Dokud ji nikdo neupravuje ve stejnou dobu, v tom případě hodně štěstí při pokusu o sloučení s jejich změnami.
A co testování?
Neexistuje nic jako pár dobře napsaných jednotkových testů, které vám pomohou najít chyby ve vašem kódu. A mnohokrát jsem strávil deset minut čekáním na spuštění experimentu, jen abych zjistil, že se v polovině zlomil. Kdybych měl rychlý test, mohl bych běžet jako první, nemusel bych čekat.
Bohužel je nejen obtížné, ale téměř nemožné napsat jednotkové testy pro buňky notebooku. Opět, pokud skutečně píšete funkce do poznámkových bloků, můžete to udělat, ale pak ztratíte vlastnost niceinteractivity.
Nejsou to PyCharm
Pokud byste tedy neměli používat notebooky, co
měl by
používáte?
Nenašel jsem nic lepšího než PyCharm. Bez námahy převádí mé myšlenky do kódu. Dobře, možná to není tak snadné, ale má některé úžasné funkce, které mi velmi chybí, kdykoli jsem nucen používat notebook:
Správné vyplnění kódu (ne odpadky, které získáte, když stisknete klávesu tabin v poznámkovém bloku).
Automatické přejmenování proměnných
Vyhledejte funkci nebo třídu v celé kódové základně
Refaktor pro extrahování metody nebo funkce
...kromě mnoha jiných věcí.
Ale co radost ze stisknutí Shift-Enter? Potřebuji svůj dopaminový zásah!
Pokud opravdu potřebujete interaktivní notebooky, můžete si zaplatit za profesionální edici, která má „vědecký režim“. To zahrnuje možnost prohlížet grafy matplotlib a datové rámce pandas. Pokud opravdu chcete, můžete dokonce spouštět notebooky z PyCharm.
Ale ty nechceš, že?
(Chcete prodiskutovat své vlastní konkrétní problémy s daty? Kniha a
bezplatná konzultace
s námi – jsme tu, abychom vám pomohli!)
Líbí se tomuto článku
?
Pak si nechte to nejlepší z DataPastry doručit přímo do vaší schránky. Obdržíte:
Naše bezplatná e-kniha,
Manažer's Guide to Data Science
Podrobné rady, jak nastavit datový tým, infrastrukturu a další
Nástroje a materiály, které vám pomohou stanovit hodnotu vašich dat a najmout správné datové profesionály
Přihlaste se k odběru
Nejnovější: Proč je Jupyter Notebook tak populární mezi datovými vědci