Eining 5 / 11

Eiginleikaverkfræði: Búa til afbrigði, kóðun, kvarða og forðast leka

Hagnaður:

  • Geta til að framleiða þýðingarmikla afleidda eiginleika með lénsþekkingu og umrita flokkaflokka með viðeigandi aðferðum (einn heitur, merkimiði, miða)
  • Geta til að kvarða tölulegar breytur í samræmi við gerð líkans (stöðlun, eðlileg) og forðast óþarfa eða ófullkomna mælikvarða
  • Geta til að forðast leka eiginleika með því að læra allar umbreytingar eftir þjálfun/próf skiptingu og aðeins frá þjálfun

Það er gamalt orðatiltæki í vélanámi: "Beitt vélanám er í meginatriðum eiginleikaverkfræði." Vegna þess að árangur líkans kemur oft frá því hvaða inntak þú gefur til líkansins, frekar en hvaða reiknirit þú velur. Eiginleikaverkfræði er listin að framleiða þýðingarmikil merki úr hráum gögnum sem líkanið getur lært af. Gervigreind er ríkur uppspretta hugmynda á þessu stigi: þegar þú spyrð „hvaða eiginleika er hægt að framleiða úr þessum gögnum“ eru taldir upp heilmikið af tillögum. En sumar þessara tillagna geta verið dýrmætar, sumar geta verið gagnslausar og sumar geta verið hættulegar (leka). Það er þitt hlutverk að redda þessu.

Hvers vegna lögun verkfræði

Hrá gögn koma sjaldan til líkansins í sinni bestu mynd. Þó að „fæðingardagur“ dálkurinn einn og sér sé tilgangslaus er „aldur“ gildið sem myndast úr honum sterkt merki. Þú getur dregið út eiginleika eins og „vikudagur“, „dagur/nótt“, „er það frídagur“ úr „pöntunartímastimplinum“. Þú getur sameinað tvo dálka til að framleiða hlutfall ("skulda/tekjuhlutfall"). Hér er eiginleikaverkfræði að þýða lénsþekkingu yfir í stærðfræðilegt merki; Og það er einmitt þess vegna sem það er stigið sem krefst mannlegrar greind.

Umbreyta flokkabreytum í tölur: kóðun

Líkön vinna almennt með tölum, ekki texta. Að umbreyta flokkabreytum (eins og borg, lit, vörutegund) í tölur kallast kóðun. Þrjár algengar aðferðir:

One-hot kóðun: Opnar sérstakan dálk með gildinu 0/1 fyrir hvern flokk. Fyrir "borg" myndast Istanbúl, Ankara, Izmir súlur; Ef viðskiptavinur er frá Istanbúl verður aðeins sá dálkur 1. Tilvalið þegar fjöldi flokka er lítill; Ef það eru of margir flokkar framleiðir það hundruð dálka (þetta er kallað "stærðarsprenging").

Merkikóðun: Gefur hverjum flokki tölu (Istanbúl=0, Ankara=1). Það er einfalt, en það gæti óvart kennt líkaninu röð (eins og Ankara > Istanbúl); þannig að það er notað með varúð í óraðaða flokkum.

Markkóðun: Kemur í stað hvers flokks fyrir meðaltal markbreytunnar í þeim flokki. Það er mjög öflugt, en hættulegasta uppspretta leka: ef þú tekur mið af markmiði prófunargagnanna sér líkanið framtíðina. Það ætti aðeins að reikna út frá þjálfunargögnum og vandlega (innan krossgildingar).

Stærð: stórar tölur yfirgnæfa ekki líkanið

Sum líkön (fjarlægðarlíkön, línuleg líkön, tauganet) eru viðkvæm fyrir mælikvarða breytanna. Ef „tekjur“ (0-500.000) og „aldur“ (0-100) falla inn í sama mynstur geta tekjur ráðið mestu einfaldlega vegna þess að þær eru stærri. Skala lagar þetta. Tvær algengar aðferðir: stöðlun (breytir hverju gildi í „hversu mörg staðalfrávik frá meðaltali“) og stöðlun (mín-hámarks stöðlun — þjappar gildum inn á bilið 0-1). Trjálíkön (ákvörðunartré, tilviljunarkenndur skógur) eru ónæm fyrir mælikvarða, þau þurfa ekki mælikvarða.

