0Pricing
MLOps Academy · Lezione

Testare unitariamente la pipeline dei dati

Verifichi forme, tipi e intervalli con pytest.

Testare unitariamente la pipeline dei dati è una lezione MLOps Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento MLOps Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MLOps Academy include 4 lezioni in totale.

Testare i dati, non solo il modello

La maggior parte dei bug di ML si nasconde nella pipeline dei dati, non nel modello. Alcuni semplici unit test sui dati individuano i problemi molto prima del training. 🧪

Cosa offre pytest

Scrive i test come semplici funzioni e lascia che pytest li individui e li esegua. Ogni assert che fallisce si trasforma in un report chiaro e leggibile.

Anatomia di un test dei dati

Un test dei dati carica un campione, chiama la trasformazione e poi verifica un'aspettativa. Lo strumento chiave è l'istruzione assert, che decide se il test passa o fallisce.

def test_no_nulls(df):
    assert df["age"].notna().all()

Verificare la forma

Le pipeline eliminano o aggiungono colonne senza avvisare. Blocchi la forma per evitare che un dataframe di 10 colonne passi inosservato con sole 9 colonne.

def test_shape(df):
    assert df.shape[1] == 10

Verificare i tipi delle colonne

Un numero letto come testo interrompe il training senza segnalarlo chiaramente. Fissi il dtype di ogni colonna, così un cambiamento di tipo fa fallire il test invece del modello.

def test_dtype(df):
    assert df["price"].dtype == "float64"

Verificare intervalli sensati

Proteggiti dai valori impossibili. Un controllo dell'intervallo impedisce che un'età negativa o una probabilità del 300% raggiungano il modello.

def test_range(df):
    assert df["age"].between(0, 120).all()

Individuare i valori nulli

I valori mancanti sono il bug dei dati più comune. Verifichi che le colonne critiche non contengano valori nulli, oppure che i nulli restino al di sotto di una soglia nota.

Usare fixture piccole

I test dovrebbero essere eseguiti in millisecondi. Una fixture di pytest costruisce un piccolo dataframe creato a mano, così i test restano veloci e non toccano mai dati reali.

import pytest
@pytest.fixture
def df():
    return load_sample()

Testare ogni trasformazione separatamente

Testi un passaggio alla volta, così i fallimenti indicano il colpevole esatto. Questo è il unit testing: piccolo, isolato e rapido da sottoporre a debug.

Eseguire la suite

Un solo comando esegue tutti i test e stampa un riepilogo verde o rosso. Esegua pytest in locale e di nuovo in CI a ogni push.

# in your terminal
pytest -q

Testare intenzionalmente i casi limite

Fornisca un dataframe vuoto, una sola riga o un input interamente nullo. Buoni test dei casi limite dimostrano che la pipeline fallisce in modo esplicito, non silenzioso.

Controllo rapido

Quale controllo protegge meglio dal rischio che una colonna venga letta con il tipo errato?

Riepilogo: i test individuano i bug dei dati

Ora esegue unit test sui dati con pytest: verifica forma, tipi, intervalli e valori nulli su fixture piccole, così i dati errati fanno fallire la build e non i Suoi utenti. ✅

Domande Frequenti

La lezione «Testare unitariamente la pipeline dei dati» è gratuita?

Sì — il testo completo di «Testare unitariamente la pipeline dei dati» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso MLOps Academy, passa a CoddyKit PRO. Il corso MLOps Academy include 4 lezioni in totale.

Cosa imparerò in «Testare unitariamente la pipeline dei dati»?

Verifichi forme, tipi e intervalli con pytest. Eserciti MLOps Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare MLOps Academy?

Non è richiesta alcuna esperienza precedente. MLOps Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Testare unitariamente la pipeline dei dati»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione MLOps Academy?

Sì. Ogni lezione MLOps Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Testare unitariamente la pipeline dei dati
  2. Test comportamentali per i modelli
  3. Impostare quality gate e soglie
  4. Convalidare i dati con Great Expectations
← Torna a MLOps Academy