Preparazione a scala: Data Wrangler e Processing
Amazon SageMaker Data Wrangler è lo strumento visuale per esplorare, pulire e trasformare i dati in fase di prototipazione: offre transform predefinite, controlli rapidi sulla qualità e visualizzazione delle distribuzioni. Il punto chiave d’esame è che il flow di Data Wrangler non è pensato per andare in produzione così com’è: si esporta come SageMaker Processing job (o come step di una SageMaker Pipeline) per applicarlo in modo ripetibile e scalabile su cluster gestiti. SageMaker Processing è il servizio generico per preprocessing, postprocessing e valutazione: giri su istanze dedicate, leggi e scrivi da Amazon S3 e paghi solo per la durata del job. Quando le stesse feature vanno riusate in modo coerente fra training e inferenza, la risposta è SageMaker Feature Store, con online store a bassa latenza per l’inferenza real-time e offline store per il training in batch.
Dati mancanti e classi sbilanciate
Per i valori mancanti la scelta dipende dalla quantità e dalla natura del dato: si può eliminare riga/colonna quando i mancanti sono pochi o la feature è irrilevante, oppure imputare con media/mediana (numeriche) o moda/categoria “unknown” (categoriche). Regola d’oro: i parametri di imputazione (media, mediana, statistiche dello scaler) si calcolano solo sul training split e si applicano poi a validation e test. Calcolarli sull’intero dataset prima dello split causa data leakage e metriche ottimisticamente irrealistiche.
Con classi sbilanciate (frode, churn, difetti) l’accuracy inganna: un modello che predice sempre la classe maggioritaria sembra ottimo. Le contromisure sono oversampling della minoranza (SMOTE genera esempi sintetici), undersampling della maggioranza, o class weighting che penalizza di più gli errori sulla classe rara. Le metriche corrette sono precision, recall, F1 e AUC-PR, non l’accuracy.
Encoding delle variabili categoriche
Le categoriche vanno codificate in numeri, ma il metodo dipende dal tipo:
- One-hot encoding per variabili nominali a bassa cardinalità (nessun ordine implicito, poche categorie): una colonna binaria per valore.
- Ordinal/label encoding per variabili ordinali (es. small/medium/large), dove l’ordine ha significato.
- Per alta cardinalità (migliaia di valori) il one-hot esplode la dimensionalità: meglio target encoding, feature hashing o embeddings.
Errore classico: applicare label encoding a una nominale, introducendo un ordine inesistente che il modello interpreta come informazione reale.
SageMaker Ground Truth per l’etichettatura
Quando i dati non sono etichettati, SageMaker Ground Truth gestisce il labeling con workforce (private, vendor o pubblica via Amazon Mechanical Turk) e template per classificazione, bounding box, segmentazione, NER. La feature da ricordare è l’active learning (automated data labeling): un modello etichetta automaticamente gli esempi su cui è confidente e invia agli annotatori umani solo i casi incerti, abbattendo costo e tempo su dataset grandi. Ground Truth produce anche i dati etichettati necessari al model quality monitoring: senza ground truth, Model Monitor può rilevare data drift ma non misurare la qualità reale delle predizioni.
Trappole tipiche d’esame
- Trasformazioni di Data Wrangler da portare in produzione a scala → esporta come SageMaker Processing job: il flow visuale è per prototipazione; Processing (o Pipeline) lo rende ripetibile e scalabile.
- Coerenza delle feature fra training e inferenza real-time → SageMaker Feature Store: online store a bassa latenza, evita il training/serving skew; non è compito di Data Wrangler.
- Dataset molto sbilanciato con “accuracy 99%” → guarda recall/F1/AUC-PR e applica SMOTE o class weighting: l’accuracy alta è un artefatto della classe maggioritaria, non un buon modello.
- Imputazione o scaling calcolati sull’intero dataset prima dello split → data leakage: fitta i parametri solo sul training split e applicali a validation e test.
- Categorica nominale ad alta cardinalità con one-hot → esplosione dimensionale: preferisci target encoding, hashing o embeddings; il one-hot va bene solo a bassa cardinalità nominale.
- Ridurre il costo di labeling su un dataset grande → active learning di Ground Truth: auto-etichetta i casi confidenti e manda agli umani solo quelli incerti.