Contattataci

Struttura del corso

PySpark & Apprendimento Automatico 

Modulo 1: Fondamenti di Big Data e Spark

  • Panoramica sull’ecosistema del Big Data e sul ruolo di Spark nelle piattaforme dati moderne
  • Comprensione dell’architettura di Spark: driver, executor, gestore del cluster, valutazione pigra, grafo delle dipendenze e pianificazione esecutiva
  • Differenze tra le API RDD e DataFrame e criteri per scegliere l’una o l’altra modalità d’utilizzo
  • Creazione e configurazione di SparkSession nonché nozioni fondamentali riguardo alla configurazione delle applicazioni

Modulo 2: PySpark DataFrames

  • Lettura e scrittura di dati da fonti aziendali in vari formati (CSV, JSON, Parquet, Delta)
  • Lavorare con i PySpark DataFrames: trasformazioni, operazioni, espressioni sulle colonne, filtraggio, join e aggregazioni
  • Implementazione di operazioni avanzate come funzioni finestra, gestione delle date temporali e elaborazione di dati annidati
  • Applicazione di controlli sulla qualità dei dati e stesura di codice PySpark riutilizzabile e facilmente manutenibile

Modulo 3: Elaborazione efficace di set di dati di grandi dimensioni

  • Nozioni fondamentali sulle prestazioni: strategie di partizionamento, comportamento dello shuffle, caching e persistenza
  • Utilizzo di tecniche di ottimizzazione quali join broadcast e analisi dei piani esecutivi
  • Elaborazione efficiente di grandi quantità di dati e linee guida per realizzare flussi di lavoro scalabili
  • Comprensione dell’evoluzione degli schemi strutturati nonché dei formati di archiviazione adottati negli ambienti aziendali

Modulo 4: Ingegneria delle feature su larga scala

  • Esecuzione dell’ingegneria delle feature con Spark MLlib: gestione dei valori mancanti, codifica di variabili categoriche e scaling delle feature
  • Progettazione di fasi di pre-elaborazione riutilizzabili e preparazione dei dataset per le pipeline ML
  • Introduzione alla selezione delle feature e gestione dei dataset caratterizzati da un bilanciamento non uniforme tra le classi

Modulo 5: Apprendimento Automatico con Spark MLlib

  • Conoscenza dell’architettura di MLlib e comprensione del pattern Estimator/Transformer
  • Addestramento di modelli di regressione e classificazione su larga scala (Regressione Lineare, Regressione Logistica, Alberi Decisionali, Foresta Casuale)
  • Confronto tra diversi modelli e interpretazione dei risultati ottenuti in ambienti di apprendimento automatico distribuito

Modulo 6: Pipeline ML complete

  • Costruzione di pipeline ML completi che includono pre-elaborazione, ingegneria delle feature e modellazione
  • Applicazione di strategie per la suddivisione dei dati in insiemi di addestramento, validazione e test
  • Esecuzione della convalida incrociata e ottimizzazione degli iperparametri mediante ricerca a griglia e selezione casuale
  • Strutturazione di esperimenti di apprendimento automatico ripetibili e documentati

Modulo 7: Valutazione dei modelli ed elaborazione pratica delle decisioni ML

  • Applicazione delle metriche di valutazione appropriate per problemi di regressione e classificazione
  • Identificazione dei fenomeni di overfitting e underfitting e scelta pratica dei modelli da implementare
  • Interpretazione dell’importanza delle singole feature e comprensione del comportamento complessivo dei modelli

Modulo 8: Pratiche produttive ed enterprise

  • Salvataggio e ripristino dei modelli in ambiente Spark
  • Realizzazione di flussi di inferenza batch per insiemi di dati di grandi dimensioni
  • Comprensione del ciclo di vita dell’apprendimento automatico negli ambienti aziendali
  • Introduzione ai concetti legati alla versioning, al tracciamento degli esperimenti e alle strategie basilari di testing

 

Risultati pratici attesi

  • Capacità di operare in modo autonomo con PySpark
  • Facoltà di elaborare set di dati di grandi dimensioni in modo efficiente
  • Capacità di effettuare l’ingegneria delle feature su larga scala
  • Abilità nel costruire pipeline ML scalabili e adatte alla produzione

Requisiti

I partecipanti dovrebbero possedere le seguenti conoscenze preliminari:

Conoscenza di base della programmazione in Python, incluso l’uso di funzioni, strutture dati e librerie
Comprensione fondamentale dei concetti legati all’analisi dei dati, quali set di dati, trasformazioni e operazioni di aggregazione
Conoscenze base di SQL e dei concetti relativi ai database relazionali
Padronanza iniziale di nozioni sull’apprendimento automatico, tra cui set di addestramento, feature e metriche di valutazione
È consigliabile avere familiarità con l’utilizzo della riga di comando e con le pratiche base di sviluppo software

L’esperienza nell’uso di librerie per la gestione dei dati come Pandas o NumPy è utile, ma non obbligatoria.

 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative