Vai al contenuto principale

[Infografica] Checklist per un progetto di Data Science

Usa questa checklist quando pianifichi il tuo prossimo progetto di data science.
Adel Nehme
Richie Cotton
Adel Nehme, Richie Cotton

Crea il tuo account gratuito

Pratica and corso your progress.

Continua con GoogleContinuando, accetti la nostra Termini di utilizzo, i nostri Informativa sulla privacy e il fatto che i tuoi dati sono archiviati negli USA.

Una buona gestione del progetto può aumentare efficienza e produttività, oltre a ridurre il rischio di fallimento. Purtroppo, i progetti di data science possono essere particolarmente difficili da gestire, perché coinvolgono stakeholder di molti team e devono bilanciare obiettivi sia di business sia tecnici.

I framework di project management offrono linee guida per pianificare, allocare risorse ed eseguire attività, così da raggiungere gli obiettivi in tempo e nel budget.

Questa infografica sintetizza i punti chiave di due framework leader per il project management: il Team Data Science Process di Microsoft e il Domino Data Science Life Cycle di Domino Data Lab, in una pratica checklist da usare nei tuoi progetti.

Data Cleaning Checklist@1x (1).png

Come usare questa cheat sheet

Questa cheat sheet riassume le best practice di project management per la data science raccolte dal Team Data Science Process di Microsoft e dal Domino Data Science Life Cycle di Domino Data Lab, combinando i principi di CRISP-DM con quelli dei framework Agile e Scrum per lo sviluppo software. Usa questa checklist quando pianifichi il tuo prossimo progetto di data science! 

Principi per una gestione efficace dei progetti di data science 

In linea di massima, i progetti di data science di successo spesso condividono le seguenti caratteristiche:

  • Misurabili: Il successo del progetto e il suo impatto sul business sono quantificabili?
  • Affidabili: Quale percentuale di progetti ha raggiunto i propri obiettivi?
  • Scalabili: È possibile aumentare il throughput dei progetti senza degradare in modo significativo l'affidabilità?

Inoltre, i team dati dovrebbero attenersi ai seguenti principi nella gestione dei progetti di data science: 

  • Iterare: Raramente i progetti procedono in linea retta dall'inizio alla fine. Lavorando sul progetto, impari cose che richiedono revisioni. In accordo con le tecniche Scrum e Agile, è consigliato tornare ai passaggi precedenti quando serve.
  • Riutilizzare e riciclare: Sviluppare ogni progetto da zero richiede tempo ed è inefficiente. Riutilizzare componenti da un progetto all'altro, che si tratti di codice, feature del modello o template di documenti, evita di reinventare la ruota.
  • Garantire la riproducibilità: Spiegare e giustificare il tuo lavoro è spesso più difficile del lavoro stesso. La tua metodologia e i risultati potrebbero essere oggetto di audit da parte di un regolatore o del cliente. Potresti anche dover riprendere in mano il lavoro più avanti. Adottare tecniche di ricerca riproducibile ti farà risparmiare tempo e può mitigare i rischi di errori non rilevati.

Checklist per un progetto di Data Science 

Sia Microsoft sia Domino Data Lab propongono fasi simili per un progetto di data science. Qui sotto proviamo a riassumerle in un unico framework unificato:

Definizione del contesto e ideazione 

Cosa fare?

Come farlo?

Identificare il problema di business da risolvere

Questo dovrebbe chiarire il motivo per cui il progetto viene intrapreso nel modo più inequivocabile possibile. 

Identificare gli stakeholder

I ruoli possono includere project manager, data scientist, account manager, amministratore dei dati.

Rivedere il lavoro precedente

Esamina progetti esistenti che hanno coperto terreno simile.

  • Quali sono stati gli esiti chiave del progetto?
  • È possibile riutilizzare qualche lavoro o asset in questo progetto?
  • Quali errori sono stati commessi e vanno evitati?

Definire gli indicatori chiave di prestazione (KPI o metriche) per misurare il successo

Le metriche dovrebbero seguire i criteri SMART.

  • Specifiche: Ben definite, affinché tutti nel team possano capirle.
  • Misurabili: È possibile stabilire se il KPI è stato raggiunto o meno.
  • Achievable (Raggiungibili): Il team ha competenze e risorse per conseguire il KPI.
  • Rilevanti: Il KPI è collegato agli obiettivi più ampi dell'organizzazione.
  • Temporalmente definite: C'è una scadenza per raggiungere l'obiettivo.

Esempio non SMART: "Aumentare la conversione del sito web"

Esempio SMART: "Ottimizzare il design e l'esperienza utente del sito per aumentare del 10% il tasso di conversione entro la fine del Q2"

Definire l'ambito

  • Quali sono i deliverable del progetto?
  • Quali sono i requisiti per questi deliverable?
  • Cosa non sarà incluso nel progetto?

Scrivere un piano di progetto

  • Imposta milestone per i passaggi intermedi del progetto.
  • Decidi una timeline per raggiungere ogni milestone.
  • Scrivi una breve descrizione di ciascun passaggio.

