Amazon MLS-C01: Eksploracyjna analiza danych i wizualizacja — Przewodnik do nauki
Część AWS Machine Learning Specialty MLS-C01 — Przewodnik do nauki. Ćwicz ze zweryfikowanymi odpowiedziami w centrum egzaminów Amazon, albo rozwiąż testy na czas na ExamRoll.io.
Rozkłady, transformacje i skalowanie cech
Zrozumienie surowych rozkładów cech jest podstawą EDA. Zacznij od profilowania każdej zmiennej za pomocą histogramów, estymacji gęstości jądrowej i podsumowań kwantylowych w notatniku SageMaker Studio lub zadaniu SageMaker Processing (ml.m5.xlarge z scikit-learn/pandas). Transformacje logarytmiczne, Boxa–Coxa, Yeo–Johnsona oraz transformacje rangowe (transformator kwantylowy) są odpowiednie dla danych prawoskośnych, ale transformacja Boxa–Coxa wymaga wartości ściśle dodatnich i zawodzi przy zerach. Typowe pułapki to stosowanie transformacji logarytmicznej/Boxa–Coxa bez przesunięcia wartości zerowych oraz zapominanie o odwróceniu transformacji podczas interpretacji wyników modelu. Standaryzacja (średnia zero, wariancja jednostkowa) jest niezbędna przed zastosowaniem metod opartych na odległości (k-means, PCA, SVM) oraz modeli liniowych z regularyzacją; skalowanie Min–Max jest przydatne dla sieci neuronowych z ograniczonymi funkcjami aktywacji. Podczas wdrażania utrwalaj transformatory w SageMaker Feature Store lub jako artefakty modelu, aby wnioskowanie online i wsadowe korzystało z identycznego przetwarzania wstępnego. Użyj AWS Glue lub Glue DataBrew do profilowania bardzo dużych zbiorów danych w S3 i generowania statystyk podsumowujących; użyj Athena do odpytywania próbek stratyfikowanych. Kryteria decyzyjne zależą od wrażliwości algorytmu: zespoły drzewiaste tolerują nieskalowane cechy, podczas gdy metody liniowe i oparte na odległości – nie. Na koniec sprawdź występowanie wartości odstających i ciężkich ogonów za pomocą statystyk odpornych (mediana, IQR) i zbadaj, czy punkty należy przyciąć (clip), winsoryzować, czy modelować osobno (segmentacja), zamiast ślepo je usuwać.
Analiza rezyduów, krzywe uczenia i testy diagnostyczne
Rezydua ujawniają błędną specyfikację modelu: należy zdiagnozować niezerową średnią, heteroskedastyczność, autokorelację lub nieliniowość. W SageMaker Studio wykreśl rezydua w funkcji wartości przewidywanych oraz w funkcji kluczowych cech; oblicz statystykę Durbina–Watsona dla autokorelacji i użyj testu Ljunga–Boxa dla korelacji rezyduów w szeregach czasowych. W przypadku regresji szukaj kształtów lejka wskazujących na heteroskedastyczność; zastosuj transformacje stabilizujące wariancję lub modele heteroskedastyczne (np. XGBoost ze zmodyfikowaną funkcją celu lub prognozowanie probabilistyczne). Krzywe uczenia – wykresy błędu treningowego i walidacyjnego w funkcji rozmiaru zbioru treningowego – identyfikują wysoką wariancję (przeuczenie) lub wysoką obciążalność (niedouczenie). Użyj SageMaker Debugger do przechwytywania tensorów dla każdej epoki i metryk CloudWatch oraz dodaj alarm CloudWatch, który uruchomi się, jeśli strata walidacyjna będzie rosła, podczas gdy strata treningowa maleje. Częste pułapki to używanie losowej walidacji krzyżowej dla danych czasowych (użyj podziałów opartych na czasie) oraz ocena za pomocą metryki accuracy na niezbalansowanych zbiorach (preferuj precision-recall lub AUC-PR). Podczas dostrajania hiperparametrów podejmuj decyzje na podstawie tej diagnostyki: jeśli luka walidacyjna się utrzymuje, zwiększ regularyzację, dodaj dane lub zmniejsz złożoność modelu; jeśli oba błędy są wysokie, zwiększ pojemność modelu lub dodaj cechy. Utrwalaj wykresy diagnostyczne i metryki za pomocą SageMaker Experiments w celu zapewnienia odtwarzalności.
Redukcja wymiarowości, PCA, analiza wektorów własnych i klastrowanie
Redukcja wymiarowości zmniejsza szum i poprawia interpretowalność. Zastosuj PCA lub randomizowany SVD (scikit-learn lub Spark MLlib na EMR/Glue) po skalowaniu; przeanalizuj współczynnik wyjaśnionej wariancji, aby wybrać liczbę komponentów, i zbadaj ładunki, aby powiązać komponenty z oryginalnymi cechami. Znaki wektorów własnych są arbitralne – interpretuj ładunki bezwzględne i grupuj cechy według ich wielkości. Dla struktur wysoce nieliniowych użyj t-SNE lub UMAP tylko do wizualizacji, a nie jako przetwarzania wstępnego dla modeli bez starannej walidacji krzyżowej. Do klastrowania wybierz k-means dla klastrów sferycznych (wymagane skalowanie), Gaussian Mixture Models dla miękkich przypisań oraz DBSCAN dla kształtów opartych na gęstości; uruchom obliczanie wskaźnika sylwetkowego (silhouette score) i indeksu Daviesa–Bouldina w celu porównania. Na dużych zbiorach danych użyj wbudowanego algorytmu k-means w SageMaker (instancje GPU/CPU) lub uruchom mini-batch k-means w SageMaker Processing. Uważaj na pułapkę stosowania PCA do cech kategorycznych zakodowanych metodą one-hot – rozważ haszowanie cech lub warstwy osadzeń (embedding layers). Użyj wykresów łokciowych, wykresów wyjaśnionej wariancji i analizy stabilności klastrów na podpróbkach, aby zdecydować o wartości k. Utrwalaj centroidy klastrów i transformatory PCA w SageMaker Feature Store, aby dalsze ocenianie w czasie rzeczywistym i modele oparte na segmentach korzystały ze spójnych transformacji.
Wizualizacja, monitorowanie i integracja z AWS na potrzeby dryftu i wydajności
Wizualizacja ma charakter zarówno eksploracyjny, jak i operacyjny: używaj matplotlib/seaborn w SageMaker Studio do tworzenia wykresów ad-hoc oraz Amazon QuickSight do dashboardów śledzących metryki wydajności na żywo. W przypadku dryftu modelu i jakości danych, ustal linie bazowe (baseline) za pomocą reprezentatywnej próbki treningowej, wykorzystując SageMaker Model Monitor i SageMaker Clarify do wykrywania zmian w rozkładach, zmian ważności cech oraz stronniczości (bias). Skonfiguruj Model Monitor z linią bazową pochodzącą z artefaktu zadania typu Processing i włącz ciągłe monitorowanie na wdrożonych punktach końcowych (endpoints) z kontrolami co godzinę/dzień; zdarzenia CloudWatch i SNS mogą wyzwalać alerty. Do strumieniowego pozyskiwania i analizy danych użyj Kinesis Data Firehose do zapisywania danych JSON w S3 z konwersją formatu na Parquet (włącz konwersję formatu rekordów i integrację z Glue Catalog) lub podłącz funkcję Lambda w celu niestandardowych transformacji. Aby wykonywać zapytania SQL w czasie zbliżonym do rzeczywistego na skompresowanych plikach, partycjonuj i rejestruj dane w Glue Data Catalog i odpytuj je za pomocą Athena, odświeżając partycje za pomocą Lambda po pojawieniu się nowego obiektu w S3. Częste pułapki to brak wersjonowania linii bazowych, ignorowanie ewolucji schematu (użyj Glue Schema Registry) oraz poleganie wyłącznie na zagregowanych metrykach — zawsze uwzględniaj dryft dla poszczególnych cech i wydajność dla poszczególnych segmentów, aby wykryć zlokalizowaną degradację. Używaj SageMaker Experiments i Model Monitor razem, aby korelować zmiany hiperparametrów ze zdarzeniami dryftu i utrzymywać pochodzenie danych (lineage).
Problem praktyczny: Scenariusz użycia
Scenariusz: Firma Acme Retailer korzysta ze stosu AWS ML, w tym SageMaker Studio, jeziora danych na S3, pozyskiwania danych przez Kinesis Firehose, Glue Data Catalog i QuickSight do wizualizacji. Zespół przechowuje dane demograficzne klientów, logi sesji i zakupy w S3 w formatach JSON i Parquet.
Wyzwanie: Zidentyfikowanie segmentów klientów, którzy z największym prawdopodobieństwem zrezygnują z usług (churn) w ciągu najbliższych sześciu miesięcy, oraz ustanowienie monitoringu w celu wykrywania dryftu rozkładów cech lub wydajności modelu po wdrożeniu.
Zalecane podejście:
- Utwórz zadanie SageMaker Processing (ml.m5.xlarge) do próbkowania i profilowania danych przy użyciu pandas/sklearn, zastosuj transformacje logarytmiczne/Boxa-Coxa tam, gdzie to stosowne, i zarejestruj artefakty przetwarzania wstępnego w SageMaker Feature Store.
- Oblicz PCA (za pomocą scikit-learn lub Spark ML na Glue/EMR) po skalowaniu w celu redukcji wymiarowości, zbadaj wyjaśnioną wariancję i ładunki czynnikowe (loadings), a następnie przeprowadź klastrowanie za pomocą SageMaker xgboost lub wbudowanego algorytmu k-means, aby wyodrębnić segmenty.
- Wytrenuj model klasyfikacyjny (XGBoost w SageMaker lub mała sieć neuronowa w TensorFlow), używając podziałów na zbiory treningowe/walidacyjne uwzględniających czas, loguj metryki do SageMaker Experiments i ustaw wczesne zatrzymywanie (early stopping) oraz ważenie klas (class-weighting) w celu obsługi niezbalansowanych danych.
- Wdróż model za pomocą SageMaker Endpoint, włącz Model Monitor, używając linii bazowej wygenerowanej przez zadanie typu Processing, skonfiguruj cogodzinne sprawdzanie dryftu i alarmy CloudWatch do powiadamiania przez SNS; wizualizuj wydajność i dryft na poziomie segmentów w QuickSight.
Uzasadnienie: Takie podejście łączy solidne przetwarzanie wstępne, interpretowalną redukcję wymiarowości i skalowalne klastrowanie do segmentacji, podczas gdy SageMaker Model Monitor i QuickSight zapewniają operacyjne wykrywanie dryftu danych i wydajności, gwarantując powtarzalność przetwarzania wstępnego dzięki Feature Store i śledzonym eksperymentom na potrzeby analizy przyczyn źródłowych.
← Inżynieria danych i inżynieria cech · Wszystkie domeny · Modelowanie — nadzorowane i nienadzorowane (klasyczne ML) →
Przećwicz te pytania → · Testy na czas na ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Zdaj egzamin →