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

Генерация синтетических данных с использованием Synthetic Data Vault (SDV):

Synthetic Data Vault (SDV) — это экосистема генерации синтетических данных, которая позволяет пользователю легко создавать синтетические данные, изучая наборы данных из одной таблицы, нескольких таблиц, текста и временных рядов. SDV использует вероятностные графические модели и методы глубокого обучения для создания синтетических данных. Подробнее о библиотеке можно прочитать здесь.

В нашем сценарии мы будем использовать Gaussian Coupla для генерации синтетических данных — Gaussian Coupla — это методология, в которой мы генерируем многомерные случайные величины с использованием ковариационной матрицы.

Ниже приведен код для установки и импорта экземпляра Gaussian Coupla:

Чтобы соответствовать экземпляру в Gaussian Coupla, давайте импортируем общий набор данных в блокнот — давайте загрузим набор данных страховое требование из kaggle. Этот набор данных содержит категориальные, непрерывные и произвольные текстовые данные, чтобы мы могли видеть эффективность/диапазон библиотеки SDV.

Мы можем видеть на изображении выше, что данные страхового возмещения представлены в виде объектов, типов данных int64 и float64.

Подгонка набора данных к экземпляру Gaussian Coupla и создание 100 000 выборок:

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

Просто взгляните на типы данных между исходными и синтетическими сгенерированными данными; они точно совпадают — что показывает, насколько эффективно работает SDV.

Давайте сделаем еще один шаг и воспользуемся библиотекой table_evaluator для сравнения реальных и синтетических наборов данных:

Сравнение логарифмического среднего и стандартного отклонения между реальными и поддельными данными

Визуальные эффекты для сравнения переменных между реальными и поддельными данными:

Я включил визуальные эффекты для некоторых выбранных переменных — полный отчет, созданный для 44 переменных, был бы довольно обширным, чтобы включить его сюда.

Из приведенных выше диаграмм видно, насколько мощно SDV генерирует категориальные и нормализованные непрерывные переменные.

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

Следите за моим средним блогом и добавляйте меня в личку — мне бы очень хотелось связаться с вами.

Связано: Омкар-гаваде