Prendere appunti è spesso una attività trascurata durante lo sviluppo di un progetto di data science o analytics, soprattutto dai principianti. Un errore che ho fatto io stesso nel primo periodo della mia carriera è stato quello di saltare subito alla fase di modellazione, prestando poca attenzione alle fasi precedenti, ma essenziali, della pipeline di machine learning.
In noi data scientist spesso si scatena un’ondata di adrenalina quando iniziamo a modellare i dati (almeno questo succede al sottoscritto). Ma le fasi di modellazione e previsione possono risentire negativamente di una scarsa strutturazione del progetto, ipotesi o preprocessing sbagliati. Questo di solito è causato da una moltitudine di motivi:
- sessioni di brainstorming incomplete (o addirittura assenti)
- dati errati (garbage in, garbage out; spazzatura dentro, spazzatura fuori)
- cattive pratiche di programmazione
e altro ancora. I miei lettori sanno che ho già scritto sulla strutturazione corretta di un progetto di data science e in tale ambito cito anche il file README.md, che è anch’esso il risultato di una attività di presa di appunti.
Credo che questa abilità sia incredibilmente importante per il successo di un progetto - mi permetto di spiegare perché in questo articolo.
Praticamente in qualsiasi contesto, prendere appunti equivale ad avere una sessione di brainstorming con se stessi e aiuta a chiarire il nostro pensiero. Dà una struttura progressiva e chiarezza alle varie fasi del progetto e ci aiuta a capire cose che non sarebbero così chiare se non fossero state scritte in primo luogo.
I principianti si precipitano nelle cose perché sono pieni di energia e vogliono mettersi alla prova: questo è il vero motivo per cui commettono così tanti errori. Vanno di fretta e si dimenticano di scrivere i loro pensieri su carta.
Se sei un principiante, troverai molti vantaggi dal rallentare e concentrarti sul prendere appunti correttamente. Se sei un professionista esperto, capirai perché sto dedicando un intero articolo a questo argomento. Spero che ti divertirai a leggerlo :)
Saper prendere appunti è un superpotere
Scrivere su questo blog e su Medium ha consolidato ancora di più per me questa convinzione. Essere in grado di scaricare i propri pensieri su carta è veramente un superpotere, e per di più molto sottovalutato.
Perché? Perché scrivere le cose ci fa pensare meglio. Ci permette di affinare i pensieri che funzionano e di sbarazzarti di quelli che non funzionano.
Vediamo come questo influisca sul risultato dei nostri progetti. Se prendiamo appunti correttamente possiamo
- Comprendere il problema a un livello più profondo rispetto allo scrivere codice direttamente a rifarci ai commenti
- Inquadrare il problema da un'angolazione diversa, portandoci a risultati inaspettati
- Scrivere le cose porta a migliori capacità di comunicazione verbale. Ne avremo bisogno quando presenteremo agli stakeholder
- Avere una mappa mentale da seguire e raggiungere il l'obiettivo: ogni volta che ci sentiamo distratti o fuori focus, pos siamo sempre tornare indietro e leggere i nostri appunti.
A breve vedremo come impostare un processo interessante per prendere appunti in modo efficiente.
Un modello per prendere appunti
Iniziamo dividendo il nostro file in più sezioni:
- informazioni che abbiamo ora (ingredienti)
- cosa intendiamo fare con i dati che abbiamo (ricetta)
- risultati previsti
- considerazioni e commenti
L'ordine è arbitrario. Se il progetto richiede uno sforzo creativo ulteriore trovo utile inserire prima considerazioni e commenti e poi il resto. Scegliere a piacimento.
Ingredienti
Qui mettiamo giù ciò che già abbiamo. Non si tratta solo di dati: stiamo parlando di informazioni che circondano i dati, il contesto, restrizioni o le limitazioni impostate dal cliente e così via.
Ad ogni informazione dedico un paio di righe per descrivere di cosa si tratta e gli ipotetici utilizzi. Questo mi aiuta in diversi modi - elencando e descrivendo gli elementi ho uno scenario di partenza più chiaro. So cosa ho, so cosa posso e cosa non posso fare.
Questa sezione viene solitamente popolata all'inizio del progetto, prima della scrittura di codice. Se vengono visualizzate nuove informazioni durante lo sviluppo, possiamo aggiungerle in un secondo momento.
Ricetta
Qui è dove stabilisco cosa intendo fare con gli ingredienti che ho. Di solito scrivo di una ipotetica una sequenza di azioni, un po' come un diagramma di flusso o un elenco enumerato.
Questi passaggi non sono scolpiti in pietra: se ci rendiamo conto che dobbiamo modificare la direzione o concentrarci su qualche altro aspetto del progetto per garantire un risultato migliore, possiamo aggiornare questi passaggi e consolidare il ragionamento descrivendo perché ciò è accaduto.
Se lavori in gruppo e prevedi di distribuire i tuoi appunti, assicurati di chiarire i dettagli che per altri potrebbero essere ignoti.
Risultati previsti
È molto utile delineare ciò che ci si aspetta di vedere dal nostro modello/analisi prima di iniziare a programmare. Questo ci aiuterà a vedere i problemi in anticipo se ce ne fossero. Possiamo anche elencare una serie di output che soddisfano le esigenze del cliente.
Considerazioni e commenti
Puro brainstorming e flusso di coscienza. Poniamo domande, elaboriamo nuove idee e utilizziamo qualsiasi strumento di cui abbiamo bisogno per descrivere ciò che abbiamo in mente, anche se non si collega ancora al progetto.
Forse vogliamo ampliare la nostra analisi con una serie di idee che sembrano interessanti? Scriviamolo in dettaglio.
Vogliamo chiedere al cliente e chiarire cosa significa una determinata variabile? Scriviamolo come TODO e chiamiamo il cliente. Ho reso l'idea.
Conclusione
Se non hai mai preso appunti prima di iniziare un progetto, ti consiglio di farlo. Vedrai un enorme miglioramento nei tuoi ragionamenti e di conseguenza nel tuo output. Questo processo si applica anche ad altri campi (ma forse con processi diverso), non solo alla data science e analytics. Sentitevi liberi di sperimentare con la vostra struttura: questo processo funziona per me, ma ciò che funziona per te potrebbe essere leggermente diverso.
Come nota finale, ecco il video che mi ha ispirato anni fa a sviluppare questo processo. George Hotz è un famoso hacker, imprenditore e a dirla tutta un genio della programmazione. Il modo in cui scorre il suo pensiero e come organizza i suoi progetti è affascinante. Dai una occhiata anche gli altri suoi video, te lo consiglio!
Commenti dalla community