Подготовьте данные из Databricks для машинного обучения с помощью Amazon SageMaker Data Wrangler.

Исходный узел: 1243552

Группы специалистов по обработке и обработке данных тратят значительную часть своего времени на этапе подготовки данных жизненного цикла машинного обучения (ML), выполняя этапы выбора, очистки и преобразования данных. Это необходимый и важный этап любого рабочего процесса машинного обучения для получения осмысленных выводов и прогнозов, поскольку плохие или некачественные данные значительно снижают актуальность полученных выводов.

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

Обработчик данных Amazon SageMaker упрощает подготовку данных и процесс проектирования функций, сокращая время, необходимое для агрегирования и подготовки данных для машинного обучения, с недель до минут, предоставляя специалистам по данным единый визуальный интерфейс для выбора, очистки и изучения своих наборов данных. Data Wrangler предлагает более 300 встроенных преобразований данных, которые помогают нормализовать, преобразовывать и комбинировать функции без написания кода. Вы можете импортировать данные из нескольких источников данных, таких как Amazon Simple Storage Service (Amazon S3), Амазонка Афина, Амазонка Redshiftи Снежинка. Теперь вы также можете использовать Databricks в качестве источника данных в Data Wrangler, чтобы легко подготовить данные для машинного обучения.

Платформа Databricks Lakehouse сочетает в себе лучшие элементы озер и хранилищ данных, обеспечивая надежность, строгое управление и производительность хранилищ данных с открытостью, гибкостью и поддержкой машинного обучения озер данных. Используя Databricks в качестве источника данных для Data Wrangler, теперь вы можете быстро и легко подключаться к Databricks, интерактивно запрашивать данные, хранящиеся в Databricks, с помощью SQL и предварительно просматривать данные перед импортом. Кроме того, вы можете объединить свои данные в Databricks с данными, хранящимися в Amazon S3, и данными, полученными через Amazon Athena, Amazon Redshift и Snowflake, чтобы создать набор данных, подходящий для вашего варианта использования машинного обучения.

В этом посте мы преобразовываем набор данных Lending Club Loan с помощью Amazon SageMaker Data Wrangler для использования в обучении модели машинного обучения.

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

На следующей диаграмме показана архитектура нашего решения.

Набор данных Lending Club Loan содержит полные данные по всем кредитам, выданным в период с 2007 по 2011 год, включая текущий статус кредита и информацию о последних платежах. Он имеет 39,717 22 строк, 3 столбца функций и XNUMX целевые метки.

Чтобы преобразовать наши данные с помощью Data Wrangler, мы выполняем следующие высокоуровневые шаги:

  1. Загрузите и разделите набор данных.
  2. Создайте поток обработчика данных.
  3. Импортируйте данные из Databricks в Data Wrangler.
  4. Импорт данных из Amazon S3 в Data Wrangler.
  5. Присоединяйтесь к данным.
  6. Применение преобразований.
  7. Экспорт набора данных.

Предпосылки

В сообщении предполагается, что у вас есть работающий кластер Databricks. Если ваш кластер работает на AWS, убедитесь, что у вас настроено следующее:

Настройка блоков данных

Подписаться Безопасный доступ к корзинам S3 с помощью профилей экземпляров для необходимого Управление идентификацией и доступом AWS (IAM), политику корзины S3 и конфигурацию кластера Databricks. Убедитесь, что кластер Databricks настроен правильно. Instance Profile, выбранный в дополнительных параметрах, для доступа к нужному сегменту S3.

После запуска и запуска кластера Databricks с необходимым доступом к Amazon S3 вы можете получить JDBC URL из вашего кластера Databricks, который будет использоваться Data Wrangler для подключения к нему.

Получить URL-адрес JDBC

Чтобы получить URL-адрес JDBC, выполните следующие шаги:

  1. В Databricks перейдите к пользовательскому интерфейсу кластеров.
  2. Выберите свой кластер.
  3. На Конфигурация , выберите Дополнительные параметры.
  4. Под Дополнительные параметры, выбрать JDBC/ODBC меню.
  5. Скопируйте URL-адрес JDBC.

Обязательно замените свой личный доступ знак в URL.

Настройка обработчика данных

Этот шаг предполагает, что у вас есть доступ к Amazon SageMaker, экземпляру Студия Amazon SageMakerи пользователь Studio.

Чтобы разрешить доступ к соединению JDBC Databricks из Data Wrangler, пользователю Studio требуется следующее разрешение:

  • secretsmanager:PutResourcePolicy

Выполните следующие шаги, чтобы обновить роль выполнения IAM, назначенную пользователю Studio с вышеуказанным разрешением, в качестве пользователя-администратора IAM.

  1. На консоли IAM выберите роли в навигационной панели.
  2. Выберите роль, назначенную вашему пользователю Studio.
  3. Выберите Добавить разрешения.
  4. Выберите Создать встроенную политику.
  5. Для обслуживания выберите Секретный менеджер.
  6. On Действия, выберите Уровень доступа.
  7. Выберите Управление разрешениями.
  8. Выберите ПутьРесурсПолици.
  9. Что касается Полезные ресурсы, выберите Конкретный и Любой в этом аккаунте.

