Tasapainota tietosi koneoppimista varten Amazon SageMaker Data Wranglerin avulla

Lähdesolmu: 1600102

Amazon SageMaker Data Wrangler on uusi ominaisuus Amazon Sage Maker Tämä nopeuttaa datatieteilijöiden ja insinöörien valmistamista koneoppimissovelluksiin (ML) visuaalisen käyttöliittymän avulla. Se sisältää yli 300 sisäänrakennettua tietomuunnosta, joten voit nopeasti normalisoida, muuntaa ja yhdistää ominaisuuksia ilman koodin kirjoittamista.

Tänään olemme iloisia voidessamme julkistaa uusia muunnoksia, joiden avulla voit tasapainottaa tietojoukot helposti ja tehokkaasti ML-mallin harjoittelua varten. Näytämme tässä viestissä, kuinka nämä muutokset toimivat.

Uudet tasapainotusoperaattorit

Äskettäin julkistetut tasapainotusoperaattorit on ryhmitelty alle Saldotiedot muunnos kirjoita LISÄÄ MUUTOS ruudussa.

Tällä hetkellä muunnosoperaattorit tukevat vain binääriluokitteluongelmia. Binääriluokitteluongelmissa luokittelijan tehtävänä on luokitella jokainen näyte johonkin kahdesta luokasta. Kun enemmistöluokan (isomman) näytteiden määrä on huomattavasti suurempi kuin vähemmistöluokan (pienempi) näytteiden määrä, aineisto katsotaan epätasapainoiseksi. Tämä vino on haastava ML-algoritmeille ja luokittelijoille, koska koulutusprosessilla on taipumus olla puolueellinen enemmistöluokkaan.

Tämän haasteen ratkaisemiseksi ehdotettiin tasapainotusjärjestelmiä, jotka lisäävät dataa tasapainoisemmaksi ennen luokittelijan harjoittelua. Yksinkertaisimmat tasapainotusmenetelmät ovat joko vähemmistöluokan ylinäytteenotto monistamalla vähemmistönäytteet tai enemmistöluokan alinäytteenotto poistamalla enemmistönäytteet. Ajatus synteettisten vähemmistönäytteiden lisäämisestä taulukkotietoihin esitettiin ensimmäisen kerran Synthetic Minority Oversampling Techniquessa (SMOTE), jossa synteettiset vähemmistönäytteet luodaan interpoloimalla alkuperäisten vähemmistöpisteiden pareja. SMOTE ja muita tasapainotusjärjestelmiä tutkittiin laajasti empiirisesti ja niiden osoitettiin parantavan ennustussuorituskykyä eri skenaarioissa julkaisun mukaan SMOTE:lle tai ei SMOTElle.

Data Wrangler tukee nyt seuraavia tasapainotusoperaattoreita osana Saldotiedot muuttaa:

  • Satunnainen ylisampleri – Monista vähemmistönäytteet satunnaisesti
  • Satunnainen alinäytteenottolaite – Poista enemmistönäytteet satunnaisesti
  • löivät – Luo synteettisiä vähemmistönäytteitä interpoloimalla todellisia vähemmistönäytteitä

Keskustellaan nyt yksityiskohtaisesti erilaisista tasapainotusoperaattoreista.

Satunnainen yliotos

Satunnainen ylinäytteenotto sisältää satunnaisten esimerkkien valitsemisen vähemmistöluokasta korvaamalla ja harjoitustietojen täydentämisen useilla tämän esiintymän kopioilla. Siksi on mahdollista, että yksi esiintymä voidaan valita useita kertoja. Kanssa satunnainen ylinäyte muunnostyyppi, Data Wrangler ylinäytteistää automaattisesti vähemmistöluokan puolestasi monistamalla vähemmistönäytteet tietojoukossasi.

Satunnainen aliotos

Satunnainen alinäytteenotto on satunnaisen ylinäytteenoton vastakohta. Tämä menetelmä pyrkii satunnaisesti valitsemaan ja poistamaan näytteitä enemmistöluokasta, mikä vähentää muunnetun datan enemmistöluokan esimerkkien määrää. The satunnainen aliotos muunnostyyppi antaa Data Wranglerille automaattisesti alinäytteen enemmistöluokan puolestasi poistamalla enemmistönäytteet tietojoukostasi.

löivät

SMOTEssa synteettiset vähemmistönäytteet lisätään tietoihin halutun suhteen saavuttamiseksi enemmistö- ja vähemmistönäytteiden välillä. Synteettiset näytteet generoidaan interpoloimalla alkuperäisten vähemmistöpisteiden pareja. The löivät muunnos tukee tasapainottamista tietojoukkojen mukaan lukien numeeriset ja ei-numeeriset ominaisuudet. Numeeriset ominaisuudet interpoloidaan painotetulla keskiarvolla. Et kuitenkaan voi soveltaa painotetun keskiarvon interpolointia ei-numeerisiin ominaisuuksiin – keskiarvon laskeminen on mahdotonta “dog” ja “cat” esimerkiksi. Sen sijaan ei-numeeriset ominaisuudet kopioidaan jommastakummasta alkuperäisestä vähemmistönäytteestä keskimääräisen painon mukaan.

Tarkastellaan esimerkiksi kahta näytettä, A ja B:

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