Stimare l'impatto del progetto

  • Quantifica il beneficio per l'organizzazione se gli obiettivi vengono raggiunti.
  • Se c'è incertezza nel calcolo, indica un intervallo o un intervallo di confidenza per i benefici.
  • Elenca eventuali benefici qualitativi non quantificabili.

Stimare lo sforzo del progetto

  • Quanto costerà il progetto?
  • Quanto tempo richiederà?
  • Di quali risorse avrà bisogno?

Stimare i rischi del progetto

  • Elenca tutti i rischi per il progetto.
  • Per ciascun rischio, calcola l'impatto come probabilità che accada moltiplicata per la gravità se accade.

Decidere se procedere o meno con il progetto

In base all'impatto atteso rispetto a sforzo e rischi, decidi se

  • procedere ora con il progetto.
  • mettere il progetto in pausa a favore di iniziative a più alta priorità.
  • cancellare il progetto.

Definire la responsabilità di ciascuno stakeholder

Usa il modello RACI. Per ogni attività, stabilisci chi è

  • Responsible: la persona che esegue il lavoro.
  • Accountable: la persona responsabile delle decisioni chiave.
  • Consulted: chi viene interpellato per le decisioni chiave.
  • Informed: chi deve essere informato sulle decisioni chiave.

Definire una strategia di comunicazione

  • Come vi terrete in contatto?
  • Qual è la cadenza delle riunioni?

Identificare le fonti dati

  • Hai già accesso a questi dati?
  • Dove sono archiviati i dati?
  • In che formato sono i dati?
  • Quanto è grande il dataset?
  • Hai un data dictionary che spiega il significato dei dati?
  • Si possono creare dati sintetici per un proof-of-concept?

Anticipare le esigenze normative

  • Qualche deliverable (come modelli finanziari) sarà sottoposto ad audit?
  • Tutte le fonti dati o feature possono essere usate legalmente?

Scegliere uno stack tecnologico

  • Concorda gli strumenti per archiviare, elaborare e modellare i dati.

Scrivere un project charter

  • Riassumi in un breve documento quanto deciso per il progetto, inclusi obiettivi, stakeholder, KPI, piano, fonti dati, stack tecnologico e strategia di comunicazione.

Raccolta ed esplorazione dei dati 

Cosa fare?

Come farlo?

Dare ai data scientist accesso a tutti i dataset

  • Organizza le autorizzazioni appropriate per ogni dataset.
  • Acquista eventuali dataset commerciali o usa dati sintetici con proprietà simili.

Acquisire i dati

  • Per ogni fonte, sposta i dati nell'ambiente di analytics.

Esplorare i dati

  • Visualizza la distribuzione di ogni variabile con un istogramma o un grafico a barre.
  • Quantifica i valori mancanti per ciascuna variabile.
  • Visualizza la relazione tra feature e variabile target con scatter plot, istogrammi, box plot o heatmap.

Scrivere un rapporto sulla qualità dei dati

Per ciascun dataset

  • Fornisci un riepilogo del dataset.
  • Descrivi eventuali problemi di qualità a livello generale.
  • Descrivi la qualità della variabile target.
  • Descrivi la qualità di ciascuna feature.
  • Descrivi la relazione tra ogni feature e la variabile target.

Decidere se procedere o meno con il progetto

In base al rapporto sulla qualità dei dati, decidi se

  • proseguire con il progetto.
  • mettere in pausa mentre raccogli più dati.
  • cancellare il progetto.

Costruire una pipeline dati

Di norma i dati dovranno essere aggiornati regolarmente man mano che il progetto avanza. La pipeline dati 

  • dovrebbe automatizzare i processi di ingestione e pulizia.
  • dovrebbe essere pianificata (aggiornamenti batch) o girare in continuo (aggiornamenti in streaming).

Documentare la pipeline dati

  • Disegna un diagramma dei passaggi nella pipeline e delle loro dipendenze.
  • Descrivi cosa avviene in ciascun passaggio.

Modeling e testing

Questa sezione copre sia progetti basati su machine learning sia progetti sperimentali come gli A/B test. Scarta i passaggi che non hanno senso per il tuo caso d'uso. 

Modeling 

Cosa fare?

Come farlo?

Generare un'ipotesi

  • L'ipotesi ha senso nel dominio di business?
  • Puoi misurare l'esito?
  • Hai abbastanza dati per osservare un effetto statisticamente significativo?
  • Ci sono bias statistici da considerare?

Dividere i dati in training e test

Assicurati di farlo prima di iniziare l'engineering delle feature per evitare il data leakage.

Fare feature engineering

Crea feature per il tuo modello con tecniche tra cui:

  • Centrare o scalare le variabili numeriche.
  • Creare variabili categoriche da variabili numeriche tramite binning.
  • Applicare trasformazioni di Box-Cox o Yeo-Johnson alle variabili numeriche affinché seguano una distribuzione normale.
  • Unire categorie rare o correlate delle variabili categoriche.
  • Estrarre o combinare parti delle date/ore.
  • Creare nuove variabili da statistiche di sintesi.
  • Estrarre metriche quantitative da testo e altri dati non strutturati.

