Uravnotežite podatke za strojno učenje z Amazon SageMaker Data Wrangler

Izvorno vozlišče: 1600102

Amazon SageMaker Data Wrangler je nova sposobnost podjetja Amazon SageMaker ki podatkovnim znanstvenikom in inženirjem omogoča hitrejšo pripravo podatkov za aplikacije strojnega učenja (ML) z uporabo vizualnega vmesnika. Vsebuje več kot 300 vgrajenih transformacij podatkov, tako da lahko hitro normalizirate, transformirate in kombinirate funkcije, ne da bi morali napisati kodo.

Danes z veseljem napovedujemo nove transformacije, ki vam omogočajo preprosto in učinkovito uravnovešanje vaših podatkovnih nizov za usposabljanje modelov ML. V tej objavi prikazujemo, kako te transformacije delujejo.

Novi bilančni operaterji

Novo napovedani bilančni operaterji so združeni pod Podatki o bilanci spremenite vrsto v DODAJ PREOBRAZBO okno.

Trenutno transformacijski operaterji podpirajo le probleme binarne klasifikacije. Pri problemih binarne klasifikacije ima klasifikator nalogo, da vsak vzorec razvrsti v enega od dveh razredov. Kadar je število vzorcev v večinskem (večjem) razredu znatno večje od števila vzorcev v manjšinskem (manjšem) razredu, se nabor podatkov šteje za neuravnotežen. Ta izkrivljenost je izziv za algoritme in klasifikatorje ML, ker je proces usposabljanja ponavadi pristranski k večinskemu razredu.

Za reševanje tega izziva so bile predlagane sheme uravnoteženja, ki povečujejo uravnoteženost podatkov pred usposabljanjem klasifikatorja. Najenostavnejše metode uravnoteženja so bodisi prekomerno vzorčenje manjšinskega razreda s podvajanjem manjšinskih vzorcev ali premajhno vzorčenje večinskega razreda z odstranitvijo večinskih vzorcev. Zamisel o dodajanju sintetičnih manjšinskih vzorcev tabelarnim podatkom je bila prvič predlagana v tehniki sintetičnega manjšinskega nadvzorčenja (SMOTE), kjer se sintetični manjšinski vzorci ustvarijo z interpolacijo parov izvirnih manjšinskih točk. SMOTE in druge izravnalne sheme so bile obsežno empirično raziskane in dokazano je, da izboljšujejo učinkovitost napovedovanja v različnih scenarijih, kot je navedeno v publikaciji ZAGOTITI ali ne ZAGOTITI.

Data Wrangler zdaj podpira naslednje operaterje uravnoteženja kot del Podatki o bilanci transformacija:

  • Naključni nadvzorčevalnik – Naključno podvojeni manjšinski vzorci
  • Naključni podvzorčevalnik – Naključno odstranite večino vzorcev
  • SMETE – Ustvarite sintetične manjšinske vzorce z interpolacijo pravih manjšinskih vzorcev

Zdaj pa podrobno razpravljajmo o različnih operaterjih izravnave.

Naključni nadvzorec

Naključno nadvzorčenje vključuje izbiro naključnih primerov iz manjšinskega razreda z zamenjavo in dopolnjevanje učnih podatkov z več kopijami tega primerka. Zato je možno, da je en primerek izbran večkrat. z Naključen nadvzorčenje vrsto transformacije, Data Wrangler namesto vas samodejno prevzorči manjšinski razred s podvajanjem manjšinskih vzorcev v vašem naboru podatkov.

Naključni podvzorec

Naključno premajhno vzorčenje je nasprotje naključnega predvzorčenja. Ta metoda skuša naključno izbrati in odstraniti vzorce iz večinskega razreda, s čimer se zmanjša število primerov v večinskem razredu v transformiranih podatkih. The Naključen podvzorec vrsta transformacije omogoča, da Data Wrangler namesto vas samodejno podvzorči večinski razred, tako da odstrani večinske vzorce v vašem naboru podatkov.

SMETE

V SMOTE so podatki dodani sintetični manjšinski vzorci, da se doseže želeno razmerje med večinskimi in manjšinskimi vzorci. Sintetični vzorci so generirani z interpolacijo parov izvirnih manjšinskih točk. The SMETE transform podpira uravnoteženje naborov podatkov, vključno z numeričnimi in neštevilskimi funkcijami. Numerične značilnosti so interpolirane s tehtanim povprečjem. Vendar interpolacije uteženega povprečja ne morete uporabiti za neštevilske funkcije – nemogoče je izračunati povprečje “dog” in “cat” na primer Namesto tega so neštevilčne značilnosti kopirane iz katerega koli originalnega manjšinskega vzorca glede na povprečno težo.

Na primer, razmislite o dveh vzorcih, A in B:

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

