Amazon Redshift ML upraszcza korzystanie z uczenia maszynowego (ML), używając prostych instrukcji SQL do tworzenia i trenowania modeli ML na podstawie danych w Amazonka Przesunięcie ku czerwieni. Możesz użyć Amazon Redshift ML do rozwiązywania problemów z klasyfikacją binarną, klasyfikacją wieloklasową i regresją, a także możesz bezpośrednio korzystać z AutoML lub XGBoost.
Ten post jest częścią serii opisującej korzystanie z Amazon Redshift ML. Aby uzyskać więcej informacji na temat budowania regresji za pomocą Amazon Redshift ML, zobacz Twórz modele regresji za pomocą Amazon Redshift ML.
Możesz użyć Amazon Redshift ML, aby zautomatyzować przygotowanie danych, wstępne przetwarzanie i wybór typu problemu, jak pokazano w ten wpis na blogu. Zakładamy, że dobrze rozumiesz swoje dane i jaki typ problemu jest najbardziej odpowiedni dla Twojego przypadku użycia. Ten post koncentruje się w szczególności na tworzeniu modeli w Amazon Redshift przy użyciu typu problemu klasyfikacji wieloklasowej, która polega na zaklasyfikowaniu instancji do jednej z trzech lub więcej klas. Na przykład można przewidzieć, czy transakcja jest fałszywa, nieudana lub udana, czy klient pozostanie aktywny przez 3 miesiące, sześć miesięcy, dziewięć miesięcy, 12 miesięcy lub czy wiadomość jest oznaczona jako sport, wiadomości ze świata, biznes.
Wymagania wstępne
Warunkiem wstępnym wdrożenia tego rozwiązania jest skonfigurowanie klastra Amazon Redshift z włączoną ML. Aby zapoznać się z wstępnymi krokami, aby rozpocząć, zobacz Twórz, trenuj i wdrażaj modele uczenia maszynowego w Amazon Redshift przy użyciu SQL z Amazon Redshift ML.
Przypadek użycia
W naszym przypadku użycia chcemy skierować naszych najbardziej aktywnych klientów do specjalnego programu lojalnościowego. Używamy Amazon Redshift ML i klasyfikacji wieloklasowej, aby przewidzieć, ile miesięcy klient będzie aktywny w okresie 13 miesięcy. Przekłada się to na maksymalnie 13 możliwych klas, co sprawia, że lepiej pasuje do klasyfikacji wieloklasowej. Klienci z przewidywaną aktywnością 7 miesięcy lub dłużej są kierowani do specjalnego programu lojalnościowego dla klientów.
Wprowadź surowe dane
Aby przygotować nieprzetworzone dane dla tego modelu, wypełniliśmy tabelę ecommerce_sales w Amazon Redshift przy użyciu publicznego zestawu danych Prognoza sprzedaży e-commerce, który zawiera dane dotyczące sprzedaży internetowego sprzedawcy w Wielkiej Brytanii.
Wprowadź następujące oświadczenia, aby załadować dane do Amazon Redshift:
Aby odtworzyć ten skrypt w swoim środowisku, zamień < > z AWS Zarządzanie tożsamością i dostępem (IAM) ARN dla Twojego klastra Amazon Redshift.
Przygotowanie danych do modelu ML
Teraz, gdy nasz zestaw danych jest załadowany, możemy opcjonalnie podzielić dane na trzy zestawy do trenowania (80%), walidacji (10%) i przewidywania (10%). Zauważ, że Amazon Redshift ML Autopilot automatycznie podzieli dane na trening i walidację, ale dzieląc je tutaj, będziesz mógł zweryfikować dokładność swojego modelu. Dodatkowo obliczamy liczbę miesięcy aktywności klienta, ponieważ będzie to wartość, którą nasz model ma przewidywać na nowych danych. Do podziału danych używamy funkcji random w naszych instrukcjach SQL. Zobacz następujący kod:
Zestaw treningowy
Zestaw walidacyjny
Zestaw prognoz
Stwórz model w Amazon Redshift
Teraz, gdy stworzyliśmy nasze zestawy danych treningowych i walidacyjnych, możemy użyć stworzyć model oświadczenie w Amazon Redshift, aby stworzyć nasz model ML za pomocą Multiclass_Classification
. Określamy typ problemu, ale pozwalamy AutoML zająć się wszystkim innym. W tym modelu celem, który chcemy przewidzieć, jest nbr_months_active
. Amazon Sage Maker tworzy funkcję predict_customer_activity
, którego używamy do wnioskowania w Amazon Redshift. Zobacz następujący kod:
Aby odtworzyć ten skrypt w swoim środowisku, zamień < > z rolą IAM Twojego klastra ARN.
Sprawdź poprawność prognoz
Na tym etapie oceniamy dokładność naszego modelu ML względem naszych danych walidacyjnych.
Tworząc model, Autopilot Amazon SageMaker automatycznie dzieli dane wejściowe na zestawy do pociągów i walidacji oraz wybiera model o najlepszej obiektywnej metryce, który jest wdrażany w klastrze Amazon Redshift. Możesz użyć instrukcji show model w klastrze, aby wyświetlić różne metryki, w tym wynik dokładności. Jeśli nie określisz wyraźnie, SageMaker automatycznie użyje dokładności dla typu celu. Zobacz następujący kod:
Jak pokazano w poniższych danych wyjściowych, nasz model ma wynik dokładności 0.996580.
Klawisz | wartość |
Nazwa modelu | e-commerce_customer_activity |
Nazwa schematu | Publiczne |
Właściciel | Demo |
Czas utworzenia | pon., 22.03.2021 19:48:30 |
Stan modelu | GOTOWY |
Status pracy szkoleniowej | Osiągnięto maksymalny czas pracy w trybie automatycznymMLJob |
walidacja:dokładność | 0.996580 |
Szacowany koszt | 4.260437 |
DANE SZKOLENIOWE: | |
Pytanie | WYBIERZ ID KLIENTA, KRAJ, KOD STOCKOWY, OPIS, DATĘ FAKTURY, SPRZEDAŻ_AMT, NBR_MONTHS_ACTIVE |
OD ECOMMERCE_SALES_CLN_TRAINING | |
Kolumna docelowa | NBR_MONTHS_ACTIVE |
Parametry: | |
Typ modelu | Samochody |
Rodzaj problemu | Klasyfikacja wieloklasowa |
Rodzaj problemu | Dokładność |
Nazwa zadania AutoML | 2021-03-07-19-48-30-960148-auto |
Nazwa funkcji | przewidywać_aktywność_klienta |
Parametry funkcji | identyfikator klienta kraj kod magazynowy opis data faktury data_sprzedaży |
Typy parametrów funkcji | int8 varchar varchar varchar varchar float8 |
Uruchommy zapytania wnioskowania na naszych danych walidacyjnych przy użyciu następującego kodu SQL w odniesieniu do danych walidacyjnych:
Widzimy, że poprawnie przewidziliśmy 99.74% w naszym zestawie danych, co odpowiada naszemu wynikowi dokładności z modelu pokazowego.
przewidywane_mecze | przewidywane_nie_dopasowania | całkowite_przewidywania | pct_dokładność |
43489.00 | 132.00 | 43621.00 | 0.99697393 |
Teraz przeprowadźmy zapytanie, aby zobaczyć, którzy klienci kwalifikują się do naszego programu lojalnościowego, będąc aktywni przez co najmniej 7 miesięcy:
Poniższa tabela przedstawia nasze dane wyjściowe.
Identyfikator klienta | przewidywane_miesiące_aktywne |
16895 | 8 |
18283 | 10 |
15044 | 11 |
16746 | 11 |
14702 | 11 |
16607 | 10 |
12901 | 10 |
15078 | 13 |
16393 | 10 |
15005 | 12 |
Rozwiązywanie problemów
Chociaż Create Model
oświadczenie w Amazon Redshift automatycznie zajmuje się zainicjowaniem procesu SageMaker Autopilot w celu zbudowania, przeszkolenia i dostrojenia najlepszego modelu ML oraz wdrożenia tego modelu w Amazon Redshift, możesz wyświetlić kroki pośrednie wykonywane w tym procesie, które mogą również pomóc w rozwiązywaniu problemów jeśli coś pójdzie nie tak. Nazwę zadania AutoML można również pobrać z danych wyjściowych polecenia show model.
Tworząc model, należy wspomnieć o Usługa Amazon Simple Storage (Amazon S3) nazwa zasobnika jako wartość parametru, s3_bucket
. Za pomocą tego zasobnika możesz udostępniać dane treningowe i artefakty między Amazon Redshift i SageMaker. Amazon Redshift tworzy podfolder w tym zasobniku przed wyładowaniem danych treningowych. Po zakończeniu treningu usuwa podfolder i jego zawartość, chyba że ustawisz parametr s3_garbage_collect
do off
, którego możesz użyć do rozwiązywania problemów. Aby uzyskać więcej informacji, zobacz UTWÓRZ MODEL.
Aby uzyskać informacje na temat korzystania z konsoli SageMaker i Studio Amazon SageMaker, Patrz Twórz modele regresji za pomocą Amazon Redshift ML.
Wnioski
Amazon Redshift ML zapewnia odpowiednią platformę dla użytkowników baz danych do tworzenia, trenowania i dostrajania modeli za pomocą interfejsu SQL. W tym poście omówiliśmy, jak stworzyć wieloklasowy model klasyfikacji. Mamy nadzieję, że możesz skorzystać z Amazon Redshift ML, aby uzyskać cenne informacje.
Aby uzyskać więcej informacji na temat budowania różnych modeli za pomocą Amazon Redshift ML, zobacz Twórz modele regresji za pomocą Amazon Redshift ML i przeczytaj Amazonka Przesunięcie ku czerwieni Dokumentacja ML.
Podziękowanie
Według repozytorium uczenia maszynowego UCI, dane te zostały udostępnione przez dr Daqing Chen, dyrektora: Public Analytics group. chend '@' lsbu.ac.uk, School of Engineering, London South Bank University, London SE1 0AA, Wielka Brytania.
Dua, D. i Graff, C. (2019). Repozytorium uczenia maszynowego UCI [http://archive.ics.uci.edu/ml]. Irvine, Kalifornia: Uniwersytet Kalifornijski, Szkoła Informacji i Informatyki.
O autorach
Phila Batesa jest starszym specjalistą ds. analityki w architektu rozwiązań w AWS z ponad 25-letnim doświadczeniem w hurtowniach danych.
Debu Panda, główny menedżer produktu w AWS, jest liderem w branży w zakresie analityki, platform aplikacyjnych i technologii baz danych oraz ma ponad 25-letnie doświadczenie w świecie IT.
NIkos Koulouris jest inżynierem rozwoju oprogramowania w AWS. Doktoryzował się na Uniwersytecie Kalifornijskim w San Diego i zajmuje się bazami danych oraz analityką.
Enrico Sartorello jest starszym inżynierem ds. rozwoju oprogramowania w Amazon Web Services. Pomaga klientom wdrożyć rozwiązania uczenia maszynowego, które odpowiadają ich potrzebom, opracowując nowe funkcje dla Amazon SageMaker. W wolnym czasie z pasją podąża za swoją drużyną piłkarską i lubi doskonalić swoje umiejętności kulinarne.
- '
- 100
- 11
- 2019
- 2021
- 7
- dostęp
- aktywny
- Korzyść
- Amazonka
- Amazon Sage Maker
- Amazon Web Services
- analityka
- Zastosowanie
- autopilot
- AWS
- Bank
- BEST
- Blog
- budować
- Budowanie
- biznes
- California
- który
- klasyfikacja
- kod
- Computer Science
- treść
- gotowanie
- Tworzenie
- Lojalność klientów
- Klientów
- dane
- zbiór danych
- hurtownia danych
- Baza danych
- Bazy danych
- oprogramowania
- Dyrektor
- inżynier
- Inżynieria
- Środowisko
- dopasować
- funkcjonować
- dobry
- Zarządzanie
- tutaj
- W jaki sposób
- How To
- HTTPS
- IAM
- ICS
- tożsamość
- Włącznie z
- przemysł
- lider w branży przemysłowej
- Informacja
- spostrzeżenia
- IT
- Praca
- przystąpić
- nauka
- załadować
- Londyn
- Lojalność
- Program lojalnościowy
- uczenie maszynowe
- Mecz
- Metryka
- ML
- model
- miesięcy
- aktualności
- Online
- Platforma
- Detaliczność
- przepowiednia
- Produkt
- Program
- publiczny
- Surowy
- surowe dane
- regresja
- detalista
- run
- sagemaker
- sole
- San
- San Diego
- Szkoła
- nauka
- Serie
- Usługi
- zestaw
- Share
- Prosty
- SIX
- umiejętności
- Piłka nożna
- Tworzenie
- rozwoju oprogramowania
- Rozwiązania
- ROZWIĄZANIA
- Południe
- dzielić
- SPORTOWE
- SQL
- rozpoczęty
- Zestawienie sprzedaży
- przechowywanie
- udany
- cel
- Technologies
- czas
- Trening
- transakcja
- Uk
- uniwersytet
- University of California
- Użytkownicy
- wartość
- Zobacz i wysłuchaj
- Magazyn
- sieć
- usługi internetowe
- świat
- lat