Echilibrați-vă datele pentru învățarea automată cu Amazon SageMaker Data Wrangler

Nodul sursă: 1600102

Amazon SageMaker Data Wrangler este o nouă capacitate de Amazon SageMaker ceea ce face ca oamenii de știință și inginerii de date să pregătească mai rapid datele pentru aplicații de învățare automată (ML) prin utilizarea unei interfețe vizuale. Conține peste 300 de transformări de date încorporate, astfel încât să puteți normaliza, transforma și combina rapid funcții fără a fi nevoie să scrieți niciun cod.

Astăzi, suntem încântați să anunțăm noi transformări care vă permit să vă echilibrați seturile de date ușor și eficient pentru antrenamentul modelului ML. Demonstrăm cum funcționează aceste transformări în această postare.

Noi operatori de echilibrare

Operatorii de echilibrare nou anunțați sunt grupați sub Datele de echilibru tipul de transformare în ADĂUGAȚI TRANFORM panoul.

În prezent, operatorii de transformare suportă doar probleme de clasificare binară. În problemele de clasificare binară, clasificatorul are sarcina de a clasifica fiecare eșantion într-una din cele două clase. Când numărul de eșantioane din clasa majoritară (mai mare) este considerabil mai mare decât numărul de eșantioane din clasa minoritară (mai mică), setul de date este considerat dezechilibrat. Această distorsiune este o provocare pentru algoritmii și clasificatorii ML, deoarece procesul de antrenament tinde să fie părtinitor către clasa majoritară.

Schemele de echilibrare, care măresc datele pentru a fi mai echilibrate înainte de antrenamentul clasificatorului, au fost propuse pentru a aborda această provocare. Cele mai simple metode de echilibrare sunt fie supraeșantionarea clasei minoritare prin duplicarea eșantioanelor minoritare, fie subeșantionarea clasei majoritare prin eliminarea eșantioanelor majoritare. Ideea de a adăuga mostre minoritare sintetice la datele tabelare a fost propusă pentru prima dată în Tehnica de supraeșantionare a minorității sintetice (SMOTE), unde eșantioanele minoritare sintetice sunt create prin interpolarea perechilor de puncte minoritare originale. SMOTE și alte scheme de echilibrare au fost studiate pe larg empiric și s-a dovedit că îmbunătățesc performanța de predicție în diferite scenarii, conform publicației A SMOTE, sau a nu SMOTE.

Data Wrangler acceptă acum următorii operatori de echilibrare ca parte a Datele de echilibru transforma:

  • Supraeșantionare aleatorie – Duplicați aleatoriu mostre minoritare
  • Subsampler aleatoriu – Eliminați aleatoriu mostrele majoritare
  • bătuseră, – Generați eșantioane minoritare sintetice prin interpolarea eșantioanelor minoritare reale

Să discutăm acum în detaliu diferiții operatori de echilibrare.

Supraeșantionare aleatorie

Supraeșantionarea aleatorie include selectarea exemplelor aleatorii din clasa minoritară cu o înlocuire și completarea datelor de instruire cu mai multe copii ale acestei instanțe. Prin urmare, este posibil ca o singură instanță să fie selectată de mai multe ori. Cu Întâmplător supraeșantion tip de transformare, Data Wrangler supraeșantionează automat clasa minoritară pentru dvs., duplicând mostrele minoritare din setul dvs. de date.

Subeșantionare aleatorie

Subeșantionarea aleatorie este opusul supraeșantionării aleatoare. Această metodă urmărește să selecteze și să elimine aleatoriu mostre din clasa majoritară, reducând în consecință numărul de exemple din clasa majoritară în datele transformate. The Întâmplător subesantionare tipul de transformare permite Data Wrangler să eșantioneze automat clasa majoritară pentru dvs., eliminând mostrele majoritare din setul dvs. de date.

bătuseră,

În SMOTE, mostrele minoritare sintetice sunt adăugate la date pentru a obține raportul dorit între eșantioanele majoritare și minoritare. Probele sintetice sunt generate prin interpolarea perechilor de puncte minoritare originale. The bătuseră, transform acceptă echilibrarea seturi de date, inclusiv caracteristici numerice și non-numerice. Caracteristicile numerice sunt interpolate prin medie ponderată. Cu toate acestea, nu puteți aplica interpolarea medie ponderată caracteristicilor nenumerice - este imposibil să faceți o medie “dog” și “cat” de exemplu. În schimb, caracteristicile non-numerice sunt copiate din fiecare eșantion minoritar original în funcție de ponderea medie.

De exemplu, luați în considerare două mostre, A și B:

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

