正如本章引言中所述,生成合成数据只是第一步。我们需要验证生成的数据是否确实有用,并与它旨在模仿的原始数据相似。开始这项评估最直观的方式之一是进行视觉检查。这包括使用图表和图形查看合成数据,通常将其与真实数据并排比较。虽然这看起来很基本,但视觉检查通常是发现显著差异或确认生成过程方向正确的快捷方式。观察数据:图表和图形视觉检查依赖于我们的模式识别能力。通过以不同方式绘制数据,我们可以感知其结构、分布以及变量之间的关联。这种方法对于掌握整体形状和趋势尤其有益,即便它不提供精确的数值分数。使用直方图和密度图比较分布对于数值特征(如年龄、价格或传感器读数),直方图和密度图是非常好的工具。它们显示了数据集中不同值范围出现的频率。要评估您的合成数据,您可以从真实数据集和合成数据集中为特定特征创建直方图或密度图,并将它们一起绘制。要观察什么: 这些图的形状相似吗?峰值(众数)大致在相同位置吗?值范围(最小值和最大值)看起来可比吗?合成数据的图中是否有任何意料之外的间隙或尖峰?以下是一个比较“年龄”特征分布的例子:{"layout": {"title": "年龄分布:真实 vs. 合成", "xaxis": {"title": "年龄"}, "yaxis": {"title": "密度"}, "barmode": "overlay"}, "data": [{"type": "histogram", "x": [25, 30, 22, 45, 50, 35, 38, 29, 41, 48, 28, 33, 39, 42, 55, 60, 26, 31], "name": "真实数据", "marker": {"color": "#228be6"}, "opacity": 0.75, "histnorm": "probability density"}, {"type": "histogram", "x": [28, 32, 26, 40, 52, 33, 40, 31, 45, 49, 29, 35, 41, 45, 58, 62, 28, 34], "name": "合成数据", "marker": {"color": "#ff922b"}, "opacity": 0.75, "histnorm": "probability density"}]}使用叠加直方图比较年龄分布。我们正在寻找真实(蓝色)和合成(橙色)数据在形状、集中趋势和离散度上的相似性。形状或范围上的显著差异可能表明合成生成过程未能很好地捕捉此特征的特点。使用散点图检查关系当您有多个数值特征时,散点图有助于可视化它们之间的关系。例如,您可以绘制“身高”与“体重”或“温度”与“压力”。通过为真实数据集和合成数据集中的相同特征对创建散点图,您可以比较其中的模式。要观察什么: 合成散点图是否显示出与真实数据相似的趋势(例如,正相关、负相关、无相关)?点的分散程度或密度是否可比?真实数据中是否存在合成数据中也有(或没有)的簇或异常值?一个比较“特征 A”和“特征 B”的例子。{"layout": {"title": "特征关系:真实 vs. 合成", "xaxis": {"title": "特征 A"}, "yaxis": {"title": "特征 B"}}, "data": [{"type": "scatter", "x": [1, 2, 2.5, 3, 4, 4.5, 5, 6, 6.5, 7], "y": [2, 3, 3.5, 4, 5, 5.2, 5.8, 7, 7.2, 8], "mode": "markers", "name": "真实数据", "marker": {"color": "#228be6", "size": 8}}, {"type": "scatter", "x": [1.2, 2.1, 2.7, 3.1, 4.3, 4.4, 5.2, 6.1, 6.3, 7.2], "y": [2.5, 3.2, 3.8, 4.1, 5.3, 5.0, 6.1, 7.2, 6.9, 8.3], "mode": "markers", "name": "合成数据", "marker": {"color": "#ff922b", "symbol": "x", "size": 8}}]}散点图比较了真实(蓝色圆圈)和合成(橙色叉号)数据集中两个特征之间的关系。寻找相似的趋势和点的分布。如果真实数据显示出清晰的对角线趋势,而合成数据显示的是随机点云,则生成方法未能捕捉到这些特征之间的关系。使用条形图检查类别对于分类特征(如“产品类别”、“城市”或“用户类型”),条形图很有用。它们显示了每个类别的频率或比例。您可以从两个数据集中为分类特征创建条形图,以比较每个类别的计数或百分比。要观察什么: 类别的相对频率相似吗?合成数据是否包含了真实数据中的所有重要类别?它是否生成了真实数据中不存在的类别(这可能没问题,也可能有问题,取决于目标)?比较“产品类别”频率的例子:{"layout": {"title": "产品类别频率:真实 vs. 合成", "xaxis": {"title": "类别"}, "yaxis": {"title": "计数"}, "barmode": "group"}, "data": [{"type": "bar", "x": ["Electronics", "Clothing", "Home Goods", "Books"], "y": [150, 200, 120, 80], "name": "真实数据", "marker": {"color": "#228be6"}}, {"type": "bar", "x": ["Electronics", "Clothing", "Home Goods", "Books"], "y": [145, 190, 130, 75], "name": "合成数据", "marker": {"color": "#ff922b"}}]}分组条形图比较了真实(蓝色)和合成(橙色)数据集中不同产品类别的计数。我们检查比例是否看起来合理相似。图像的视觉检查对于合成图像数据,视觉检查通常是主要方法,尤其是在基础层面。直接观察: 只需查看生成的图像样本。它们看起来合理吗?如果它们旨在代表特定物体(如猫或汽车),这些物体可识别吗?是否存在明显的视觉伪影、不真实的纹理或奇怪的失真?比较网格: 将真实图像网格与合成图像网格并排放置。这使得并排比较更容易。合成图像的多样性是否反映了真实图像的多样性?光照、角度和背景看起来相似吗(如果这是目标)?尽管简单,直接查看图像可以立即获得生成过程输出质量的反馈。优点和局限性视觉检查是评估中一个有力的第一道防线:优点:它直观易懂,无论统计学背景如何,任何人都能理解。它能迅速显示合成数据中的主要缺陷或意外结果。它有助于建立关于合成数据如何很好地捕捉真实数据整体结构的感觉。局限性:它具有主观性。不同的人可能从相同的图中得出不同的结论。它扩展性不佳。您无法同时视觉检查数百个特征之间的关系。它可能遗漏细小的统计差异,这些差异可能对机器学习模型的性能很重要。它不产生量化分数,这使得难以客观比较不同的合成数据集或跟踪随时间的变化。视觉检查是评估合成数据必不可少的起点。它提供即时、定性的反馈。然而,由于其局限性,它应始终辅以我们接下来将讨论的更量化的统计比较和基于效用的评估。