Tasakaalustage oma andmed masinõppe jaoks Amazon SageMaker Data Wrangleriga

Allikasõlm: 1600102

Amazon SageMaker Data Wrangler on uus võimalus Amazon SageMaker mis muudab andmeteadlaste ja inseneride jaoks visuaalse liidese abil andmete ettevalmistamise masinõppe (ML) rakenduste jaoks kiiremini. See sisaldab üle 300 sisseehitatud andmete teisenduse, et saaksite funktsioone kiiresti normaliseerida, teisendada ja kombineerida ilma koodi kirjutamata.

Täna teatame rõõmuga uutest muudatustest, mis võimaldavad teil oma andmekogumeid lihtsalt ja tõhusalt tasakaalustada ML-mudeli koolituse jaoks. Näitame selles postituses, kuidas need teisendused töötavad.

Uued tasakaalustusoperaatorid

Äsja välja kuulutatud bilansihaldurid on rühmitatud alla Saldo andmed teisendustüüp LISA TRANSFORM pane.

Praegu toetavad teisendusoperaatorid ainult binaarseid klassifitseerimisprobleeme. Binaarse klassifikatsiooni probleemide korral on klassifikaatori ülesandeks liigitada iga valim ühte kahest klassist. Kui valimite arv enamusklassis (suuremas) on tunduvalt suurem kui vähemusklassi (väiksemas) proovide arv, loetakse andmestik tasakaalustamata. See kalduvus on ML-algoritmide ja klassifikaatorite jaoks keeruline, kuna koolitusprotsess kipub olema enamusklassi poole kaldu.

Selle väljakutse lahendamiseks pakuti välja tasakaalustamisskeemid, mis suurendavad andmeid enne klassifikaatori treenimist tasakaalustatumaks. Lihtsaimad tasakaalustamismeetodid on kas vähemusklassi ülediskreetmine vähemusvalimite dubleerimisega või enamusklassi aladiskreetmine enamusvalimite eemaldamise teel. Sünteetiliste vähemusnäidiste lisamise idee tabeliandmetele pakuti esmakordselt välja sünteetiliste vähemuste üleproovimise tehnikas (SMOTE), kus sünteetilised vähemusproovid luuakse algsete vähemuspunktide paaride interpoleerimisega. SMOTE ja teisi tasakaalustamisskeeme uuriti põhjalikult empiiriliselt ja näidati, et need parandavad erinevate stsenaariumide prognoosimist, vastavalt väljaandele. SMOTE või mitte SMOTE.

Data Wrangler toetab nüüd osana järgmisi tasakaalustusoperaatoreid Saldo andmed teisendada:

  • Juhuslik ülevalija – Juhuslikult dubleerivad vähemusnäidised
  • Juhuslik alasampler – Eemaldage enamusproovid juhuslikult
  • SMOTE – Looge sünteetilisi vähemuse valimeid, interpoleerides tegelikke vähemusnäidiseid

Räägime nüüd üksikasjalikult erinevate tasakaalustusoperaatorite üle.

Juhuslik ülevalim

Juhuslik ülevalimine hõlmab juhuslike näidete valimist vähemusklassist koos asendusega ja koolitusandmete täiendamist selle eksemplari mitme koopiaga. Seetõttu on võimalik, et ühte eksemplari saab valida mitu korda. Koos juhuslik ülevalim teisendustüüp, Data Wrangler valib teie jaoks vähemusklassi automaatselt üle, dubleerides teie andmestiku vähemusnäidised.

Juhuslik alavalim

Juhuslik alavalik on vastupidine juhuslikule ülevalimile. Selle meetodi eesmärk on juhuslikult valida ja eemaldada näidised enamusklassist, vähendades seega muudetud andmetes enamusklassi näidete arvu. The juhuslik alavalim teisendustüüp võimaldab Data Wrangleril enamusklassi automaatselt alavalimida, eemaldades teie andmestikust enamuse valimid.

SMOTE

SMOTE-s lisatakse andmetele sünteetilised vähemusproovid, et saavutada soovitud suhe enamus- ja vähemusproovide vahel. Sünteetilised proovid genereeritakse algsete vähemuspunktide paaride interpoleerimisel. The SMOTE teisendus toetab andmekogumite tasakaalustamist, sealhulgas numbrilisi ja mittenumbrilisi funktsioone. Arvtunnused on interpoleeritud kaalutud keskmisega. Siiski ei saa mittenumbriliste funktsioonide puhul kasutada kaalutud keskmist interpolatsiooni – keskmist on võimatu arvutada “dog” ja “cat” näiteks. Selle asemel kopeeritakse mittenumbrilised tunnused mõlemast algsest vähemuse valimist vastavalt keskmisele kaalule.

Näiteks kaaluge kahte näidist, A ja B:

A = [1, 2, "dog", "carnivore"]
B = [0, 0, "cow", "herbivore"]