Загрузите и разделите набор данных

Вы можете начать с скачивание набора данных. В демонстрационных целях мы разделили набор данных, скопировав столбцы функций. id, emp_title, emp_length, home_ownerи annual_inc создать второй кредиты_2.csv файл. Мы удаляем вышеупомянутые столбцы из исходного файла займов, кроме id столбец и переименуйте исходный файл в кредиты_1.csv. Загрузить кредиты_1.csv файл в Databricks создать таблицу loans_1 и кредиты_2.csv в ведре S3.

Создание потока обработчика данных

Сведения о предварительных требованиях Data Wrangler см. Начать работу с Data Wrangler.

Начнем с создания нового потока данных.

  1. На консоли Studio на Файл Меню, выберите Новые.
  2. Выберите Поток обработки данных.
  3. Переименуйте поток по желанию.

Кроме того, вы можете создать новый поток данных из Launcher.

  • На консоли Studio выберите Студия Amazon SageMaker в навигационной панели.
  • Выберите Новый поток данных.

Создание нового потока может занять несколько минут. После создания потока вы увидите Даты импорта стр.

Импорт данных из Databricks в Data Wrangler

Затем мы настраиваем Databricks (JDBC) в качестве источника данных в Data Wrangler. Чтобы импортировать данные из Databricks, нам сначала нужно добавить Databricks в качестве источника данных.

  1. На Даты импорта вкладку вашего потока Data Wrangler, выберите Добавить источник данных.
  2. В раскрывающемся меню выберите Блоки данных (JDBC).

На Импорт данных из Databricks на странице вы вводите данные своего кластера.

  1. Что касается Имя набора данных, введите имя, которое вы хотите использовать в файле потока.
  2. Что касается Драйвер, выберите драйвер com.simba.spark.jdbc.Driver.
  3. Что касается URL-адрес JDBC, введите URL-адрес своего кластера Databricks, полученный ранее.

URL-адрес должен иметь следующий формат jdbc:spark://<serve- hostname>:443/default;transportMode=http;ssl=1;httpPath=<http- path>;AuthMech=3;UID=token;PWD=<personal-access-token>.

  1. В редакторе запросов SQL укажите следующую инструкцию SQL SELECT:
    select * from loans_1

Если вы выбрали другое имя таблицы при загрузке данных в Databricks, замените кредиты_1 в приведенном выше SQL-запросе соответствующим образом.

В Запрос SQL раздел в Data Wrangler, вы можете запросить любую таблицу, подключенную к базе данных JDBC Databricks. Предварительно выбранный Включить выборку Параметр по умолчанию извлекает первые 50,000 XNUMX строк вашего набора данных. В зависимости от размера набора данных отмена выбора Включить выборку может привести к увеличению времени импорта.

  1. Выберите Run.

Выполнение запроса обеспечивает предварительный просмотр набора данных Databricks непосредственно в Data Wrangler.

  1. Выберите Импортировать.

Data Wrangler обеспечивает гибкость настройки нескольких одновременных подключений к одному кластеру Databricks или к нескольким кластерам, если это необходимо, что позволяет проводить анализ и подготовку объединенных наборов данных.

Импортируйте данные из Amazon S3 в Data Wrangler.

Далее импортируем loan_2.csv файл с Amazon S3.

  1. На вкладке Импорт выберите Amazon S3 в качестве источника данных.
  2. Перейдите к корзине S3 для loan_2.csv .

Когда вы выбираете файл CSV, вы можете просмотреть данные.

  1. В Подробнее панель, выберите Расширенная конфигурация Чтобы убедиться Включить выборку выбран и ЗАПЯТАЯ выбран для Разделитель.
  2. Выберите Импортировать.

После loans_2.csv набор данных успешно импортирован, в интерфейсе потока данных отображаются источники данных Databricks JDBC и Amazon S3.

Присоединяйтесь к данным

Теперь, когда мы импортировали данные из Databricks и Amazon S3, давайте объединим наборы данных, используя общий столбец уникальных идентификаторов.

  1. На Поток данных вкладка, для Типы данных, выберите знак плюс для loans_1.
  2. Выберите Присоединиться.
  3. Выберите loans_2.csv файл как Правильно набор данных.
  4. Выберите Настроить чтобы настроить критерии соединения.
  5. Что касается Имя, введите имя для объединения.
  6. Что касается Тип соединения, выберите Внутренний для этого поста.
  7. Выберите id колонка, к которой нужно присоединиться.
  8. Выберите Применить для предварительного просмотра объединенного набора данных.
  9. Выберите Добавить чтобы добавить его в поток данных.

Применить преобразования

