Ускорение подготовки данных для машинного обучения в Amazon SageMaker Canvas

Ускорение подготовки данных для машинного обучения с помощью Amazon SageMaker Canvas

Подготовка данных является важным этапом в любом рабочем процессе машинного обучения (МО), однако часто включает в себя утомительные и трудоемкие задачи. Amazon SageMaker Canvas теперь поддерживает всесторонние возможности предварительной подготовки данных, основанные на Amazon SageMaker Data Wrangler. Благодаря этой интеграции, SageMaker Canvas предоставляет клиентам полнофункциональное рабочее пространство без кода для подготовки данных, создания и использования моделей МО и основных моделей, чтобы ускорить процесс от данных к деловым идеям. Теперь вы можете легко находить и агрегировать данные из более чем 50 источников данных, исследовать и подготавливать данные с использованием более 300 встроенных анализов и преобразований в визуальном интерфейсе SageMaker Canvas. Вы также увидите более быструю производительность для преобразований и анализов, а также естественный языковой интерфейс для исследования и преобразования данных для МО.

В этом посте мы расскажем вам о процессе подготовки данных для создания модели от начала до конца в SageMaker Canvas.

Обзор решения

В нашем случае мы предполагаем роль профессионала по работе с данными в финансовой компании. Мы используем два образца набора данных, чтобы построить модель МО, которая предсказывает, будет ли кредит полностью погашен заемщиком, что крайне важно для управления кредитным риском. Среда без кода SageMaker Canvas позволяет нам быстро подготовить данные, создать признаки, обучить модель МО и развернуть модель в рабочем процессе от начала до конца, без необходимости писать код.

Предварительные требования

Для выполнения данного руководства проследите, чтобы вы выполнили предварительные требования, указанные в

  1. Запустите Amazon SageMaker Canvas. Если вы уже являетесь пользователем SageMaker Canvas, убедитесь, что вы выйдите из системы и затем снова войдите в систему, чтобы использовать эту новую функцию.
  2. Чтобы импортировать данные из Snowflake, выполните шаги из Настройте OAuth для Snowflake.

Подготовьте интерактивные данные

После завершения настройки мы можем создать поток данных для обеспечения интерактивной подготовки данных. Поток данных предоставляет встроенные преобразования и визуализации в реальном времени для обработки данных. Выполните следующие действия:

  1. Создайте новый поток данных с помощью одного из следующих методов:
    1. Выберите Data Wrangler, затем Data flows, а затем выберите Create.
    2. Выберите набор данных SageMaker Canvas и выберите Create a data flow.
  2. Выберите Import data и выберите Tabular из выпадающего списка.
  3. Вы можете импортировать данные напрямую через более чем 50 разъемов для данных, таких как Amazon Simple Storage Service (Amazon S3), Amazon Athena, Amazon Redshift, Snowflake и Salesforce. В этом руководстве мы рассмотрим импорт данных прямо из Snowflake.

В качестве альтернативы вы можете загрузить тот же набор данных с вашего локального компьютера. Вы можете загрузить набор данных loans-part-1.csv и loans-part-2.csv.

  1. На странице импорта данных выберите Snowflake из списка и выберите Добавить подключение.
  2. Введите имя подключения, выберите вариант OAuth из выпадающего списка метода аутентификации. Введите идентификатор вашей учетной записи Okta и выберите Добавить подключение.
  3. Вы будете переадресованы на экран входа в Okta, где нужно будет ввести учетные данные Okta для аутентификации. После успешной аутентификации вы будете перенаправлены на страницу потока данных.
  4. Перейдите в папку, чтобы найти набор данных о займах в базе данных Snowflake

Выберите два набора данных о займах, перетащив их с левой стороны экрана на правую. Два набора данных будут соединены, и появится символ соединения с красным восклицательным знаком. Нажмите на него, затем выберите для обоих наборов данных ключ id. Оставьте тип соединения как Внутренний. Должно выглядеть примерно так:

  1. Выберите Сохранить и закрыть.
  2. Выберите Создать набор данных. Дайте имя набору данных.
  3. Перейдите на страницу потока данных, вы увидите следующее.
  4. Для быстрого изучения данных о займах выберите Получить данные для анализа и выберите целевой столбец loan_status и тип проблемы Классификация.

Сгенерированный отчет о Качестве данных и анализе предоставляет ключевую статистику, визуализации и анализ важности признаков.

  1. Ознакомьтесь с предупреждениями о проблемах качества данных и несбалансированных классах, чтобы понять и улучшить набор данных.

Для этого набора данных следует ожидать предупреждение о “Очень низком быстромодельном балле” с высоким приоритетом и очень низкую эффективность модели на меньшинстве классов (charged off и current), указывающих на необходимость очистки и балансировки данных. Ссылка на документацию по Canvas для получения дополнительной информации по отчету об анализе данных.

