译者 | 布加迪
审校 | 孙淑娟
不可否认,21世纪最大的资源是数据——数据通常被称为第四代工业;只有公司采用这种模式收集数据,并利用数据做出明智决策的公司,才会蓬勃发展。但是收集数据和进行实验并不像听起来那么简单,大多数中等公司没有存储可扩展数据的基础设施或资源。在大多数情况下,当您必须在没有可扩展数据的情况下测试机器学习/人工智能模型时,我们必须使用机器学习生成合成数据。在一些用例中,公司之所以生成合成数据,是由于它希望对数据保密。
使用合成数据仓库生成合成数据
合成数据仓库(SDV)是一个生成合成数据的生态系统,允许用户通过了解单表、多表、文本和时间序列数据集,轻松创建合成数据。SDV使用概率图形模型和深度学习技术来生成合成数据。
在我们的场景中,我们将使用高斯连接函数(Gaussian Coupla)来生成合成数据——高斯连接函数是一种方法,我们通过使用协方差矩阵来生成多变量随机变量。
下面是安装和导入高斯连接函数实例的代码:
为了使实例拟合高斯连接函数,不妨将通用数据集导入到笔记本(notebook),我们不妨从kaggle下载保险索赔数据集。该数据集具有分类、连续和自由的文本数据,因此我们可以看到SDV库的有效性/范围。
我们可以从上图中看到,该保险索赔数据的数据类型有object、int64和float64这几种。
将数据集拟合到高斯连接函数实例中,生成10万个样本:
不妨为生成的合成变量检查数据类型:
只需观察原始数据和生成的合成数据之间的数据类型;它们完全匹配,这表明SDV运行起来有多高效。
不妨更进一步,使用table_evaluator库来比较真实数据集和合成数据集:
真实数据和虚假数据的对数均值和标准偏差比较
真实数据和虚假数据变量比较的示意图:
我已经加入了一些选定变量的视觉元素——为44个变量生成的完整报告相当全面,这里仅显示部分。
我们从上面图表中可以看到SDV生成分类和规范化连续变量的功能有多强大。
咱们还是编程吧,生成合成数据,并使用它训练机器学习模型及更多!
原文链接:https://omkargawade.medium.com/generating-synthetic-data-using-deep-learning-model-5066aed80e30