Hagnaður:
- Geta til að þekkja tegundir gagnaleka (markmið, tími, forvinnsla, flokkuð röð) og spyrjast fyrir um „of gott til að vera satt“ stigið sem viðvörun
- Geta til að koma í veg fyrir leka með snemmbúinn aðskilnað prófunarsetts, leiðslu og réttrar skiptingar (tímaröð/flokkuð)
- Geta til að gera greiningu endurskapanlega með föstum fræjum, útgáfustýringu og fjarlægingu handvirkra skrefa
Það eru tvö mistök sem eyða mestu fyrirhöfninni í gagnavísindum og þau eru bæði skaðleg vegna þess að þau leiða til hörmunga einmitt þegar allt "virðist vera í lagi." Í fyrsta lagi er gagnaleki: líkanið virkar frábærlega á prófunarsettinu en hrynur í framleiðslu. Annað er óaftakanleiki: þú keyrir greiningu sex mánuðum síðar og færð allt aðra niðurstöðu. Þessi eining er tileinkuð því að þekkja og forðast þessar tvær gildrur í dýpt. Gervigreind getur aukið báðar áhætturnar (myndar fljótt, bendir til falinna leka, auðveldar þér að taka handvirk skref) en getur líka dregið úr þeim ef þau eru notuð rétt. Munurinn er í aga.
Gagnaleki: skyggnt líkan
Gagnaleki er þegar líkanið sér upplýsingar meðan á þjálfun stendur sem það mun ekki hafa þegar raunveruleg spá er gerð. Módelið "svindlar" með þessar upplýsingar, lítur vel út á prófunarsettinu, en hrynur í framleiðslu án þessara upplýsinga. Einkenni leka er nánast alltaf það sama: of gott til að vera satt. Áður en þú fagnar þegar þú sérð 99% nákvæmni ættir þú að leita að leka.
Helstu tegundir leka eru:
1. Markaleki: Eiginleiki er afleiðing af markmiðinu. Í spánni „var aflýst“ eru dálkarnir „afpöntunardagsetning“ eða „endurgreiðsluupphæð“ afleiðing af markmiðinu; Þeir verða aðeins fylltir þegar niðurstaðan liggur fyrir.
2. Tímaleki: Að færa framtíðarupplýsingar til fortíðar. Þegar þú reiknar út „meðaltal síðustu 30 daga“ skaltu taka með dagana eftir spádaginn eða deila tímaröðinni af handahófi.
3. Leka í forvinnslu: Að læra umbreytingar eins og mælikvarða, fyllingu, kóðun úr öllum gögnum fyrir þjálfunar-/prófunarskiptinguna. Meðaltal prófgagna truflar þjálfun.
4. Tvítekinn/flokkaður röð leki: Raðir sem tilheyra sama einstaklingi eru til staðar bæði í þjálfun og prófun (tvær heimsóknir sama sjúklings í mismunandi settum). Líkanið leggur manneskjuna á minnið.
Leka gerð
Hvernig fæðist
Hvernig á að koma í veg fyrir
skotmarksleka
Dálkur sem er niðurstaða markmiðsins
"Er ég með það þegar spáð er" próf
tímaleka
Að færa framtíðina til fortíðar
Tímaskipting, gluggastýring
Forvinnsluleki
Forskipt umbreyting
Leiðsla, passa bara eftir þjálfun
Leki í hópum
Sama eining í tveimur settum
Skipt eftir hópum (GroupKFold)
Eini aginn til að koma í veg fyrir leka
Sameiginleg lausn fyrir allar tegundir leka snýst um eina setningu: Einangraðu prófunarsettið eins fljótt og hægt er til að líkja eftir raunverulegri framtíð og ekki "kenna" því neitt. Í reynd þýðir þetta: skiptu fyrst, lærðu síðan allar umbreytingar aðeins úr þjálfuninni og beittu þeim í leiðslu (bygging sem safnar öllum skrefum í einni keðju). Fyrir hvern eiginleika skaltu spyrja spurningarinnar "hef ég þessar upplýsingar þegar spáin er gerð?" Ef það er tími, skiptu honum í tímaröð; Ef sama eining er endurtekin, deildu eftir hópum.
Varúð: Hættulegasti þátturinn í leka er að hann sýnir sig sem árangur. Slæmt líkan mun augljóslega skila lélegum árangri og eftir því verður tekið; Líkan sem hefur lekið virkar frábærlega, gleður alla og er sett í framleiðslu — það er þar sem hrunið byrjar. Þess vegna er „mjög góð“ niðurstaða ástæða til að vekja athygli en ekki fagnaðarefni.
Afritunarhæfni: að fá sömu niðurstöðu tvisvar
Afritunarhæfni er hæfileikinn til að fá sömu niðurstöðu þegar þú keyrir greiningu aftur á öðrum tíma, á annarri vél. Án þessa er greining þín tilfallandi, ekki vísindaleg. Helstu orsakir og lausnir sem skerða endurgerðanleika:
Handvirk skref: Breyta hólf handvirkt í Excel, breyta töflu handvirkt. Lausn: hafa hvert skref í kóða.
Óbundið handahóf: Líkanþjálfun, sýnataka, skipting felur í sér handahófi. Lausn: lagfærðu slembifræið (upphafsgildi slembivaldsins) (random_state=42).
Útgáfubreytingar: Niðurstaðan getur breyst þegar bókasafnsútgáfan breytist. Lausn: laga ósjálfstæði (requirements.txt, umhverfisskrá).
Engin skráningarhald: Ekki er ljóst hvaða gögn, hvaða kóða, hvaða færibreyta var notuð. Lausn: útgáfustýring (Git — kerfið sem vistar allar útgáfur kóðans) og gagnaútgáfu.
„Það virkar bara á minni vél“: Lausn: skjalfestu umhverfið, notaðu ílát (Docker) ef mögulegt er.
þrjú smámál
Tilfelli 1 - Markleki. Heilsufarsgreining sýndi dálkinn „lyf eftir útskrift“ til að spá fyrir um „hvort sjúklingurinn verði lagður inn aftur“. Þessi dálkur var aðeins fylltur eftir að sjúklingurinn var útskrifaður. Líkanið gaf 96%, í framleiðslu 61%. 8 vikna verkefnið var rusl. Lexía: Spyrðu hvern eiginleika "er hann til staðar þegar spáð er?"
Mál 2 — Forvinnsluleki. Eitt teymi skalaði öll gögnin og skipti þeim síðan upp. Meðaltal prófgagnanna tók þátt í mælikvarða. CV einkunn 89%, raunveruleg framleiðsla 76%. Falsárangurinn hvarf þegar ég flutti til Pipeline og lærði aðeins um umbreytingar frá þjálfun. Lærdómur: deila fyrst, umbreyta síðar.
Mál 3 — Misbrestur á fjölföldun. Sérfræðingur vildi uppfæra töfluna sem hann kynnti stjórnendum þremur mánuðum síðar en gat ekki munað hvernig hann framleiddi hana; mörg skref voru gerð handvirkt í Excel. Niðurstaðan gekk ekki eftir og traustið hneigðist. Lexía: engin handvirk skref, allt er í kóða og Git.
Fjögur afritanleg sniðmát
1) Lekaskoðun:
Þitt hlutverk: lekaeftirlitsmaður. Markmið: „hring“ (0/1), viðmiðunardagsetning spár: record_date. Ég mun gefa þér þennan lista yfir eiginleika. Fyrir HVER eiginleika: (a) er það afleiðing af markmiðinu, (b) er það í boði fyrir mig þegar spáð er, (c) tekur tímaglugginn framtíðina í sér? Merktu það sem „óöruggt/grunsamlegt/leki“ og skrifaðu ástæðu. Eiginleikar: [listi]
2) Lekalaus leiðsla:
Settu upp sklearn Pipeline: Kljúfa fyrst lest/próf (lagskipt, fræ=42), SVO AÐEINS settu alla forvinnslu (útreikning, mælikvarða, umkóðun) inn í leiðsluna frá þjálfun. Útskýrðu hvers vegna kóðinn er lekalaus, hvaða skref var lært hvar.
3) Kóði gátlista fyrir endurgerðanleika:
Ég vil gera greiningu mína endurtakanlega. Stingdu upp á kóða/skipulagi sem bætir við: (1) hörðu fræi fyrir alla tilviljun, (2) prentunarbókasafnsútgáfur sem notaðar eru, (3) dagsetningar-/útgáfumerki fyrir gögn og úttak. Gefðu mér líka gátlista til að ganga úr skugga um að engin handvirk skref séu til staðar.
4) Hópað skipting (sama einingaleki):
Í gögnunum er sama customer_id til í mörgum línum. Gerðu skiptingu (GroupKFold eðaGroupShuffleSplit, group = customer_id) sem KOMIR í veg fyrir að sami viðskiptavinur sé bæði í þjálfun og prófun. Láttu kóða fylgja með til að staðfesta að engir viðskiptavinir séu í báðum settunum eftir skiptingu.
Veik kvaðning / Sterk kvaðning
Veik kvaðning:
Módelið mitt skilaði 98% nákvæmni, er það ekki frábært? Fínstilltu kóðann.
Að fagna 98% felur lekann. Áður en fínstillt er ætti að spyrja hvort þetta stig sé raunverulegt eða ekki.
Öflug tilvitnun:
Þitt hlutverk: lekaeftirlitsmaður. Módelið mitt skilar 98% nákvæmni á prófunarsettinu, sem hljómar „of gott til að vera satt“ fyrir mér. Athugaðu: (1) eru einhverjir eiginleikar sem eru afleiðing af markinu, (2) eru umbreytingar gerðar fyrir skiptingu, (3) eru sama eining í tveimur settum, (4) eru einhver tímaleki. Listaðu upp grunsamlega punkta; Einbeittu þér að því að finna lekann, ekki að laga stigið.
Hér er hátt skor meðhöndlað sem tákn um að spyrja, ekki til að fagna.
Algeng mistök
- Fögnum „mjög góðum“ árangrinum. Einkunn sem er of góð til að vera sönn er lekaviðvörun, ekki afrek.
- Að læra umbreytinguna af öllum gögnum fyrir skiptingu. Algengasta leki; Skiptu fyrst með leiðslu.
- Tímaröðinni er skipt af handahófi. Fyrirmyndin sér framtíðina; Tímabundin skipting er nauðsynleg.
- Skilur eftir sömu eininguna í tveimur settum. Fyrirmyndin leggur manneskjuna á minnið; Skiptu eftir hópum.
- Ekki stíga inn handvirkt og skrifa inn í kóðann. Greiningin verður óafritanleg; allt ætti að vera í kóða og Git.
Ábending: Skrifaðu tveggja setninga "heiðursloforð" í upphafi verkefnis þíns: "Ég hef ekki snert prófunarsettið á nokkurn hátt áður en ég sé það í framleiðslu. Hvert skref er í kóðanum og fræið er fast." Ef þú getur ekki skrifað undir þessar tvær setningar heiðarlega er niðurstaða þín ekki áreiðanleg ennþá.
Í stuttu máli
Gagnaleki og óafritanleiki eru tvær dýrustu þöglu villurnar í gagnavísindum. Leki er framtíðarsýn líkansins og sýnir sig sem falskan árangur; Lausnin er að skipta prófunarsettinu snemma, læra umbreytingarnar aðeins frá þjálfun (pípulínu), spyrja hvern eiginleika spurningarinnar "Er ég með það þegar spáð er" og gera rétta skiptingu (tímaröð/flokkað). Endurgerðanleiki er að geta fengið sömu niðurstöðu tvisvar; Lausnin hans er að fjarlægja skref handvirkt, festa fræið, frysta útgáfurnar og geyma allt í Git. AI getur annað hvort aukið eða dregið úr þessari áhættu; Það er agi þinn sem ræður.
Umsóknarverkefni
Taktu eiginleikalistann af líkani sem þú hefur smíðað (eða tilgátu) og spyrðu hvern eiginleika spurningarinnar "hef ég þessar upplýsingar þegar spáð er?" skriflega; Finndu að minnsta kosti einn lekaframbjóðanda. Fylltu síðan út gátlista til að gera greiningu þína endurtakanlega: er fræið fast, eru handvirk skref, eru útgáfurnar skráðar, eru þær í Git. Lagaðu annmarkana.
gátlisti
- [ ] Spurði ég um „of gott til að vera satt“ stigið sem lekaviðvörun?
- [ ] Lærði ég allar umbreytingar eftir skiptingu, bara af þjálfun?
- [ ] Hef ég skipt í samræmi við tíma/hópaskipan (tímaröð/GroupKFold)?
- [ ] Hef ég gert allt tilviljun endurtekið með föstum fræi?
- [ ] Fjarlægði ég handvirku skrefin og hélt öllu í kóða og útgáfustýringu?