Varúð: Kvörðunar- og kóðunarfæribreytur (meðaltal, staðalfrávik, flokka-meðaltalkortlagning) ætti aðeins að reikna út frá þjálfunargögnum, þá ætti að nota það sama fyrir prófunargögnin. Þar með talið prófunargögn er leki og lætur líkanið þitt líta betur út en það er í raun.

Hjarta leka í eiginleikaverkfræði

Eiginleikamyndun er þar sem gagnaleki á oftast uppruna sinn. Tvær dæmigerðar mistök: Tímaleki - framleiðir eiginleika sem inniheldur framtíðarupplýsingar (þar á meðal dögum eftir spádaginn þegar „meðaltal síðustu 30 daga“ er reiknað út). Tölfræðileki — að reikna út eiginleika (skalameðaltal, markkóðungildi) úr öllum gögnum fyrir skiptingu þjálfunar/prófs. Regla: lærðu hverja umbreytingu eftir að hafa gert lest/próf skiptinguna fyrst og aðeins út frá þjálfunargögnunum. Öruggasta leiðin til að gera þetta reglulega er að nota leiðslu - mannvirki sem safnar öllum umbreytingum í einni keðju og beitir þeim eftir skiptingu.

Aðferð

fyrir hvað

Hætta á leka

ath

Einheit kóðun

Breytilegt með fáum flokkum

lágt

Sprengur stærð í mörgum flokkum

Merkikóðun

Raðaður flokkur

lágt

Óreglu kennir ranga röð

markkóðun

Margflokkur, sterkt merki

mjög hátt

Bara frá menntun, í ferilskrá

stöðlun

Línuleg/fjarlægðarlíkön

miðlungs

Parameter fer aðeins eftir menntun

Tímagluggi eiginleiki

tímaröð

hátt

Bættu framtíðinni við

þrjú smámál

Mál 1 — Verðmæt eign. Lánateymi bjó til „skuldahlutfallshlutfall“ úr dálkunum „mánaðarlegar tekjur“ og „mánaðarleg skuldagreiðsla“. Þessi einstaka eiginleiki jók nákvæmni líkans úr 71% í 79%; vegna þess að það var hlutfallið, ekki algildar tekjur, sem réðu raunverulega áhættunni. Lærdómur: Hlutföll sem myndast af lénsþekkingu eru sterk merki.

Tilfelli 2 — Leki á markkóðun. Eitt teymi breytti „póstnúmerinu“ í númer með markkóðuninni (meðalhraða á því svæði), en gerði það úr öllum gögnum áður en skipt var. Líkanið gaf 94% á prófunarsettinu og fór niður í 68% í framleiðslu. 6 vikna fyrirhöfn sóun. Lexía: markkóðun er vandlega unnin, aðeins innan þjálfunar.

Tilfelli 3 - Gleyming á kvarða. Einn sérfræðingur fóðraði tekjur (0-400.000) og aldur viðskiptavina (18-75) í fjarlægðarmiðað líkan án skala. Líkanið horfði nær eingöngu á tekjur og sló niður aldursáhrifin. Þegar kvarðanum var bætt við varð skipting þýðingarmikil. Lærdómur: mælikvarði er ekki vanrækt í fjarlægð/línulegum líkönum.

Fjögur afritanleg sniðmát

1) Myndun hugmynda um eiginleika (útrýming er undir þér komið):

Hlutverk þitt: Aðstoðarmaður í verkfræði. Df dálkarnir mínir: fæðingardagur, pöntunartími (tímastimpill), tekjur_tl, debt_tl, borg, vöruflokkur. Markmið: "verður lánið endurgreitt" (0/1). Stingdu upp á 15 eiginleikum sem hægt er að búa til úr þessum dálkum; tilgreina lekahættu (lítil/miðlungs/há) fyrir hvern. Merktu greinilega við þær sem innihalda framtíðarupplýsingar.

2) Örugg kóðun (eftir skiptingu):

Skrifaðu kóða sem einn-heitur kóðar "borg" og "vöruflokkur". MIKILVÆGT: Passaðu kóðunina aðeins við þjálfunargögnin, umbreyttu síðan prófunargögnunum (með sklearn OneHotEncoder). Útskýrðu hvernig þú höndlar óséða flokkinn (handle_unknown) í menntun.

3) Lekalaus umbreyting með Pipeline:

Settu upp sklearn Pipeline: notaðu StandardScaler á tölulega dálka, OneHotEncoder á flokka dálka, bættu við flokkara í lokin. Tryggðu að allar umbreytingar lærist EFTIR að lest/próf skiptist og aðeins af þjálfun. Útskýrðu kóðann og hvers vegna hann er lekalaus.