Fittare il modello o eseguire un esperimento

  • Inizia dal modello più semplice e aumenta gradualmente la complessità.
  • Per dataset grandi, valuta di modellare su un campione.

Valutare i risultati

Usa metriche come accuracy, precision e recall per quantificare le prestazioni del modello. Se le prestazioni non sono sufficienti:

  • Puoi raccogliere dati aggiuntivi?
  • Puoi creare ulteriori feature?
  • Puoi usare altri algoritmi?

Rendicontare i risultati

  • Fornisci regolarmente feedback agli stakeholder.
  • Adatta il linguaggio a stakeholder di business vs. tecnici.
  • Riporta i fallimenti oltre ai successi.

Testing

Cosa fare?

Come farlo?

Creare una suite di test

Definisci test che girino automaticamente per verificare le prestazioni del tuo modello o esperimento e individuare bug introdotti durante le iterazioni. Possono includere:

  • Unit test del codice.
  • Un backtest per un portafoglio o altre serie temporali.

Validare l'impatto sul business

Ora che hai le metriche di performance del modello, puoi quantificare meglio l'impatto atteso sul business. Discuti l'impatto con gli stakeholder di business.

Validare l'approccio tecnico

Verifica che il modello finale sia tecnicamente adeguato.

  • Le assunzioni del tuo modello sono valide?
  • I risultati sono sensibili ai dati campionati?
  • Gli iperparametri sono adeguati?
  • Qualcun altro può riprodurre il tuo modello?

Validare la distribuibilità

  • Si possono gestire tutti i possibili valori di input o casi d'uso?
  • Tutte le fonti dati richieste sono disponibili in produzione?
  • Il modello può fallire in modo controllato se alcune fonti dati non sono disponibili?
  • Le predizioni possono essere generate abbastanza velocemente?

Conservare i risultati nulli

Tutto ciò che non andrà in produzione dovrebbe essere registrato in un repository della conoscenza, così i progetti futuri non perderanno tempo a riprovare le stesse cose.

Deployment e user testing

Deployment

Cosa fare?

Come farlo?

Sviluppare una pipeline dati

  • Imposta un grafo aciclico diretto (DAG) per tutte le fonti dati verso l'ambiente di produzione.
  • Pianifica aggiornamenti dei dati che girino automaticamente.

Sviluppare una pipeline del modello

  • Dividi il flusso del modello in task e combinateli in una pipeline.

Operationalizzare il modello

Fornisci un'API al tuo modello accessibile da dashboard, siti web o altri software.

Progettare un piano di monitoraggio

  • Definisci le metriche da tracciare, incluse metriche di performance e di sicurezza che indichino se hai introdotto un bug.
  • Stabilisci limiti per gli intervalli accettabili di tali metriche.
  • Decidi come vuoi essere avvisato se le metriche escono dall'intervallo.

Rilascio tramite A/B test

  • Offri la nuova feature o il nuovo modello a un campione casuale di utenti.
  • Monitora da vicino le metriche scelte, ma resisti alla tentazione di dichiarare un gruppo vincente finché non hai significatività statistica.

Analizzare e rendicontare i risultati dell'A/B test

  • Confronta le metriche che hai scelto di tracciare per ciascun gruppo.
  • Rendi noti i risultati, anche se il test non ha avuto successo.

Rilascio alla maggior parte o a tutti gli utenti

Se il test ha avuto successo, distribuisci la feature o il modello alla maggior parte o a tutti gli utenti.

  • Includere un piccolo gruppo di controllo che non riceve la feature o il modello ti permette di ottenere dati di lungo periodo su quanto incremento di performance ottieni dalla novità.

User testing

Cosa fare?

Come farlo?

Scrivere un rapporto finale

Riassumi lo stato del progetto e ciò che hai imparato.

  • Fornisci una panoramica del progetto.
  • Riassumi il problema di business che hai cercato di risolvere.
  • Descrivi le fonti dati e come sono state elaborate.
  • Descrivi le tecniche di modeling usate e come il modello è stato validato.
  • Riassumi l'architettura della soluzione.
  • Indica i benefici per l'azienda e per il cliente.
  • Descrivi eventuali lezioni apprese su esecuzione del progetto, data science, dominio di business e prodotto.
  • Definisci i prossimi passi.

Raccogliere feedback dai clienti

  • Conduci sondaggi e interviste con gli utenti.
  • Monitora recensioni, valutazioni e social media.

Monitoraggio

Cosa fare?

Come farlo?

Sviluppare la pipeline di monitoraggio

Configura una pipeline per tracciare automaticamente le metriche di performance e di sicurezza definite nel piano di monitoraggio.

Creare dashboard

Crea dashboard per monitorare nel tempo l'andamento di queste metriche.

Impostare avvisi

Imposta avvisi che ti notifichino via email, Slack, ecc., quando le metriche escono dall'intervallo accettabile.

Argomenti

Correlato