Miksi en käytä Jupyter-muistikirjaa, etkä myöskään sinun pitäisi
– Joel Grus
– Iskander Yusof
Jupyter-muistikirjat ovat suurin piirtein ensimmäinen työkalu, jonka datatieteilijä vetää pois hyllystä lähestyessään uutta ongelmaa. Ja hyvästä syystä. Mikään ei vastaa välitöntä palautetta, jonka saat, kun painat shift-enter-näppäintä ja koodisi arvioidaan. Lisäksi näet kaaviosi koodisi vieressä! Mitä ei pidä rakastaa?
No, aika paljon.
Olen datatieteilijä, mutta käytän hyvin harvoin Jupyter-muistikirjoja. Tässä on syy ja miksi mielestäni sinun ei pitäisi myöskään käyttää niitä, jos haluat olla tehokkain datatieteilijä.
Ne kannustavat saastuttamaan globaalia nimiavaruutta
Muistikirjojen paras ominaisuus on, että ne antavat välitöntä palautetta: paina vain vaihto-enter.
Tämä on myös heidän huonoin ominaisuus.
Saakseni välitöntä palautetta huomasin kirjoittavani koodia globaaliin nimiavaruuteen funktioiden kirjoittamisen sijaan. Tämä on yleensä
huonona käytäntönä
inPython-kehitys. Syynä tähän on se, että on erittäin vaikea perustella solusarjan ajamisen vaikutusta. Ne kaikki muokkaavat globaalia nimiavaruutta, mikä tarkoittaa, että muistikirjasi on todella hirvittävän suuri
valtiokone
.
Se johtaa myös kahteen seuraavaan vastalauseeni...
Ne estävät tehokkaan koodin uudelleenkäytön
Paras tapa käyttää koodia uudelleen Pythonissa on funktioiden ja luokkien avulla. Muistikirjoissa houkutus on käyttää koodia uudelleen
solut
sen sijaan. Koska käytät globaalia nimiavaruutta, luotat siihen, että solut suoritetaan tietyssä järjestyksessä. Jotta voit käyttää koodin soluja uudelleen, sinun on asetettava jokin yleinen muuttuja ja suoritettava oikea solu. Se, mitä pitää ajaa ja missä järjestyksessä, tulee ongelmaksi ja johtaa myös...
Ne haittaavat toistettavuutta
Jos käytät muistikirjaasi aina lineaarisessa järjestyksessä alusta loppuun, toistettavuuden ei pitäisi olla ongelma. Joku muu voi ottaa muistikirjasi, käyttää sitä järjestyksessä ja saada samat tulokset.
Tämä tarkoittaa kuitenkin (katso yllä) sitä, että sinulla ei yleensä ole koodin uudelleenkäyttöä. Se myös kumoaa jonkin verran muistikirjan käytön eduista, eli sen, että voit käyttää sitä missä tahansa järjestyksessä.
Jos et aina käytä sitä lineaarisesti, on todennäköistä, että myös muut kannettavaa tietokonettasi käyttävät ihmiset käyttävät sitä eri järjestyksessä, ja on vaikea varmistaa, että he saavat saman (tai ainakin tehokkaan) tuloksia.
Haluatko toistettavuuden? Olet data
tieteilijä
.
Ne eivät pelaa hyvin lähteen ohjauksen kanssa
Jos olet ammattimainen datatieteilijä, työskentelet todennäköisesti tiimissä. Tämä tarkoittaa, että sinun on tehtävä yhteistyötä. Ja yhteistyö muistikirjojen kanssa on... roskaa. Yleensä se tarkoittaa muistikirjan tallentamista ja sen lähettämistä jollekin.
Tietenkin voit laittaa muistikirjat lähteen hallintaan. Niin kauan kuin kukaan ei muokkaa sitä samaan aikaan, jolloin onnea yrittää sulautua heidän muutoksiinsa.
Entä testaus?
Ei ole muuta kuin muutama hyvin kirjoitettu yksikkötesti virheiden löytämiseksi koodistasi. Ja monta kertaa olen käyttänyt kymmenen minuuttia odottaen kokeen alkamista ja huomannut, että se katkeaa puolivälissä. Jos minulla olisi ollut nopea testi, jonka voisin juosta ensin, minun ei olisi tarvinnut odottaa.
Valitettavasti ei ole vain vaikeaa, mutta myös lähes mahdotonta kirjoittaa yksikkötestejä kannettavan tietokoneen soluille. Jälleen, jos todella kirjoitat toimintoja muistikirjoihin, voit tehdä sen, mutta menetät mukavan vuorovaikutteisuuden ominaisuuden.
Ne eivät ole PyCharm
Jos sinun ei pitäisi käyttää muistikirjoja, mitä
pitäisi
käytätkö?
En ole löytänyt mitään parempaa kuin PyCharm. Se kääntää ajatukseni vaivattomasti koodiksi. Ok, ehkä se ei ole niin helppoa, mutta siinä on joitain uskomattomia ominaisuuksia, joita kaipaan kovasti aina, kun minun on pakko käyttää muistikirjaa:
Koodin asianmukainen täydennys (ei roska, jonka saat, kun painat muistikirjan sarkainta).
Automaattinen muuttujien uudelleennimeäminen
Hae funktiota tai luokkaa koko koodikannasta
Refaktoroi menetelmän tai funktion poimimiseksi
...monen muun joukossa.
Mutta entä vaihto-enterin painamisen ilo? Tarvitsen dopamiiniiskuni!
Jos todella tarvitset interaktiivisia muistikirjoja, voit maksaa ammattiversiosta, jossa on "tieteellinen tila". Tämä sisältää mahdollisuuden tarkastella matplotlib-kaavioita ja panda-tietokehyksiä. Voit jopa käyttää muistikirjoja PyCharmista, jos todella haluat.
Mutta et halua, ethän?
(Haluatko keskustella omista tietoongelmistasi? Varaa a
ilmainen konsultaatio
kanssamme – olemme täällä auttamassa!)
Pidin tästä artikkelista
?
Saa sitten DataPastryn parhaat puolet suoraan postilaatikkoosi. Saat:
Ilmainen e-kirjamme,
Datatieteen johtajan opas
Tarkkoja neuvoja tietotiimin, infrastruktuurin ja muiden määrittämiseen
Työkalut ja materiaalit, joiden avulla voit määrittää tietojesi arvon ja palkata oikeat tietoasiantuntijat
Tilaa
Latest: Miksi Jupyter Notebook on niin suosittu datatieteilijöiden keskuudessa