4) Tímagluggi eiginleiki (lekastjórnun):

Búðu til eigindina „fjöldi pantana á síðustu 30 dögum“ fyrir hvern viðskiptavin, en Hafðu ALDREI gögn eftir spádaginn. Útskýrðu línu fyrir línu að kóðinn horfi ekki inn í framtíðina. Ég mun gefa upp viðmiðunardagsetningardálkinn.

Veik kvaðning / Sterk kvaðning

Veik kvaðning:

Bættu góðum eiginleikum við þessi gögn.

„Gott“ er óskilgreint, markmiðið er óljóst, það er engin lekaeftirlit. AI býr til handahófskennda, kannski leka eiginleika.

Öflug tilvitnun:

Hlutverk þitt: verkfræðingur. Markmið: „sleppa á 30 dögum“ (0/1), áætlaður viðmiðunardagur: vistunardagur. Það er viðskiptasaga í df.Task: Búðu til 8 eiginleika, svaraðu spurningunni "Hef ég þessar upplýsingar þegar spáð er" fyrir HVER. Bæta við dagsetningu á eftir viðmiðunardagsetningu í eiginleika tímaglugga. Skrifaðu kóðann á leiðslusamhæfðan hátt sem á að framkvæma eftir lestar-/prófunarhlutann.

Hér er markmið, viðmiðunartími og lekaeftirlit skilgreint frá upphafi.

Algeng mistök

  • Að læra umbreytinguna af öllum gögnum fyrir skiptingu. Ef mælikvarði/kóðun færibreytan sér prófunargögnin kemur leki fram.
  • Kærulaus notkun á markkóðun. Það er öflugasta en mest leka aðferðin; bara frá þjálfun, í krossgildingu.
  • Bætir framtíðinni við með tímagluggaeiginleika. Ef "síðustu 30 dagar" útreikningur er færður inn eftir spádaginn sér líkanið framtíðina.
  • Óþarfa mælikvarði í trjálíkaninu og ófullnægjandi mælikvarði í línulega líkaninu. Ákvarðanir um mælikvarða eru teknar í samræmi við gerð líkansins.
  • Bætir öllum tillögugerð gervigreindar án spurninga. Tillögur geta falið í sér gagnslausa og leka eiginleika.
Ábending: Skrifaðu niður eina spurningu fyrir hvern eiginleika sem þú býrð til: "Get ég reiknað þetta gildi með þeim upplýsingum sem ég hef þegar ég spái?" Ef svarið er ekki skýrt „já“ skaltu ekki nota eiginleikann. Þessi eina fræðigrein útilokar flesta eiginleika tengda leka.

Í stuttu máli

Eiginleikaverkfræði er listin að búa til þýðingarmikil merki úr hráum gögnum og ákvarðar oft árangur líkansins meira en reikniritið. Kóðun flokka (einn heitur, merkimiði, miða), stigstærð tölur (stöðlun, eðlileg) og framleiðsla afleiddra eiginleika með lénsþekkingu eru grunnverkfærin. En þessi áfangi er líka kjarninn í lekanum: allar umbreytingar verða að læra eftir þjálfun/próf skiptingu og aðeins af þjálfunargögnum. AI býr til fullt af hugmyndum; Það er dómgreind mannsins sem greinir hið dýrmæta frá því hættulega.

Umsóknarverkefni

Veldu markbreytu og hannaðu að minnsta kosti fimm afleidda eiginleika úr dálkunum sem þú hefur. Fyrir hvert þeirra, svaraðu spurningunni „er ég tiltækur þegar spáin er gerð“ skriflega og útrýmdu að minnsta kosti einum sem „mikil hætta á leka“. Kóðaðu síðan öruggu eiginleikana í leiðslu sem á að innleiða eftir skiptingu.

gátlisti

  • [ ] Beitti ég öllum umbreytingum eftir að lestin/prófin skiptust?
  • [ ] Lærði ég aðeins skala/kóðun færibreytur frá þjálfun?
  • [ ] Hef ég svarað spurningunni „á ég það þegar spáð er“ fyrir hvern eiginleika?
  • [ ] Hef ég verið sérstaklega varkár með áhættuaðferðum eins og markkóðun?
  • [ ] Hef ég ákveðið að skala á viðeigandi hátt fyrir gerð líkansins (tré/línulegt)?