Corso

I notebook sono diventati la norma nella data science per gran parte degli ultimi 10 anni e ogni data scientist ne ha usato almeno uno. Consentono di sperimentare rapidamente e condividere intuizioni grazie alla creazione veloce dell'ambiente, all'output interattivo e a snippet di codice che possono essere eseguiti in qualsiasi ordine.
Le organizzazioni hanno investito molto in data science e analytics, e un'area chiave di investimento sono stati gli strumenti che permettono ai data scientist di lavorare in modo efficiente e di sperimentare rapidamente sui dati. I notebook sono al centro di tutto questo e sono un componente di molte innovazioni di tooling che vediamo oggi nel moderno data stack. Ancora più importante, i notebook stanno anche dando potere ai citizen data scientist per democratizzare le insight sui dati.
Questo articolo ripercorre il passato, il presente e il futuro del notebook e come i notebook stiano abbattendo i silos nel lavoro sui dati e nella collaborazione.
La storia del notebook per data science
Quasi ogni data scientist oggi ha usato un notebook, il più popolare è Jupyter Notebook. Tuttavia, i notebook hanno una storia ricca che precede la data science—una storia che risale ai primi anni '80.
L'ascesa della programmazione letterata
Introdotta nel 1984 da Donald Knuth, la programmazione letterata era pensata come una metodologia per creare programmi leggibili dagli esseri umani. L'idea era di scrivere la logica del programma in linguaggio naturale, con snippet di codice e macro scritti come commenti separati, noti come “WEB”. Le macro sono simili al pseudocodice usato per insegnare informatica.
Un preprocessore poi analizza il WEB per creare il codice sorgente (“tangle”) e la documentazione (“weave”). La programmazione letterata è ancora usata oggi, ad esempio in Axiom, ma le idee chiave alla sua base hanno portato allo sviluppo di notebook molto simili a quelli che vediamo oggi.
I primi notebook
I primi notebook chiave furono Wolfram Mathematica e Maple, rilasciati alla fine degli anni '80. Funzionavano con un front end e un kernel nel back end. L'immagine qui sotto mostra un grafico 3D generato con Mathematica con la familiare notazione In[ ] e Out[ ] che continuiamo a vedere nei notebook ancora oggi.

Il primo notebook Wolfram Mathematica
Questi strumenti avevano differenze sottili, come l'uso di Invio invece di Maiusc + Invio per eseguire il codice e variazioni nel modo in cui venivano visualizzate le operazioni matematiche. Tuttavia, entrambi contenevano idee che hanno influenzato il design dei notebook moderni.
Una barriera chiave all'adozione su larga scala era il costo, poiché questi strumenti erano costosi e richiedevano una licenza. Questo problema, diffuso in tutto il settore, ha portato nel 1998 alla creazione della Open Source Initiative, che ha dato vita a molti dei potenti strumenti gratuiti che usiamo oggi (ad esempio Jupyter Notebook!).
Le prime fondamenta dei notebook moderni per data science
Nel 2001 sono stati rilasciati IPython e SciPy, con Matplotlib a seguire nel 2003. SciPy ha reso possibili una serie di calcoli scientifici in Python, mentre IPython ha migliorato l'esperienza utente nel terminale e ha aggiunto il supporto per il calcolo distribuito. Come oggi, Matplotlib ha consentito la creazione semplice di visualizzazioni dei dati in Python.
Solo nel 2005 questi strumenti open source (e altri) furono riuniti in un unico strumento noto come SageMath. L'obiettivo era fornire un'alternativa open source a Mathematica e Maple, combinando e costruendo sopra altri strumenti scientifici open source e offrendo funzionalità web che sono una caratteristica fondamentale dei notebook moderni.
Nel 2011, IPython ha rilasciato il suo notebook che aveva una chiara distinzione tra il front end dell'applicazione web e il documento notebook sottostante.

L'IPython Notebook
La nascita di Jupyter Notebook
Jupyter è stato scorporato da IPython nel 2014, introducendo l'interfaccia del notebook e portando con sé altre parti di IPython indipendenti dal linguaggio. Deve il nome ai linguaggi originariamente supportati: Julia, Python e R. Jupyter Notebook è ora il punto di riferimento per i data scientist ed è senza dubbio l'interfaccia notebook più utilizzata oggi.
Un'area chiave di sviluppo negli ultimi anni è stata quella delle app che separano il front end dal kernel, in modo che il front end sia accessibile all'utente nel browser mentre il kernel gira in data center basati sul cloud. Un ottimo esempio di questo tipo di strumento è DataCamp Workspace, dove puoi iniziare a lavorare con un'istanza di Jupyter Notebook direttamente dal browser.

JupyterLab in DataCamp Workspace
Con la crescente adozione e popolarità dei notebook, gli ultimi anni hanno inaugurato un'ondata di interfacce notebook moderne che permettono a chiunque di lavorare facilmente con i dati. Nella prossima sezione vedremo come i notebook moderni stiano abbattendo le barriere al lavoro con i dati.
Come i notebook moderni per data science danno potere ai citizen data scientist
L'idea dei Citizen Data Scientist è stata coniata da Gartner nel 2016. I Citizen Data Scientist hanno competenze tecniche ma potrebbero non avere background tradizionali in data science, statistica o informatica.
Man mano che la data science si dirama sempre più da disciplina a metodologia per risolvere problemi di business, i Citizen Data Scientist sono il volto della moderna organizzazione data-driven. I notebook sono uno strumento eccellente per i Citizen Data Scientist perché permettono sperimentazioni rapide e insight condivisibili con barriere all'ingresso minime o nulle.
Sebbene i notebook siano sempre stati eccellenti per esplorare e analizzare rapidamente un dataset, in passato hanno mostrato carenze in aree come la collaborazione e la condivisione delle insight. Nel 2022 non è più così: i notebook moderni e l'ecosistema circostante coprono molte di queste storiche lacune. Ecco alcuni modi in cui i notebook stanno portando a guadagni in produttività, efficienza e collaborazione.
I notebook moderni per data science sono collaborativi
Un esempio evidente di strumento collaborativo moderno è Google Docs. Molti utenti possono utilizzare e modificare documenti, e si può anche controllare chi può fare modifiche e chi può solo suggerire commenti. Le modifiche vengono salvate regolarmente per prevenire disastri.
Tecnologie simili sono ora disponibili per i notebook con strumenti come Deepnote e Datacamp Workspace. Più utenti possono modificare ed eseguire notebook oltre a lasciare commenti. Tutta questa collaborazione avviene in tempo reale, rendendo l'intero processo molto più efficiente.

