Enhetstest datapipelinen
Kontroller former, typer og intervaller med pytest.
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] == 10Verifiser 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 -qTest 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. ✅
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
- Enhetstest datapipelinen
- Atferdstester for modeller
- Sett kvalitetsporter og terskler
- Valider data med Great Expectations