使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。

使用 Amazon SageMaker Data Wrangler 创建随机和分层的数据样本

在这篇文章中,我们将向您介绍两种采样技术 亚马逊SageMaker数据牧马人 这样您就可以快速创建数据处理工作流程。我们涵盖随机抽样和分层抽样技术,以帮助您根据您的具体要求对数据进行抽样。

Data Wrangler 将聚合和准备机器学习 (ML) 数据所需的时间从几周缩短到几分钟。您可以简化数据准备和特征工程的过程,并从单个可视化界面完成数据准备工作流程的每个步骤,包括数据选择、清理、探索和可视化。借助 Data Wrangler 的数据选择工具,您可以从各种数据源中选择所需的数据,然后单击即可导入。 Data Wrangler 包含 300 多个内置数据转换,因此您可以快速规范化、转换和组合功能,而无需编写任何代码。借助 Data Wrangler 的可视化模板,您可以通过在以下位置查看这些转换来快速预览和检查这些转换是否已按您的预期完成: 亚马逊SageMaker Studio,第一个完全集成的 ML 开发环境 (IDE)。准备好数据后,您可以使用以下命令构建完全自动化的 ML 工作流程 Amazon SageMaker管道 并将它们保存在 Amazon SageMaker功能商店.

什么是抽样以及它有何帮助

在统计分析中,观测值的总集合被称为 人口。在处理数据时,测量总体中的每个观察结果在计算上通常是不可行的。 统计抽样 是一个允许您通过从总体中选择子集来理解数据的过程。

采样提供了一种实用的解决方案,为了实用性和易用性而牺牲了一些准确性。为了确保您的样本能够很好地代表总体,您可以采用抽样策略。 Data Wrangler 支持两种最常见的策略: 随机抽样分层抽样.

随机抽样

如果您有一个大型数据集,则对该数据集进行实验可能会非常耗时。 Data Wrangler 提供随机采样,以便您可以有效地处理和可视化数据。例如,您可能想要计算某个时间范围内客户的平均购买次数,或者您可能想要计算订户的流失率。您可以使用随机样本来可视化这些指标的近似值。

从数据集中选择一个随机样本,以便每个元素都有相同的被选择概率。此操作以适合大型数据集的高效方式执行,因此返回的样本大小大约是请求的大小,而不一定等于请求的大小。

如果您想进行快速近似计算以了解数据集,则可以使用随机抽样。随着样本量变大,随机样本可以更好地近似整个数据集,但除非包含所有数据点,否则随机样本可能不会包含所有异常值和边缘情况。如果您想以交互方式准备整个数据集,您还可以切换到更大的实例类型。

作为一般规则,随着样本变大,使用随机样本计算总体平均值时的抽样误差趋于 0。随着样本量的增加,误差随着样本量的平方根的倒数而减小。结论是,样本越大,近似值就越好。

分层抽样

在某些情况下,您的人口可以分为不同的阶层或相互排斥的桶,例如地址的地理位置、歌曲的出版年份或收入的税级。随机抽样是最流行的抽样技术,但如果某些阶层在您的总体中不常见,您可以在 Data Wrangler 中使用分层抽样,以确保每个阶层在您的样本中按比例表示。这可能有助于减少采样错误以及确保您在实验过程中捕获边缘情况。

在现实世界中,欺诈性信用卡交易很少见,通常只占数据的不到 1%。如果我们随机抽样,样本中包含很少或没有欺诈交易的情况并不少见。因此,在训练模型时,我们的欺诈示例太少,无法学习准确的模型。我们可以使用分层抽样来确保欺诈交易的比例代表性。

在分层抽样中,样本中各层的规模与总体中各层的规模成正比。其工作原理是根据指定的列将数据划分为多个层,以正确的比例从每个层中选择随机样本,然后将这些样本组合成总体的分层样本。

当您想要了解数据中不同组之间的比较情况,并且想要确保每个组都有适当的表示形式时,分层抽样是一种有用的技术。

从 Amazon S3 导入时随机采样

在本节中,我们使用随机抽样,数据集由欺诈检测系统中的欺诈和非欺诈事件组成。你可以 下载 这篇文章中要遵循的数据集(CC 4.0 国际归属许可).

