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.

Ti linko un articolo inerente a come strutturare un progetto di machine learning, dove do spunti in merito al file README.md, che uso per prendere appunti.

Come strutturare un progetto di machine learning
Boilerplate per la struttura di un progetto di data science
💡
L'abilità di prendere appunti con metodo è molto importante per il successo del tuo progetto di machine learning o data science.

In questo articolo imparerai:

- una metodologia per strutturare i tuoi appunti in maniera logica e consistente
- come migliorare la tua produttività attraverso l'attività di note-taking
- come tale struttura impatterà la comunicazione del processo

Praticamente in qualsiasi contesto, prendere appunti equivale ad avere una sessione di brainstorming con se stessi e aiuta a chiarire il nostro pensiero.

Prendere appunti 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 :)

Perché scrivere appunti in primo luogo?

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

  1. Comprendere il problema a un livello più profondo rispetto allo scrivere codice direttamente a rifarci ai commenti
  2. Inquadrare il problema da un'angolazione diversa, portandoci a risultati inaspettati
  3. Scrivere le cose porta a migliori capacità di comunicazione verbale. Ne avremo bisogno quando presenteremo agli stakeholder
  4. 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 ti presenterò un processo interessante per prendere appunti in modo efficiente, aumentando chiarezza verso il problema e la tua velocità di esecuzione.

Il template per prendere appunti

Ecco il template che ti menzionavo.

Con questo approccio, che potrai liberamente espandere e trasformare, potrai beneficiare di una metodologia replicabile e scalabile a qualsiasi progetto, anche non inerente alla data science e al machine learning.

Iniziamo dividendo il nostro file in più sezioni:

  • informazioni che abbiamo ora (ingredienti)
  • cosa intendiamo fare con i dati che abbiamo (ricetta)
  • risultati previsti (visione)
  • considerazioni e commenti (interpretazione)

L'ordine è fisso, ma se il progetto richiede uno sforzo creativo ulteriore trovo utile inserire prima considerazioni e commenti e poi il resto.

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.

Come questo processo aiuta la comunicazione

Quando avrai preso consapevolezza con questo metodo vedrai che la tua chiarezza verso il problema da risolvere sarà maggiore.

Questo ti permetterà di rispondere a domande precise da parte degli stakeholder o dai membri del tuo team.

Migliore sarà la tua comprensione del problema, maggiore sarà la tua efficienza nel trovare soluzioni risolutive.

Consiglio anche di consolidare i propri pensieri in una presentazione PowerPoint da mostrare al tuo capo o al tuo team. Farai una bella figura e ti metterai in condizione di raccogliere angoli nuovi sul problema che vuoi risolvere.

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.

Sentiti libero di sperimentare con la tua 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!