Să presupunem că eșantioanele sunt interpolate cu ponderi de 0.3 pentru eșantionul A și 0.7 pentru proba B. Prin urmare, câmpurile numerice sunt mediate cu aceste ponderi pentru a produce 0.3 și, respectiv, 0.6. Următorul câmp este completat cu “dog” cu probabilitate 0.3 și “cow” cu probabilitate 0.7. În mod similar, următorul este egal “carnivore” cu probabilitate 0.3 și “herbivore” cu probabilitate 0.7. Copierea aleatorie se face independent pentru fiecare caracteristică, așa că exemplul C de mai jos este un rezultat posibil:

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

Acest exemplu demonstrează modul în care procesul de interpolare ar putea duce la eșantioane sintetice nerealiste, cum ar fi un câine ierbivor. Acest lucru este mai frecvent în cazul caracteristicilor categoriale, dar poate apărea și în caracteristicile numerice. Chiar dacă unele mostre sintetice pot fi nerealiste, SMOTE ar putea încă îmbunătăți performanța de clasificare.

Pentru a genera euristic mostre mai realiste, SMOTE interpolează doar perechile care sunt apropiate în spațiul caracteristicilor. Din punct de vedere tehnic, fiecare eșantion este interpolat numai cu vecinii săi k cei mai apropiați, unde o valoare comună pentru k este 5. În implementarea noastră a SMOTE, numai caracteristicile numerice sunt utilizate pentru a calcula distanțele dintre puncte (distanțele sunt folosite pentru a determina vecinătatea). din fiecare probă). Este obișnuit să normalizați caracteristicile numerice înainte de a calcula distanțe. Rețineți că caracteristicile numerice sunt normalizate numai în scopul calculării distanței; caracteristicile interpolate rezultate nu sunt normalizate.

Să echilibrăm acum Set de date pentru adulți (cunoscut și ca setul de date Census Income) folosind transformarea SMOTE încorporată furnizată de Data Wrangler. Acest set de date multivariate include șase caracteristici numerice și opt caracteristici șir. Scopul setului de date este o sarcină de clasificare binară pentru a prezice dacă venitul unei persoane depășește sau nu 50,000 USD pe an, pe baza datelor recensământului.

Puteți vedea, de asemenea, distribuția claselor vizual prin crearea unei histograme folosind tipul de analiză a histogramei în Data Wrangler. Distribuția țintă este dezechilibrată și raportul înregistrărilor cu >50K la <=50K este de aproximativ 1:4.

Putem echilibra aceste date folosind bătuseră, operator găsit sub Date de echilibru transformați în Data Wrangler cu următorii pași:

  1. Alege income ca coloană țintă.

Ne dorim ca distribuția acestei coloane să fie mai echilibrată.

  1. Setați raportul dorit la 0.66.

Prin urmare, raportul dintre numărul de mostre minoritare și majoritare este de 2:3 (în loc de raportul brut de 1:4).

  1. Alege bătuseră, ca transformare de utilizat.
  2. Lăsați valorile implicite pentru Numărul de vecini la medie și dacă să se normalizeze sau nu.
  3. Alege Anunţ pentru a obține o previzualizare a transformării aplicate și alegeți Adăuga pentru a adăuga transformarea fluxului de date.

Acum putem crea o nouă histogramă similară cu ceea ce făceam înainte pentru a vedea distribuția realiniată a claselor. Următoarea figură prezintă histograma income coloană după echilibrarea setului de date. Distribuția probelor este acum 3:2, așa cum era intenționat.

Acum putem exporta aceste noi date echilibrate și putem instrui un clasificator pe ele, ceea ce ar putea produce o calitate superioară a predicției.

Concluzie

În această postare, am demonstrat cum să echilibrăm datele de clasificare binară dezechilibrate folosind Data Wrangler. Data Wrangler oferă trei operatori de echilibrare: subeșantionare aleatorie, supraeșantionare aleatoare și SMOTE pentru a reechilibra datele din seturile de date dezechilibrate. Toate cele trei metode oferite de Data Wrangler acceptă date multimodale, inclusiv caracteristici numerice și non-numerice.

Ca pași următori, vă recomandăm să replicați exemplul din această postare în fluxul de date Data Wrangler pentru a vedea ce am discutat în acțiune. Dacă sunteți nou la Data Wrangler sau SageMaker Studio, a se referi la Începeți cu Data Wrangler. Dacă aveți întrebări legate de această postare, vă rugăm să o adăugați în secțiunea de comentarii.


Despre Autori

Yotam Elor este cercetător senior aplicat la Amazon SageMaker. Interesele sale de cercetare sunt în învățarea automată, în special pentru datele tabulare.

Arunprasath Shankar este un arhitect specializat în soluții de inteligență artificială și învățare automată (AI / ML) cu AWS, ajutând clienții globali să își scaleze soluțiile de AI în mod eficient și eficient în cloud. În timpul liber, lui Arun îi place să urmărească filme SF și să asculte muzică clasică.

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

Timestamp-ul:

Mai mult de la Blog de AWS Machine Learning