Data Wrangler поставляется с более чем 300 встроенными преобразованиями, которые не требуют программирования. Давайте воспользуемся встроенными преобразованиями для подготовки набора данных.

Удалить столбец

Сначала мы удаляем избыточный столбец ID.

  1. На соединенном узле выберите знак плюс.
  2. Выберите Добавить преобразование.
  3. Под Превращает, укажите + Добавить шаг.
  4. Выберите Управление столбцами.
  5. Что касается Transform, выберите Удалить столбец.
  6. Что касается Столбцы для удаления, выберите столбец id_0.
  7. Выберите предварительный просмотр.
  8. Выберите Добавить.

Строка формата

Давайте применим форматирование строки, чтобы удалить символ процента из int_rate и revol_util колонны.

  1. На Данные вкладка под Трансформации, выберите + Добавить шаг.
  2. Выберите Строка формата.
  3. Что касается Transform, выберите Удалить символы справа.

Data Wrangler позволяет применять выбранное преобразование одновременно к нескольким столбцам.

  1. Что касается Входные столбцы, выберите int_rate и revol_util.
  2. Что касается Персонажи для удаления, войти %.
  3. Выберите предварительный просмотр.
  4. Выберите Добавить.

Добавить текст

Давайте теперь векторизовать verification_status, столбец текстовых функций. Мы преобразуем текстовый столбец в вектор термина «частота — обратная частота документа» (TF-IDF), применяя векторизатор счета и стандартный токенизатор, как описано ниже. Data Wrangler также предоставляет возможность использовать собственный токенизатор, если это необходимо.

  1. Под Трансформаторы, выберите + Добавить шаг.
  2. Выберите Добавить текст.
  3. Что касается Transform, выберите Векторизовать.
  4. Что касается Входные столбцы, выберите verification_status.
  5. Выберите предварительный просмотр.
  6. Выберите Добавить.

Экспорт набора данных

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

В этом посте мы воспользуемся Экспорт данных вариант в Transform view, чтобы экспортировать преобразованный набор данных непосредственно в Amazon S3.

  1. Выберите Экспорт данных.
  2. Что касается S3 местоположение, выберите ЛИСТАТЬ СПИСКИ и выберите корзину S3.
  3. Выберите Экспорт данных.

Убирать

Если ваша работа с Data Wrangler завершена, выключите свой экземпляр Data Wrangler чтобы избежать дополнительных сборов.

Заключение

В этом посте мы рассмотрели, как можно быстро и легко настроить и подключить блоки данных в качестве источника данных в Data Wrangler, интерактивно запрашивать данные, хранящиеся в блоках данных, с помощью SQL и предварительно просматривать данные перед импортом. Кроме того, мы рассмотрели, как можно объединить данные в Databricks с данными, хранящимися в Amazon S3. Затем мы применили преобразование данных к комбинированному набору данных, чтобы создать конвейер подготовки данных. Чтобы узнать больше о возможностях анализа Data Wrangler, в том числе о целевых утечках и генерации отчетов о предвзятости, см. следующую запись в блоге. Ускорьте подготовку данных с помощью Amazon SageMaker Data Wrangler для прогнозирования повторной госпитализации пациентов с диабетом.

Чтобы начать работу с Data Wrangler, см. Подготовка данных машинного обучения с помощью Amazon SageMaker Data Wranglerи просмотрите последнюю информацию о Data Wrangler странице продукта.


Об авторах

Руп Бейнс работает архитектором решений в AWS, специализируясь на AI/ML. Он увлечен тем, что помогает клиентам внедрять инновации и достигать своих бизнес-целей с помощью искусственного интеллекта и машинного обучения. В свободное время Руп любит читать и ходить в походы.

Игорь Алексеев — архитектор партнерских решений в AWS в области данных и аналитики. Игорь работает со стратегическими партнерами, помогая им создавать сложные архитектуры, оптимизированные для AWS. До прихода в AWS в качестве архитектора данных/решений он реализовал множество проектов в области больших данных, в том числе несколько озер данных в экосистеме Hadoop. В качестве инженера по обработке данных он занимался применением ИИ/МО для обнаружения мошенничества и автоматизации делопроизводства. Проекты Игоря были в различных отраслях, включая связь, финансы, общественную безопасность, производство и здравоохранение. Ранее Игорь работал full stack инженером/техлидом.

Хуонг Нгуен является старшим менеджером по продукту в AWS. Она руководит пользовательским интерфейсом SageMaker Studio. Она имеет 13-летний опыт создания ориентированных на клиентов и данных продуктов как для корпоративных, так и для потребительских сфер. В свободное время она любит читать, находиться на природе и проводить время с семьей.

Генри Ванг является инженером-разработчиком программного обеспечения в AWS. Недавно он присоединился к команде Data Wrangler после окончания Калифорнийского университета в Дэвисе. Он интересуется наукой о данных и машинным обучением и занимается 3D-печатью в качестве хобби.

Отметка времени:

Больше от Машинное обучение AWS