在撰写本文时,您可以从以下位置导入数据集: 亚马逊简单存储服务 (Amazon S3), 亚马逊雅典娜, 亚马逊Redshift和雪花。我们的数据集非常大,包含 1 万行。在本例中,我们希望在从 Amazon S1,0000 导入时对 3 行进行采样,以便在 Data Wrangler 中进行一些交互式实验。

  1. 打开 SageMaker Studio 并创建新的 Data Wrangler 流。
  2. 导入日期,选择 Amazon S3.
    使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。
  3. 选择要导入的数据集。
  4. 更多信息 窗格中,提供您的数据集名称和文件类型。
  5. 针对 打样,选择 随机.
  6. 针对 样本大小,输入 10000.
  7. 进口 将数据集加载到 Data Wrangler 中。
    使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。

您可以在 Data Wrangler 的数据流页面上可视化两个不同的步骤。第一步指示根据您定义的采样策略加载样本数据集。加载数据后,Data Wrangler 会自动检测数据集中每列的数据类型。默认情况下为所有数据集添加此步骤。

您现在可以通过添加分析来查看 Data Wrangler 中的随机采样数据。

  1. 选择旁边的加号 资料类型 并选择 分析.
    使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。
  2. 针对 分析类型¸选择 散点图.
  3. 壮举_1壮举_2 至于 X轴Y轴
  4. 针对 颜色依据,选择 是欺诈.

当您对数据集感到满意后,请继续根据您的业务需求进行进一步的数据转换,为 ML 准备数据。

在下面的屏幕截图中,我们可以在分析中观察到欺诈性(深蓝色)和非欺诈性(浅蓝色)交易。
使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。

在下一节中,我们将讨论使用分层抽样来确保按比例选择欺诈案例。

使用变换进行分层采样

Data Wrangler 允许您在导入时进行采样,以及通过转换进行采样。在本节中,我们将讨论在将数据集导入 Data Wrangler 后通过转换使用分层采样。

  1. 要启动采样,请在 数据流 选项卡,选择导入的数据集旁边的加号,然后选择 添加变换.
    使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。

在撰写本文时,Data Wrangler 提供了超过 300 个内置转换。除了内置转换之外,您还可以在 Pandas 或 PySpark 中编写自己的自定义转换。

  1. 来自 添加变换 列表,选择 打样.
    使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。

您现在可以使用三种不同的抽样策略:限制、随机和分层。
使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。

  1. 针对 采样方法,选择 分层.
  2. 使用 is_fraud 列作为分层列。
  3. 预览 预览转换,然后选择 地址 将此转换作为一个步骤添加到您的转换方案中。
    使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。

您的数据流现在反映了添加的采样步骤。
使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。

现在我们可以通过添加分析来查看随机采样数据。

  1. 选择加号并选择 分析.
  2. 针对 分析类型¸选择 直方图.
  3. 是欺诈X轴颜色依据.
  4. 预览.

在下面的屏幕截图中,我们可以观察到通过分层抽样选择的欺诈(深蓝色)和非欺诈(浅蓝色)案例的细分,正确比例为 20% 欺诈和 80% 非欺诈。

使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。

结论

在处理极大的数据集时正确采样数据并选择正确的采样策略来满足您的业务需求至关重要。抽样的有效性取决于多种因素,包括业务成果、数据可用性和分布。在这篇文章中,我们介绍了如何使用 Data Wrangler 及其内置采样策略来准备数据。

您现在就可以在提供 SageMaker Studio 的所有区域开始使用此功能。要开始使用,请访问 使用 Amazon SageMaker Data Wrangler 准备 ML 数据.

致谢

作者要感谢 Jonathan Chung(应用科学家)对本文的审阅和宝贵反馈。


作者简介

使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。本·哈里斯 是一位软件工程师,拥有跨多个领域设计、部署和维护可扩展数据管道和机器学习解决方案的经验。

使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。维沙尔·卡普尔 是 AWS AI 的高级应用科学家。 他热衷于帮助客户了解他们在 Data Wrangler 中的数据。 在业余时间,他骑山地自行车、滑雪板,并与家人共度时光。

使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。Meenakshisundaram 坦达瓦拉扬 是 AWS 的高级 AI/ML 专家。他帮助高科技战略客户进行人工智能和机器学习之旅。他对数据驱动的人工智能非常热衷。

使用 Amazon SageMaker Data Wrangler PlatoBlockchain 数据智能创建随机分层数据样本。垂直搜索。人工智能。阿杰夏尔马 是 Amazon SageMaker 的首席产品经理,他专注于 Data Wrangler,这是一种面向数据科学家的可视化数据准备工具。 在加入 AWS 之前,Ajai 是麦肯锡公司的一名数据科学专家,在那里他领导了全球领先的金融和保险公司以 ML 为重点的项目。 Ajai 对数据科学充满热情,喜欢探索最新的算法和机器学习技术。

时间戳记:

更多来自 AWS机器学习