nettman 发表于 2023-2-23 23:07:25

使用深度学习模型生成合成数据



不可否认,21世纪最大的资源是数据——数据通常被称为第四代工业;只有公司采用这种模式收集数据,并利用数据做出明智决策的公司,才会蓬勃发展。但是收集数据和进行实验并不像听起来那么简单,大多数中等公司没有存储可扩展数据的基础设施或资源。在大多数情况下,当您必须在没有可扩展数据的情况下测试机器学习/人工智能模型时,我们必须使用机器学习生成合成数据。在一些用例中,公司之所以生成合成数据,是由于它希望对数据保密。

使用合成数据仓库生成合成数据
合成数据仓库(SDV)是一个生成合成数据的生态系统,允许用户通过了解单表、多表、文本和时间序列数据集,轻松创建合成数据。SDV使用概率图形模型和深度学习技术来生成合成数据。

在我们的场景中,我们将使用高斯连接函数(Gaussian Coupla)来生成合成数据——高斯连接函数是一种方法,我们通过使用协方差矩阵来生成多变量随机变量。

下面是安装和导入高斯连接函数实例的代码:



为了使实例拟合高斯连接函数,不妨将通用数据集导入到笔记本(notebook),我们不妨从kaggle下载保险索赔数据集。该数据集具有分类、连续和自由的文本数据,因此我们可以看到SDV库的有效性/范围。



我们可以从上图中看到,该保险索赔数据的数据类型有object、int64和float64这几种。

将数据集拟合到高斯连接函数实例中,生成10万个样本:



不妨为生成的合成变量检查数据类型:



只需观察原始数据和生成的合成数据之间的数据类型;它们完全匹配,这表明SDV运行起来有多高效。

不妨更进一步,使用table_evaluator库来比较真实数据集和合成数据集:



真实数据和虚假数据的对数均值和标准偏差比较



真实数据和虚假数据变量比较的示意图:

我已经加入了一些选定变量的视觉元素——为44个变量生成的完整报告相当全面,这里仅显示部分。







我们从上面图表中可以看到SDV生成分类和规范化连续变量的功能有多强大。

咱们还是编程吧,生成合成数据,并使用它训练机器学习模型及更多!



最新经典文章,欢迎关注公众号http://www.aboutyun.com/data/attachment/forum/201903/18/215536lzpn7n3u7m7u90vm.jpg

lynx99 发表于 2023-2-24 09:33:10

感谢分享
页: [1]
查看完整版本: 使用深度学习模型生成合成数据