MLOps Academy · leksjon

Enhetstest datapipelinen

Kontroller former, typer og intervaller med pytest.

Leksjon 1 av 413 trinn

Enhetstest datapipelinen er en gratis leksjon i MLOps Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i MLOps Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i MLOps Academy inneholder totalt 4 leksjoner.

Test dataene, ikke bare modellen

De fleste ML-feil skjuler seg i datapipelinen, ikke i modellen. Noen få billige enhetstester av dataene kan oppdage problemer lenge før trening. 🧪

Dette får De med pytest

De skriver tester som vanlige funksjoner og lar pytest finne og kjøre dem. Et assert som feiler, blir til en tydelig og lettlest feilrapport.

En datatests oppbygning

En datatest laster inn et utvalg, kaller transformasjonen og verifiserer deretter en forventning. Det viktigste verktøyet er assert-setningen som avgjør om testen består eller feiler.

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

Verifiser formen

Pipelines kan stille droppe eller legge til kolonner. Lås formen, slik at en ramme med 10 kolonner aldri ubemerket slipper gjennom med 9 kolonner.

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

Verifiser kolonnetypene

Et tall som leses som tekst, kan stille ødelegge treningen. Fastsett dtype for hver kolonne, slik at en typeforskyvning får testen til å feile i stedet for modellen.

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

Verifiser fornuftige intervaller

Beskytt mot umulige verdier. En intervallkontroll hindrer at en negativ alder eller en sannsynlighet på 300 % noen gang når modellen.

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

Fang opp nullverdiene

Manglende verdier er den vanligste datafeilen. Verifiser at kritiske kolonner har ingen nullverdier, eller at antallet nullverdier holder seg under en kjent terskel.

Bruk små testdata

Tester bør kjøre på millisekunder. En fixture i pytest bygger en liten, håndlaget dataframe, slik at testene forblir raske og aldri berører reelle data.

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

Test hver transformasjon alene

Test ett trinn om gangen, slik at feil peker på den nøyaktige årsaken. Dette er enhetstesting: lite, isolert og raskt å feilsøke.

Kjør testpakken

Én kommando kjører alle testene og skriver ut en grønn eller rød oppsummering. Kjør pytest lokalt og deretter i CI ved hver push.

# in your terminal
pytest -q

Test kanttilfeller med vilje

Gi inn en tom dataframe, én rad eller inndata der alle verdier er null. Gode tester av kanttilfeller viser at pipelinen feiler tydelig, ikke stille.

Hurtigsjekk

Hvilken kontroll beskytter best mot at en kolonne leses som feil type?

Oppsummering: Tester fanger datafeil

De enhetstester nå data med pytest: verifiserer form, typer, intervaller og nullverdier på små testdata, slik at dårlige data stopper byggingen, ikke brukerne. ✅

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Enhetstest datapipelinen» gratis?

Ja – hele teksten i «Enhetstest datapipelinen» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av MLOps Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i MLOps Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Enhetstest datapipelinen»?

Kontroller former, typer og intervaller med pytest. Du øver på MLOps Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med MLOps Academy?

Ingen tidligere erfaring er nødvendig. MLOps Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Enhetstest datapipelinen»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne MLOps Academy-leksjonen?

Ja. Alle MLOps Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Enhetstest datapipelinen
  2. Atferdstester for modeller
  3. Sett kvalitetsporter og terskler
  4. Valider data med Great Expectations
← Tilbake til MLOps Academy