Oletame, et valimid on interpoleeritud kaaludega 0.3 proovi A jaoks ja 0.7 proovi B jaoks. Seetõttu keskmistatakse numbriväljad nende kaaludega, et saada vastavalt 0.3 ja 0.6. Järgmine väli on täidetud “dog” tõenäosusega 0.3 ja “cow” tõenäosusega 0.7. Samamoodi võrdub järgmine “carnivore” tõenäosusega 0.3 ja “herbivore” tõenäosusega 0.7. Juhuslik kopeerimine tehakse iga funktsiooni jaoks eraldi, nii et allpool toodud näidis C on võimalik tulemus:

C = [0.3, 0.6, "dog", "herbivore"]

See näide näitab, kuidas interpoleerimisprotsess võib põhjustada ebareaalseid sünteetilisi proove, näiteks taimtoidulist koera. See on tavalisem kategooriliste tunnuste puhul, kuid võib esineda ka numbriliste tunnuste puhul. Kuigi mõned sünteetilised proovid võivad olla ebareaalsed, võib SMOTE siiski parandada klassifitseerimise jõudlust.

Realistlikumate näidiste heuristiliseks genereerimiseks interpoleerib SMOTE ainult neid paare, mis on funktsiooniruumis lähedased. Tehniliselt interpoleeritakse iga valim ainult selle k-lähimate naabritega, kus k ühine väärtus on 5. Meie SMOTE-i teostuses kasutatakse punktide vahekauguste arvutamiseks ainult numbrilisi tunnuseid (kaugusi kasutatakse naabruskonna määramiseks iga proovi kohta). Tavaline on numbriliste tunnuste normaliseerimine enne vahemaade arvutamist. Pange tähele, et numbrilisi tunnuseid normaliseeritakse ainult kauguse arvutamise eesmärgil; saadud interpoleeritud tunnuseid ei normaliseerita.

Tasakaalustame nüüd Täiskasvanute andmestik (tuntud ka kui loenduse sissetulekute andmestik), kasutades Data Wrangleri pakutavat sisseehitatud SMOTE-teisendust. See mitme muutujaga andmekogum sisaldab kuut numbrilist funktsiooni ja kaheksat stringifunktsiooni. Andmestiku eesmärk on loendusandmete põhjal binaarne klassifitseerimisülesanne ennustada, kas üksikisiku sissetulek ületab 50,000 XNUMX dollarit aastas või mitte.

Klasside jaotust näete ka visuaalselt, luues histogrammi kasutades histogrammi analüüsi tüüp Data Wrangleris. Sihtjaotus on tasakaalustamata ja kirjete suhe >50K et <=50K on umbes 1:4.

Saame neid andmeid tasakaalustada kasutades SMOTE all leitud operaator Saldoandmed teisendage Data Wrangleris järgmiste sammudega:

  1. Vali income sihtveerguna.

Soovime, et selle veeru jaotus oleks tasakaalustatum.

  1. Seadke soovitud suhe väärtusele 0.66.

Seetõttu on vähemus- ja enamusproovide arvu suhe 2:3 (toorsuhte 1:4 asemel).

  1. Vali SMOTE kasutatava teisendusena.
  2. Jätke vaikeväärtused Naabrite arv keskmiseks ja kas normaliseerida või mitte.
  3. Vali Eelvaade rakendatud teisenduse eelvaate saamiseks ja valige lisama et lisada teisendus oma andmevoogu.

Nüüd saame luua uue histogrammi, mis sarnaneb sellega, mida tegime varem, et näha klasside ümberjoondatud jaotust. Järgmisel joonisel on näidatud histogramm income veerus pärast andmestiku tasakaalustamist. Proovide jaotus on nüüd 3:2, nagu ette nähtud.

Nüüd saame eksportida need uued tasakaalustatud andmed ja koolitada neile klassifikaatorit, mis võib anda parema ennustuskvaliteedi.

Järeldus

Selles postituses näitasime, kuidas tasakaalustamata binaarseid klassifitseerimisandmeid Data Wrangleri abil tasakaalustada. Data Wrangler pakub kolme tasakaalustamise operaatorit: juhuslik aladiskreetimine, juhuslik ülediskreetimine ja SMOTE, et tasakaalustamata andmekogumites olevad andmed uuesti tasakaalustada. Kõik kolm Data Wrangleri pakutavat meetodit toetavad multimodaalseid andmeid, sealhulgas numbrilisi ja mittenumbrilisi funktsioone.

Järgmiste sammudena soovitame teil selles postituses toodud näidet oma Data Wrangleri andmevoos korrata, et näha, mida me tegevuses arutasime. Kui olete Data Wrangleri uus kasutaja või SageMakeri stuudio, viitama Alustage Data Wrangleriga. Kui teil on selle postitusega seotud küsimusi, lisage see kommentaaride jaotisesse.


Autoritest

Yotam Elor on Amazon SageMakeri vanemrakendusteadlane. Tema uurimistöö on seotud masinõppega, eriti tabeliandmetega.

Arunprasath Shankar on tehisintellekti ja masinõppe (AI/ML) spetsialistlahenduste arhitekt koos AWS-iga, mis aitab globaalsetel klientidel oma tehisintellekti ja masinõppe lahendusi pilves tõhusalt skaleerida. Vabal ajal vaatab Arun meelsasti ulmefilme ja kuulab klassikalist muusikat.

Allikas: https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

Ajatempel:

Veel alates AWS-i masinõppe ajaveeb