Amazon MLS-C01: Исследовательский анализ данных и визуализация — Руководство по подготовке
Часть AWS Machine Learning Specialty MLS-C01 — Руководство по подготовке. Практикуйтесь с проверенными ответами в центре экзаменов Amazon, или пройдите тесты на время на ExamRoll.io.
Распределения, преобразования и масштабирование признаков
Понимание распределений исходных признаков — это основа разведочного анализа данных (EDA). Начните с профилирования каждой переменной с помощью гистограмм, ядерных оценок плотности и квантильных сводок в ноутбуке SageMaker Studio или в задании SageMaker Processing (на инстансе ml.m5.xlarge с scikit-learn/pandas). Логарифмические преобразования, преобразования Бокса–Кокса, Йео–Джонсона и ранговые преобразования (quantile transformer) подходят для данных с правой асимметрией, но преобразование Бокса–Кокса требует строго положительных значений и не работает с нулями. Распространенные ошибки: применение логарифмического преобразования или Бокса–Кокса без смещения нулей и забывание выполнить обратное преобразование при интерпретации результатов модели. Стандартизация (нулевое среднее, единичная дисперсия) необходима перед применением методов, основанных на расстоянии (k-means, PCA, SVM), и регуляризованных линейных моделей; масштабирование Min–Max полезно для нейронных сетей с ограниченными функциями активации. При развертывании сохраняйте трансформеры в SageMaker Feature Store или в виде артефактов модели, чтобы онлайн- и пакетный вывод использовали идентичную предварительную обработку. Используйте AWS Glue или Glue DataBrew для профилирования очень больших наборов данных в S3 и создания сводной статистики; используйте Athena для запроса стратифицированных выборок. Критерии принятия решений зависят от чувствительности алгоритма: ансамбли деревьев устойчивы к немасштабированным признакам, в то время как линейные и основанные на расстоянии методы — нет. Наконец, проверьте наличие выбросов и тяжелых хвостов с помощью робастных статистик (медиана, IQR) и решите, следует ли обрезать (clip), винзоризировать (winsorize) или моделировать их отдельно (сегментация), вместо того чтобы слепо удалять точки.
Анализ остатков, кривые обучения и диагностические тесты
Остатки выявляют неверную спецификацию модели: необходимо диагностировать ненулевое среднее, гетероскедастичность, автокорреляцию или нелинейность. Постройте графики остатков в зависимости от предсказанных значений и от ключевых признаков в SageMaker Studio; вычислите статистику Дарбина–Уотсона для автокорреляции и используйте тест Льюнга–Бокса для корреляции остатков во временных рядах. Для регрессии ищите воронкообразные формы, указывающие на гетероскедастичность; применяйте преобразования, стабилизирующие дисперсию, или гетероскедастичные модели (например, XGBoost с измененной целевой функцией или вероятностное прогнозирование). Кривые обучения — графики ошибки на обучающей и валидационной выборках в зависимости от размера обучающего набора — выявляют высокую дисперсию (переобучение) или высокое смещение (недообучение). Используйте SageMaker Debugger для сбора тензоров на каждой эпохе и метрик CloudWatch, а также добавьте оповещение CloudWatch, которое сработает, если потери на валидации расходятся, в то время как потери на обучении уменьшаются. Распространенные ошибки: использование случайной кросс-валидации для временных данных (используйте разбиения по времени) и оценка с помощью точности (accuracy) на несбалансированных наборах (предпочтительнее использовать кривую точности–полноты или AUC-PR). При настройке гиперпараметров принимайте решения на основе этой диагностики: если разрыв между ошибками на валидации и обучении сохраняется, увеличьте регуляризацию, добавьте данные или уменьшите сложность модели; если обе ошибки высоки, увеличьте емкость модели или добавьте признаки. Сохраняйте диагностические графики и метрики с помощью SageMaker Experiments для обеспечения воспроизводимости.
Снижение размерности, PCA, собственный анализ и кластеризация
Снижение размерности уменьшает шум и улучшает интерпретируемость. Применяйте PCA или рандомизированный SVD (scikit-learn или Spark MLlib на EMR/Glue) после масштабирования; изучите долю объясненной дисперсии, чтобы выбрать количество компонент, и проанализируйте нагрузки, чтобы сопоставить компоненты с исходными признаками. Знаки собственных векторов произвольны — интерпретируйте абсолютные значения нагрузок и группируйте признаки по их величине. Для сильно нелинейной структуры используйте t-SNE или UMAP только для визуализации, а не в качестве предварительной обработки для моделей без тщательной кросс-валидации. Для кластеризации выбирайте k-means для сферических кластеров (требуется масштабирование), Gaussian Mixture Models для мягких назначений и DBSCAN для форм, основанных на плотности; для сравнения рассчитайте коэффициент силуэта и индекс Дэвиса–Болдина. На больших наборах данных используйте встроенный алгоритм k-means в SageMaker (на инстансах GPU/CPU) или запускайте mini-batch k-means в SageMaker Processing. Остерегайтесь ошибки применения PCA к категориальным признакам, закодированным методом one-hot — рассмотрите использование хэширования признаков или слоев вложений (embedding layers). Используйте метод локтя, графики объясненной дисперсии и стабильность кластеров на подвыборках для определения k. Сохраняйте центроиды кластеров и трансформеры PCA в SageMaker Feature Store, чтобы последующие модели для скоринга в реальном времени и модели на основе сегментов использовали согласованные преобразования.
Визуализация, мониторинг и интеграция с AWS для отслеживания смещения и производительности
Визуализация используется как для исследовательских, так и для операционных задач: используйте matplotlib/seaborn в SageMaker Studio для разовых графиков и Amazon QuickSight для дашбордов, отслеживающих метрики производительности в реальном времени. Для отслеживания смещения модели (drift) и качества данных создайте базовые показатели (baselines) на репрезентативной обучающей выборке с помощью SageMaker Model Monitor и SageMaker Clarify, чтобы обнаруживать сдвиги в распределении, изменения в важности признаков и предвзятость (bias). Настройте Model Monitor, используя базовый показатель, полученный из артефакта задания Processing, и включите непрерывный мониторинг на развернутых эндпоинтах с ежечасными/ежедневными проверками; события CloudWatch и SNS могут запускать оповещения. Для потокового приема и анализа данных используйте Kinesis Data Firehose для сохранения JSON в S3 с преобразованием формата в Parquet (включите преобразование формата записей и интеграцию с Glue Catalog) или подключите Lambda для пользовательских преобразований. Для выполнения SQL-запросов к сжатым файлам почти в реальном времени, партиционируйте и зарегистрируйте данные в Glue Data Catalog и запрашивайте их с помощью Athena, обновляя партиции через Lambda при поступлении нового объекта в S3. Распространенные ошибки включают отсутствие версионирования базовых показателей, игнорирование эволюции схемы (используйте Glue Schema Registry) и الاعتماد исключительно на агрегированные метрики — всегда включайте анализ смещения по каждому признаку и производительности по каждому сегменту для выявления локальной деградации. Используйте SageMaker Experiments и Model Monitor вместе, чтобы сопоставлять изменения гиперпараметров с событиями смещения и поддерживать отслеживаемость (lineage).
Практическая задача: Пример использования
Сценарий: Компания Acme Retailer использует стек AWS ML со SageMaker Studio, озером данных на S3, приемом данных через Kinesis Firehose, Glue Data Catalog и QuickSight для визуализации. Команда хранит демографические данные клиентов, логи сессий и покупки в S3 в форматах JSON и Parquet.
Задача: Определить сегменты клиентов, которые с наибольшей вероятностью уйдут (churn) в ближайшие шесть месяцев, и настроить мониторинг для обнаружения смещения в распределении признаков или производительности модели после развертывания.
Рекомендуемый подход:
- Создать задание SageMaker Processing (ml.m5.xlarge) для выборки и профилирования данных с помощью pandas/sklearn, применить логарифмические преобразования или преобразования Бокса-Кокса, где это необходимо, и зарегистрировать артефакты предварительной обработки в SageMaker Feature Store.
- Выполнить PCA (с помощью scikit-learn или Spark ML на Glue/EMR) после масштабирования для уменьшения размерности, изучить объясненную дисперсию и нагрузки (loadings), и выполнить кластеризацию с помощью SageMaker xgboost или встроенного k-means для выделения сегментов.
- Обучить модель классификации (XGBoost в SageMaker или небольшую нейронную сеть на TensorFlow), используя разделение на обучающую и валидационную выборки с учетом времени, логировать метрики в SageMaker Experiments и настроить раннюю остановку (early stopping) и взвешивание классов для борьбы с дисбалансом.
- Развернуть модель с помощью SageMaker Endpoint, включить Model Monitor, используя базовый показатель, сгенерированный заданием Processing, настроить ежечасные проверки на смещение и оповещения CloudWatch для уведомлений через SNS; визуализировать производительность и смещение на уровне сегментов в QuickSight.
Обоснование: Этот подход сочетает в себе надежную предварительную обработку, интерпретируемое уменьшение размерности и масштабируемую кластеризацию для сегментации, в то время как SageMaker Model Monitor и QuickSight обеспечивают операционное обнаружение смещения данных и производительности, гарантируя воспроизводимость предварительной обработки через Feature Store и отслеживание экспериментов для анализа первопричин.
← Инженерия данных и инженерия признаков · Все домены · Моделирование — с учителем и без учителя (классическое ML) →
Отработать эти вопросы → · Тесты на время на 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.
Сдайте экзамен →