Zrównoważ swoje dane do uczenia maszynowego dzięki Amazon SageMaker Data Wrangler

Węzeł źródłowy: 1600102

Pogromca danych Amazon SageMaker to nowa możliwość Amazon Sage Maker Dzięki temu analitycy danych i inżynierowie mogą szybciej przygotowywać dane do aplikacji uczenia maszynowego (ML) za pomocą interfejsu wizualnego. Zawiera ponad 300 wbudowanych transformacji danych, dzięki czemu można szybko normalizować, przekształcać i łączyć funkcje bez konieczności pisania kodu.

Dzisiaj z przyjemnością ogłaszamy nowe przekształcenia, które umożliwiają łatwe i skuteczne równoważenie zestawów danych na potrzeby szkolenia modeli uczenia maszynowego. W tym poście pokazujemy, jak działają te przekształcenia.

Nowi operatorzy równoważenia

Nowo ogłoszeni operatorzy bilansujący są zgrupowani w ramach tzw Dane salda przekształć typ w DODAJ PRZEKSZTAŁCENIE szkło.

Obecnie operatory transformacji obsługują tylko problemy z klasyfikacją binarną. W problemach klasyfikacji binarnej zadaniem klasyfikatora jest zaklasyfikowanie każdej próbki do jednej z dwóch klas. Gdy liczba próbek w klasie większościowej (większej) jest znacznie większa niż liczba próbek w klasie mniejszościowej (mniejszej), zbiór danych uważa się za niezrównoważony. To pochylenie stanowi wyzwanie dla algorytmów i klasyfikatorów uczenia maszynowego, ponieważ proces uczenia ma tendencję do faworyzowania klasy większościowej.

Aby sprostać temu wyzwaniu, zaproponowano schematy równoważenia, które zwiększają równowagę danych przed szkoleniem klasyfikatora. Najprostsze metody równoważenia polegają albo na nadpróbkowaniu klasy mniejszościowej poprzez powielanie próbek mniejszościowych, albo na niedopróbkowaniu klasy większościowej przez usunięcie próbek większościowych. Pomysł dodawania syntetycznych próbek mniejszości do danych tabelarycznych został po raz pierwszy zaproponowany w technice syntetycznego nadpróbkowania mniejszości (SMOTE), w której syntetyczne próbki mniejszości są tworzone przez interpolację par oryginalnych punktów mniejszości. SMOTE i inne schematy równoważenia zostały dokładnie zbadane empirycznie i wykazano, że poprawiają wydajność przewidywania w różnych scenariuszach, zgodnie z publikacją Do SMOTE, czy nie do SMOTE.

Data Wrangler obsługuje teraz następujących operatorów równoważących w ramach Dane salda przekształcać:

  • Losowy nadpróbkowanie – Losowo zduplikuj próbki mniejszości
  • Losowy podpróbnik – Losowo usuń większość próbek
  • GŁADKIE – Generuj syntetyczne próbki mniejszości poprzez interpolację rzeczywistych próbek mniejszości

Omówmy teraz szczegółowo różne operatory równoważenia.

Losowa nadpróbka

Losowe nadpróbkowanie polega na wybraniu losowych przykładów z klasy mniejszości z zastąpieniem i uzupełnieniem danych uczących wieloma kopiami tej instancji. W związku z tym możliwe jest, że pojedyncza instancja może być wybrana wiele razy. z Losowy nadpróbka transform, Data Wrangler automatycznie nadpróbkuje klasę mniejszości, powielając próbki mniejszości w twoim zbiorze danych.

Losowa podpróbka

Losowe podpróbkowanie jest przeciwieństwem losowego nadpróbkowania. Ta metoda ma na celu losowe wybieranie i usuwanie próbek z klasy większościowej, w konsekwencji zmniejszając liczbę przykładów w klasie większościowej w przekształconych danych. The Losowy podpróbka typ transformacji pozwala Data Wrangler automatycznie podpróbkować klasę większościową, usuwając próbki większościowe z zestawu danych.

GŁADKIE

W SMOTE syntetyczne próbki mniejszościowe są dodawane do danych w celu uzyskania pożądanego stosunku między próbkami większościowymi i mniejszościowymi. Próbki syntetyczne są generowane przez interpolację par oryginalnych punktów mniejszościowych. The GŁADKIE transform obsługuje równoważenie zestawów danych, w tym funkcji numerycznych i nienumerycznych. Cechy numeryczne są interpolowane przez średnią ważoną. Jednak nie można zastosować interpolacji średniej ważonej do obiektów nieliczbowych — nie można uśrednić “dog” i “cat” Na przykład. Zamiast tego cechy nieliczbowe są kopiowane z oryginalnej próbki mniejszościowej zgodnie z uśrednioną wagą.

Rozważmy na przykład dwie próbki, A i B:

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

Załóżmy, że próbki są interpolowane z wagami 0.3 dla próbki A i 0.7 dla próbki B. Dlatego pola numeryczne są uśredniane z tymi wagami, dając odpowiednio 0.3 i 0.6. Następne pole jest wypełnione “dog” z prawdopodobieństwem 0.3 i “cow” z prawdopodobieństwem 0.7. Podobnie, następny jest równy “carnivore” z prawdopodobieństwem 0.3 i “herbivore” z prawdopodobieństwem 0.7. Losowe kopiowanie odbywa się niezależnie dla każdej cechy, więc próbka C poniżej jest możliwym wynikiem:

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

