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.
Recensioni (1)
Mi è piaciuto che fosse pratico. Ho adorato applicare le conoscenze teoriche con esempi pratici.
Aurelia-Adriana - Allianz Services Romania
Corso - Python and Spark for Big Data (PySpark)
Traduzione automatica