Oletetaan, että näytteet on interpoloitu painoilla 0.3 näytteelle A ja 0.7 näytteelle B. Siksi numeeriset kentät keskiarvoistetaan näillä painoilla, jolloin saadaan 0.3 ja 0.6. Seuraava kenttä on täynnä “dog” todennäköisyydellä 0.3 ja “cow” todennäköisyydellä 0.7. Samoin seuraava on yhtä suuri “carnivore” todennäköisyydellä 0.3 ja “herbivore” todennäköisyydellä 0.7. Satunnainen kopiointi tehdään jokaiselle ominaisuudelle erikseen, joten alla oleva esimerkki C on mahdollinen tulos:

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

Tämä esimerkki osoittaa, kuinka interpolointiprosessi voi johtaa epärealistisiin synteettisiin näytteisiin, kuten kasvinsyöjäkoiraan. Tämä on yleisempää kategorisilla ominaisuuksilla, mutta voi esiintyä myös numeerisissa ominaisuuksissa. Vaikka jotkin synteettiset näytteet saattavat olla epärealistisia, SMOTE voisi silti parantaa luokituksen suorituskykyä.

Luodakseen heuristisesti realistisempia näytteitä SMOTE interpoloi vain parit, jotka ovat lähellä piirteitä. Teknisesti jokainen näyte interpoloidaan vain sen k-lähimpien naapureiden kanssa, joissa k:n yhteinen arvo on 5. SMOTE-toteutuksessamme käytetään vain numeerisia ominaisuuksia pisteiden välisten etäisyyksien laskemiseen (etäisyyksiä käytetään lähialueen määrittämiseen). jokaisesta näytteestä). On tavallista normalisoida numeeriset ominaisuudet ennen etäisyyksien laskemista. Huomaa, että numeeriset ominaisuudet normalisoidaan vain etäisyyden laskemista varten; tuloksena olevia interpoloituja piirteitä ei ole normalisoitu.

Tasapainotetaan nyt Aikuisten tietojoukko (tunnetaan myös nimellä Census Income -tietojoukko) käyttämällä Data Wranglerin tarjoamaa sisäänrakennettua SMOTE-muunnosta. Tämä monimuuttujatietojoukko sisältää kuusi numeerista ominaisuutta ja kahdeksan merkkijonoominaisuutta. Aineiston tavoitteena on binääriluokittelutehtävä ennustaa, ylittääkö yksilön tulo 50,000 XNUMX dollaria vuodessa vai ei väestölaskentatietojen perusteella.

Voit myös nähdä luokkien jakautumisen visuaalisesti luomalla histogrammin käyttämällä histogrammin analyysityyppi Data Wranglerissa. Kohdejakauma on epätasapainoinen ja tietueiden suhde >50K että <=50K on noin 1:4.

Voimme tasapainottaa nämä tiedot käyttämällä löivät operaattori löytyy alta Tasetiedot muunna Data Wranglerissa seuraavilla vaiheilla:

  1. Valita income kohdesarakkeena.

Haluamme, että tämän sarakkeen jakautuminen on tasapainoisempaa.

  1. Aseta haluamasi suhde 0.66.

Siksi vähemmistö- ja enemmistönäytteiden lukumäärän suhde on 2:3 (raakasuhteen 1:4 sijaan).

  1. Valita löivät käytettäväksi muunnokseksi.
  2. Jätä oletusarvot Naapurien määrä keskiarvoon ja normalisoidaanko vai ei.
  3. Valita preview saadaksesi esikatselun käytetystä muunnoksesta ja valita Lisää lisätäksesi muunnos tietovirtaan.

Nyt voimme luoda uuden histogrammin, joka on samanlainen kuin aiemmin, nähdäksemme luokkien uudelleen kohdistetun jakauman. Seuraavassa kuvassa on histogrammi income sarakkeessa tietojoukon tasapainottamisen jälkeen. Näytteiden jakautuminen on nyt 3:2, kuten oli tarkoitus.

Voimme nyt viedä nämä uudet tasapainotetut tiedot ja opettaa sille luokittelijan, mikä voi tuottaa erinomaisen ennusteen laadun.

Yhteenveto

Tässä viestissä osoitimme, kuinka tasapainottaa epätasapainoiset binääriluokitustiedot Data Wrangleria käyttämällä. Data Wrangler tarjoaa kolme tasapainotusoperaattoria: satunnainen alinäytteenotto, satunnainen ylinäytteenotto ja SMOTE tasapainottamaan tiedot tasapainottamattomissa tietojoukkoissasi. Kaikki kolme Data Wranglerin tarjoamaa menetelmää tukevat multimodaalista dataa, mukaan lukien numeeriset ja ei-numeeriset ominaisuudet.

Seuraavina vaiheina suosittelemme, että toistat tässä viestissä olevan esimerkin Data Wrangler -tietokulussa nähdäksesi, mitä keskustelimme toiminnassa. Jos olet uusi Data Wrangler tai SageMaker Studio, viitata Aloita Data Wranglerin käyttö. Jos sinulla on kysyttävää tähän postaukseen liittyen, voit lisätä ne kommenttikenttään.


Tietoja Tekijät

Yotam Elor on vanhempi soveltuva tutkija Amazon SageMakerissa. Hänen tutkimuskohteensa ovat koneoppiminen, erityisesti taulukkotietojen osalta.

Arunprasath Shankar on tekoälyn ja koneoppimisen (AI / ML) asiantuntijaratkaisuarkkitehti AWS: n kanssa, joka auttaa globaaleja asiakkaita skaalautumaan tekoälyratkaisuihinsa tehokkaasti ja tehokkaasti pilvessä. Vapaa-ajallaan Arun nauttii scifi-elokuvien katsomisesta ja klassisen musiikin kuuntelusta.

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

Aikaleima:

Lisää aiheesta AWS-koneoppimisblogi