Collaborazione in DataCamp Workspace
La collaborazione è essenziale per chiunque lavori con i dati. Ridurre le barriere alla collaborazione significa anche ridurre i silos di dati condividendo conoscenza ed esperienza. Sebbene tradizionalmente collaborare tramite notebook possa essere lento, il moderno data stack è rapido ed efficiente. Molti strumenti si integrano perfettamente nello stack tecnologico esistente, consentendo agli utenti di lavorare con gli strumenti a cui sono abituati pur collaborando con i colleghi.
Aiutano a democratizzare le insight sui dati
Condividere analisi con altri utenti può essere difficile—che si tratti di stakeholder di business o di persone più tecniche. Storicamente, i professionisti condividevano report dei notebook e insight via email, Slack, presentazioni o web app create ad hoc.
I notebook moderni, però, democratizzano le insight consentendo di condividere i notebook senza soluzione di continuità. Ad esempio, IPyWidgets permette di aggiungere widget interattivi ai notebook, così gli utenti possono spostare slider per cambiare grafici e interagire maggiormente con le insight. Binder trasforma una repo in notebook interattivi ospitati, consentendo di condividere un notebook interattivo che chiunque può eseguire. Voila trasforma un notebook in una web app ospitata, permettendo ancora una volta di interagire pienamente senza nemmeno vedere tutto il codice. Datacamp Workspace consente di condividere notebook e fornire template per aggiungere narrazioni ai dati.

Pubblicazione di report in DataCamp Workspace
Possono colmare il gap di talenti
La data science è sia ampia che profonda: c'è tantissimo da imparare in molte aree diverse. Essere esperti di NLP non ti rende un grande data engineer o qualcuno che capisce la computer vision.
Un collegamento chiave tra i diversi sottocampi della data science sono i dati e l'infrastruttura. Senza dati di qualità, i modelli non funzionano bene. Allo stesso modo, senza l'infrastruttura a supporto dello sviluppo dei modelli e della pulizia dei dati, è molto difficile iniziare.
Per i Citizen Data Scientist non sono necessarie competenze di ingegneria. I notebook moderni permettono a chiunque di mettersi in moto rapidamente sfruttando l'infrastruttura cloud. Ambienti e pacchetti sono ben gestiti e possono essere facilmente aggiornati e modificati dalla maggior parte degli utenti. Questo assicura che non sia necessario colmare lacune nelle competenze ingegneristiche e che i professionisti possano dedicare tempo a produrre insight.
Inoltre, la maggior parte delle tecniche di data science è pienamente compatibile con i notebook—i modelli possono essere addestrati, si possono tracciare grafici 3D e costruire pipeline di dati. Questo assicura che i Citizen Data Scientist possano sperimentare con l'intera gamma di tecniche e comunicare facilmente i risultati agli stakeholder o condividere il codice con altri utenti tecnici.
I notebook moderni si integrano con altri strumenti
Abbiamo già visto come i notebook moderni abbattano i silos di dati tra i team e riducano la barriera all'ingresso per lavorare con i dati. Tuttavia, un altro punto dolente che i notebook hanno avuto storicamente è la scarsa integrazione con altri strumenti usati nel flusso di lavoro della data science. Un esempio chiave è SQL.
Storicamente, i professionisti configuravano le connessioni ai database con pacchetti come `mysql.connector` in Python o `DBI` in R. Questi pacchetti richiedevano la configurazione manuale delle connessioni al database e l'inserimento manuale delle credenziali rilevanti per l'accesso ai dati.
I notebook moderni, invece, offrono supporto nativo per SQL. Ad esempio, usando DataCamp Workspace, gli utenti possono impostare una connessione sicura direttamente dal DataCamp Notebook Editor a database come PostgreSQL, MySQL e Amazon Redshift. I dati estratti dai database integrati possono poi essere analizzati con R o Python.

Celle SQL in DataCamp Workspace
Il futuro del notebook per data science
Il notebook moderno è al cuore della rivoluzione dei dati. Mette a disposizione dei professionisti con diverse competenze la possibilità di sperimentare facilmente con i dati, condividere insight e colmare il divario tra business e team dati. Inoltre, i notebook stanno dando potere ai citizen data scientist, inaugurando una nuova ondata di alfabetizzazione ai dati all'interno delle organizzazioni.
Le organizzazioni data-first come Netflix sono famose per la loro innovazione sui notebook, poiché i notebook sono lo strumento più popolare per lavorare con i dati tra persone e team. Il futuro dei notebook sarà definito da una maggiore agilità, una migliore integrazione con il resto del data stack e una collaborazione e condivisione solide per democratizzare le insight sui dati. Per saperne di più sui notebook, dai un'occhiata alle seguenti risorse:

