Учебное пособие по синтетическим данным

Генеративный ИИ для табличных данных

Синтетическая генерация данных в 3 строки кода

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

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

Сегодня мы изучаем, как генерировать синтетические табличные данные с помощью библиотеки ydata-synthetic, мощного пакета Python, разработанного YData. Эта библиотека с открытым исходным кодом позволяет нам генерировать высококачественные синтетические данные, сохраняя внутренние свойства исходного набора данных.

Начиная

Для начала нам необходимо установить пакет ydata-synthetic. Это можно легко сделать с помощью pip:

Понимание пакета ydata-synthetic

Пакет ydata-synthetic предлагает различные модели для разных типов данных, включая временные ряды и табличные данные. В этом уроке мы сосредоточимся на табличных данных, используя генераторы синтетических данных на основе GAN, предоставляемые библиотекой.

Основные этапы процесса следующие:

  1. Предварительная обработка. Здесь мы масштабируем наши данные, чтобы они соответствовали ожиданиям модели. В комплект поставки входят утилиты для этого процесса.
  2. Обучение: мы используем данные для обучения генеративно-состязательной сети (GAN). В библиотеке имеется несколько предопределенных архитектур GAN для генерации синтетических данных.
  3. Генерация. После обучения модели мы можем генерировать синтетические данные.
  4. Обратная предварительная обработка. Последний шаг — преобразование сгенерированных данных обратно в исходную форму с отменой масштабирования, выполненного на этапе предварительной обработки. В большинстве случаев это также легко делается с помощью пакета.

Прохождение

Для целей этого руководства мы рассмотрим набор данных Доход переписи населения и популярную модель синтеза табличных данных: Условно-табличную генеративно-состязательную сеть (CTGAN).

Предварительная обработка и обучение модели

ydata-synthetic предоставляет инструменты предварительной обработки, которые помогают преобразовать наши данные, подходящие для обучения. Нам просто нужно сделать необходимый импорт:

Затем мы можем загрузить данные и определить числовые и категориальные характеристики:

Обучение модели

ydata-synthetic предоставляет несколько готовых моделей GAN, включая VanillaGAN, CGAN, WGAN-GP и CTGAN. Вы можете проверить больше примеров в документации и узнать больше о GAN в этом блоге.

Чтобы использовать CTGAN, нам необходимо указать модель и параметры обучения. Затем мы обучаем его на наших данных. Предварительная обработка выполняется внутри!

Генерация синтетических данных

После обучения модели генерирование синтетических данных становится простым:

При этом создается новый DataFrame с 1000 точками синтетических данных. Постобработка выполняется внутри компании, поэтому данные автоматически возвращаются в исходном формате и диапазоне. Это дает нам DataFrame синтетических данных, который сохраняет статистические свойства наших исходных данных.

Заключение

Генерация синтетических данных — мощный инструмент для преодоления проблем, связанных с доступностью и конфиденциальностью данных. Библиотека ydata-synthetic упрощает этот процесс, предоставляя готовые модели GAN и утилиты предварительной обработки. Это позволяет нам генерировать синтетические данные, которые точно соответствуют статистическим свойствам наших исходных данных, предоставляя ценный ресурс для разработки моделей машинного обучения.

Хотя в этом руководстве основное внимание уделяется табличным данным, библиотека ydata-synthetic также поддерживает другие типы данных, например временные ряды. Если вы хотите узнать больше о ydata-synthetic, вы можете обратиться к этим Часто задаваемым вопросам!

Мы призываем вас изучить эти варианты и использовать возможности синтетических данных в своих проектах, а также присоединиться к нам в Data-Centric AI Community, чтобы общаться с другими энтузиастами данных.

— —

Гонсалу Мартинс Рибейру — генеральный директор YData
Ускорение искусственного интеллекта с помощью высококачественных данных

ИИ, ориентированный на данные | Качество данных | Синтетические данные | Генеративный ИИ