С помощью более чем 300 встроенных преобразований, предоставляемых SageMaker Data Wrangler, SageMaker Canvas позволяет быстро обрабатывать данные о займах. Вы можете нажать на Добавить шаг, искать или перебирать подходящие преобразования. В этом наборе данных используйте Удалить отсутствующие значения и Обработать выбросы, чтобы очистить данные, затем примените One-hot кодирование и Векторизация текста для создания признаков для МО.

Чат для подготовки данных – это новая естественноязычная возможность, которая позволяет интуитивно анализировать данные, описывая запросы простым английским языком. Например, вы можете получить статистику и анализ корреляции признаков на данных о кредите, используя естественные фразы. SageMaker Canvas понимает и выполняет действия через разговорные взаимодействия, переводя подготовку данных на новый уровень.

Мы можем использовать Чат для подготовки данных и встроенное преобразование для балансировки данных о кредите.

  1. Сначала введите следующие инструкции: заменить “charged off” и “current” в loan_status на “default”

Чат для подготовки данных генерирует код для объединения двух малочисленных классов в один класс default.

  1. Выберите встроенную функцию преобразования SMOTE для генерации синтетических данных для класса default.

Теперь у вас есть сбалансированный целевой столбец.

  1. После очистки и обработки данных о кредите повторно сгенерируйте отчет Качество данных и понимание, чтобы оценить улучшения.

Высокоприоритетное предупреждение исчезло, что указывает на улучшение качества данных. По мере необходимости вы можете добавлять дополнительные преобразования для улучшения качества данных для тренировки модели.

Масштабирование и автоматизация обработки данных

Для автоматизации подготовки данных вы можете запустить или запланировать всю рабочую нагрузку в виде распределенной задачи обработки Spark для обработки всего набора данных или любых новых наборов данных в масштабе.

  1. В потоке данных добавьте узел назначения Amazon S3.
  2. Запустите задачу обработки SageMaker, выбрав Создать задание.
  3. Настройте задачу обработки и выберите Создать, позволяя процессу работать с сотнями гигабайт данных без выборки.

Потоки данных могут быть интегрированы в конвейеры полного цикла разработки и эксплуатации моделей машинного обучения (MLOps) для автоматизации жизненного цикла МО. Потоки данных могут поступать в блокноты SageMaker Studio в качестве шага обработки данных в конвейере SageMaker или для развертывания конвейера вывода SageMaker. Это позволяет автоматизировать процесс от подготовки данных до обучения и хостинга модели в SageMaker.

Создание и развертывание модели в SageMaker Canvas

После подготовки данных мы можем без проблем экспортировать окончательный набор данных в SageMaker Canvas для создания, обучения и развертывания модели прогнозирования платежей по кредиту.

  1. Выберите Создать модель в последнем узле потока данных или в панели узлов.

Это экспортирует набор данных и запускает процесс создания модели пошаговой инструкции.

  1. Назовите экспортированный набор данных и выберите Экспортировать.
  2. Выберите Создать модель в уведомлении.
  3. Назовите модель, выберите Анализ на основе прогнозирования и выберите Создать.

Это перенаправит вас на страницу создания модели.

  1. Продолжайте опыт создания модели в SageMaker Canvas, выбирая целевую колонку и тип модели, затем выберите Мгновенная сборка или Стандартная сборка.

Для получения более подробной информации о процессе создания модели обратитесь к статье Создание модели.

По завершении обучения вы можете использовать модель для прогнозирования новых данных или развернуть ее. Для получения дополнительной информации о развертывании модели из SageMaker Canvas обратитесь к статье Развертывание моделей машинного обучения, созданных в Amazon SageMaker Canvas, на конечные точки реального времени Amazon SageMaker.

Заключение

В этом посте мы продемонстрировали полные возможности SageMaker Canvas, представляя себя в роли профессионала в области финансовых данных, подготавливающего данные для прогнозирования платежей по кредитам, под управлением SageMaker Data Wrangler. Интерактивная подготовка данных позволила быстро очистить, трансформировать и проанализировать данные по кредитам для создания информативных признаков. Удаление сложностей связанных с кодированием, SageMaker Canvas позволил нам быстро итерироваться для создания высококачественного тренировочного набора данных. Этот ускоренный рабочий процесс непосредственно переходит к созданию, обучению и развертыванию эффективной модели машинного обучения для достижения результатов в бизнесе. Благодаря всесторонней подготовке данных и унифицированному опыту от данных до исходных данных, SageMaker Canvas позволяет вам улучшить ваши результаты в машинном обучении. Для получения дополнительной информации о том, как ускорить путь от данных к бизнес-инсайтам, ознакомьтесь с Иммерсионный день SageMaker Canvas и Руководство пользователя AWS.