MLOps Academy · Oppitunti

Yksikkötestaa datan käsittelyputkesi

Varmista muodot, tyypit ja vaihteluvälit pytestillä.

Oppitunti 1/413 vaihetta

Yksikkötestaa datan käsittelyputkesi on ilmainen MLOps Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu MLOps Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. MLOps Academy-kurssilla on yhteensä 4 oppituntia.

Testatkaa dataa, älkää vain mallia

Useimmat ML-virheet piilevät dataputkessa, eivät mallissa. Muutamat edulliset datan unit-testit paljastavat ongelmat kauan ennen koulutusta. 🧪

Mitä pytest tarjoaa

Kirjoitatte testit tavallisina funktioina ja annatte pytestin etsiä ja suorittaa ne. Jokainen epäonnistuva assert muuttuu selkeäksi ja helposti luettavaksi virheraportiksi.

Datatestin rakenne

Datatesti lataa näytteen, kutsuu muunnostanne ja tarkistaa sitten odotuksen. Keskeinen työkalu on assert-lause, joka ratkaisee testin läpäisyn tai epäonnistumisen.

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

Tarkistakaa muoto

Putket saattavat huomaamatta poistaa tai lisätä sarakkeita. Lukitkaa muoto, jotta 10 sarakkeen DataFrame ei koskaan pääse huomaamatta läpi 9 sarakkeen muodossa.

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

Tarkistakaa saraketyypit

Tekstinä luettu luku rikkoo koulutuksen hiljaisesti. Määrittäkää jokaisen sarakkeen dtype, jotta tyypin muuttuminen kaataa testin eikä mallia.

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

Tarkistakaa järkevät vaihteluvälit

Suojautukaa mahdottomilta arvoilta. Vaihteluvälin tarkistus estää negatiivista ikää tai 300 prosentin todennäköisyyttä päätymästä koskaan malliin.

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

Pyydystäkää null-arvot

Puuttuvat arvot ovat yleisin datavirhe. Tarkistakaa, että kriittisissä sarakkeissa ei ole null-arvoja tai että niiden määrä pysyy tunnetun raja-arvon alapuolella.

Käyttäkää pieniä testiaineistoja

Testien pitäisi suorittua millisekunneissa. pytestin fixture muodostaa pienen käsin tehdyn DataFramen, joten testit pysyvät nopeina eivätkä koskaan käsittele oikeaa dataa.

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

Testatkaa jokainen muunnos erikseen

Testatkaa yksi vaihe kerrallaan, jotta virheet osoittavat täsmällisen aiheuttajan. Tätä kutsutaan unit-testaukseksi: se on pientä, eristettyä ja nopeasti korjattavaa.

Suorittakaa testikokoelma

Yksi komento suorittaa kaikki testit ja tulostaa vihreän tai punaisen yhteenvedon. Suorittakaa pytest paikallisesti ja uudelleen CI:ssä jokaisen pushin yhteydessä.

# in your terminal
pytest -q

Testatkaa reunatapaukset tarkoituksella

Antakaa syötteeksi tyhjä DataFrame, yksi rivi tai pelkkiä null-arvoja. Hyvät reunatapaustestit osoittavat, että putki epäonnistuu näkyvästi eikä hiljaisesti.

Pikatarkistus

Millä tarkistuksella voidaan parhaiten estää sarakkeen lukeminen vääränä tyyppinä?

Kertaus: Testit paljastavat datavirheet

Testaatte nyt dataa unit-testeillä pytestin avulla: tarkistatte pienten testiaineistojen muodon, tyypit, vaihteluvälit ja null-arvot, jotta huono data kaataa koontiversion eikä aiheuta ongelmia käyttäjille. ✅

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Yksikkötestaa datan käsittelyputkesi” ilmainen?

Kyllä – oppitunnin ”Yksikkötestaa datan käsittelyputkesi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko MLOps Academy-kurssin, päivitä CoddyKit PROhon. MLOps Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Yksikkötestaa datan käsittelyputkesi”?

Varmista muodot, tyypit ja vaihteluvälit pytestillä. Harjoittelet MLOps Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni MLOps Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin MLOps Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Yksikkötestaa datan käsittelyputkesi”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä MLOps Academy-oppitunnilla?

Kyllä. Jokainen MLOps Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Yksikkötestaa datan käsittelyputkesi
  2. Mallien käyttäytymistestit
  3. Aseta laatukriteerit ja kynnysarvot
  4. Validoi data Great Expectationsilla
← Takaisin: MLOps Academy