Predpostavimo, da so vzorci interpolirani z utežmi 0.3 za vzorec A in 0.7 za vzorec B. Zato je povprečje numeričnih polj s temi utežmi, da dobimo 0.3 oziroma 0.6. Naslednje polje je izpolnjeno z “dog” z verjetnostjo 0.3 in “cow” z verjetnostjo 0.7. Podobno je naslednji enak “carnivore” z verjetnostjo 0.3 in “herbivore” z verjetnostjo 0.7. Naključno kopiranje se izvede neodvisno za vsako funkcijo, zato je spodnji vzorec C možen rezultat:

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

Ta primer prikazuje, kako lahko postopek interpolacije povzroči nerealne sintetične vzorce, kot je rastlinojed pes. To je pogostejše pri kategoričnih značilnostih, vendar se lahko pojavi tudi pri številskih funkcijah. Čeprav so nekateri sintetični vzorci morda nerealni, lahko SMOTE še vedno izboljša učinkovitost klasifikacije.

Za hevristično ustvarjanje bolj realističnih vzorcev SMOTE interpolira samo pare, ki so si blizu v prostoru značilnosti. Tehnično je vsak vzorec interpoliran samo s k-najbližjimi sosedi, kjer je skupna vrednost za k 5. V naši izvedbi SMOTE se za izračun razdalj med točkami uporabljajo samo numerične značilnosti (razdalje se uporabljajo za določanje soseščine vsakega vzorca). Običajno je normalizirati numerične značilnosti pred izračunom razdalj. Upoštevajte, da so numerične značilnosti normalizirane samo za namene izračuna razdalje; nastale interpolirane funkcije niso normalizirane.

Zdaj pa uravnotežimo Nabor podatkov za odrasle (znan tudi kot nabor podatkov Census Income) z uporabo vgrajene transformacije SMOTE, ki jo zagotavlja Data Wrangler. Ta večvariatni nabor podatkov vključuje šest numeričnih funkcij in osem funkcij niza. Cilj nabora podatkov je naloga binarne klasifikacije za napovedovanje, ali dohodek posameznika na podlagi podatkov popisa prebivalstva presega 50,000 USD na leto ali ne.

Porazdelitev razredov lahko vidite tudi vizualno, tako da ustvarite histogram z uporabo vrsto analize histograma v Data Wranglerju. Ciljna porazdelitev je neuravnotežena in razmerje zapisov z >50K do <=50K je približno 1:4.

Te podatke lahko uravnotežimo z uporabo SMETE operaterja najdete pod Podatki o stanju pretvorite v Data Wrangler z naslednjimi koraki:

  1. Izberite income kot ciljni stolpec.

Želimo, da bi bila porazdelitev tega stolpca bolj uravnotežena.

  1. Nastavite želeno razmerje na 0.66.

Zato je razmerje med številom manjšinskih in večinskih vzorcev 2:3 (namesto surovega razmerja 1:4).

  1. Izberite SMETE kot preoblikovanje za uporabo.
  2. Pustite privzete vrednosti za Število sosedov na povprečje in ali naj se normalizira ali ne.
  3. Izberite predogled da dobite predogled uporabljene transformacije in izberete Dodaj da dodate transformacijo v vaš podatkovni tok.

Zdaj lahko ustvarimo nov histogram, podoben tistemu, kar smo naredili prej, da vidimo ponovno poravnano porazdelitev razredov. Naslednja slika prikazuje histogram income po uravnoteženju nabora podatkov. Porazdelitev vzorcev je zdaj 3:2, kot je bilo predvideno.

Zdaj lahko izvozimo te nove uravnotežene podatke in na njih usposobimo klasifikator, kar bi lahko prineslo vrhunsko kakovost napovedi.

zaključek

V tej objavi smo pokazali, kako uravnotežiti podatke neuravnotežene binarne klasifikacije z Data Wranglerjem. Data Wrangler ponuja tri operaterje za izravnavo: naključno premajhno vzorčenje, naključno nadvzorčenje in SMOTE za ponovno uravnoteženje podatkov v vaših neuravnoteženih naborih podatkov. Vse tri metode, ki jih ponuja Data Wrangler, podpirajo večmodalne podatke, vključno z numeričnimi in neštevilskimi funkcijami.

Kot naslednje korake vam priporočamo, da ponovite primer v tej objavi v podatkovnem toku Data Wrangler, da vidite, o čem smo razpravljali v akciji. Če ste novi v Data Wrangler oz Studio SageMaker, nanašati se na Začnite z Data Wrangler. Če imate kakršna koli vprašanja v zvezi s to objavo, jih dodajte v razdelek za komentarje.


O avtorjih

Yotam Elor je višji aplikativni znanstvenik pri Amazon SageMaker. Njegov raziskovalni interes je strojno učenje, zlasti za tabelarne podatke.

Arunprasath Shankar je arhitekt za umetno inteligenco in strojno učenje (AI / ML) Specialist Solutions Architect z AWS, ki svetovnim strankam pomaga, da svoje rešitve AI učinkovito in uspešno lestvijo v oblaku. V prostem času Arun rad gleda znanstvenofantastične filme in posluša klasično glasbo.

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

Časovni žig:

Več od Blog za strojno učenje AWS