Ten przykład pokazuje, w jaki sposób proces interpolacji może skutkować nierealistycznymi próbkami syntetycznymi, takimi jak pies roślinożerny. Jest to bardziej powszechne w przypadku cech jakościowych, ale może również wystąpić w przypadku cech liczbowych. Mimo że niektóre syntetyczne próbki mogą być nierealne, SMOTE może poprawić wydajność klasyfikacji.

Aby heurystycznie wygenerować bardziej realistyczne próbki, SMOTE interpoluje tylko pary, które są blisko siebie w przestrzeni cech. Technicznie rzecz biorąc, każda próbka jest interpolowana tylko z jej k-najbliższymi sąsiadami, gdzie wspólną wartością k jest 5. W naszej implementacji SMOTE do obliczenia odległości między punktami używane są tylko cechy numeryczne (odległości są używane do określenia sąsiedztwa każdej próbki). Często normalizuje się cechy numeryczne przed obliczeniem odległości. Należy zauważyć, że cechy liczbowe są znormalizowane tylko w celu obliczenia odległości; wynikowe interpolowane funkcje nie są znormalizowane.

Zbilansujmy teraz Zestaw danych dla dorosłych (znany również jako zestaw danych Census Income) przy użyciu wbudowanej transformacji SMOTE dostarczonej przez Data Wrangler. Ten wielowymiarowy zestaw danych obejmuje sześć funkcji liczbowych i osiem funkcji łańcuchowych. Celem zestawu danych jest zadanie klasyfikacji binarnej w celu przewidzenia, czy dochód danej osoby przekracza 50,000 XNUMX USD rocznie, czy też nie, na podstawie danych ze spisu powszechnego.

Możesz również zobaczyć rozkład klas wizualnie, tworząc histogram za pomocą typ analizy histogramu w Data Wrangler. Dystrybucja docelowa jest niezrównoważona, a stosunek rekordów z >50K do <=50K wynosi około 1:4.

Możemy zrównoważyć te dane za pomocą GŁADKIE operator znaleziony pod Dane salda transform w Data Wrangler, wykonując następujące czynności:

  1. Dodaj income jako kolumna docelowa.

Chcemy, aby rozkład tej kolumny był bardziej zrównoważony.

  1. Ustaw żądany współczynnik na 0.66.

Dlatego stosunek liczby próbek mniejszościowych do większości wynosi 2:3 (zamiast surowego stosunku 1:4).

  1. Dodaj GŁADKIE jako transformację do użycia.
  2. Pozostaw wartości domyślne dla Liczba sąsiadów uśredniać i czy normalizować.
  3. Dodaj Podgląd aby uzyskać podgląd zastosowanej transformacji i wybrać Dodaj aby dodać transformację do przepływu danych.

Teraz możemy utworzyć nowy histogram podobny do tego, co zrobiliśmy wcześniej, aby zobaczyć wyrównany rozkład klas. Poniższy rysunek przedstawia histogram income kolumna po zrównoważeniu zestawu danych. Rozkład próbek wynosi teraz 3:2, zgodnie z zamierzeniami.

Możemy teraz wyeksportować te nowe zrównoważone dane i wyszkolić na ich podstawie klasyfikator, który może zapewnić lepszą jakość predykcji.

Wnioski

W tym poście pokazaliśmy, jak zrównoważyć niezrównoważone dane klasyfikacji binarnej za pomocą narzędzia Data Wrangler. Data Wrangler oferuje trzy operatory równoważenia: losowe podpróbkowanie, losowe nadpróbkowanie i SMOTE do ponownego zrównoważenia danych w niezrównoważonych zestawach danych. Wszystkie trzy metody oferowane przez Data Wrangler obsługują dane multimodalne, w tym cechy numeryczne i nienumeryczne.

Jako kolejne kroki zalecamy powtórzenie przykładu z tego posta w przepływie danych Data Wrangler, aby zobaczyć, o czym rozmawialiśmy, w działaniu. Jeśli jesteś nowy w Data Wrangler lub Studio SageMaker, odnosić się do Zacznij korzystać z Data Wranglera. Jeśli masz jakieś pytania związane z tym postem, dodaj je w sekcji komentarzy.


O autorach

Yotama Elora jest starszym naukowcem w firmie Amazon SageMaker. Jego zainteresowania badawcze dotyczą uczenia maszynowego, w szczególności danych tabelarycznych.

Arunprasath Shankar jest specjalistą ds. rozwiązań w zakresie sztucznej inteligencji i uczenia maszynowego (AI / ML) w AWS, pomagając globalnym klientom skutecznie i wydajnie skalować rozwiązania AI w chmurze. W wolnym czasie Arun lubi oglądać filmy science fiction i słuchać muzyki klasycznej.

Źródło: https://aws.amazon.com/blogs/machine-learning/balance-your-data-for-machine-learning-with-amazon-sagemaker-data-wrangler/

Znak czasu:

Więcej z Blog dotyczący uczenia maszynowego AWS