表格数据 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

表格数据

表格数据是指可以加载到二维数据框中的数据。在数据框中,每行代表一条记录,每条记录都有一列或多列。每个数据框单元格内的值可以是数字、分类或文本数据类型。

表格数据集先决条件

在分析之前,您的数据集应该已经应用了任何必要的预处理步骤。这包括数据清理或特征工程。

您可以提供一个或多个数据集。如果您提供多个数据集,请使用以下方法在 Clarify 处理任务中 SageMaker 对其进行识别。

  • 使用ProcessingInput命名配置dataset或分析配置dataset_uri来指定主数据集。有关的更多信息dataset_uri,请参阅中的参数列表配置分析

  • 使用分析配置文件中提供的 baseline 参数。SHAP 分析需要基准数据集。有关分析配置文件的更多信息(包括示例),请参阅配置分析

下表列出了支持的数据格式、其文件扩展名和 MIME 类型。

Data format(数据格式) 文件扩展名 MIME 类型

CSV

csv

text/csv

JSON 行

jsonl

application/jsonlines

JSON

json

application/json

Parquet

parquet

“application/x-parquet”

以下几节介绍了 CSV、JSON 行和 Apache Parquet 格式的表格数据集示例。

Cl SageMaker arify 处理任务旨在加载 cs v.excel 方言中的 CS V 数据文件。但是它足够灵活,可以支持其他行终止符,包括 \n\r

为了兼容起见,提供给 Clarify 处理任务的 SageMaker 所有 CSV 数据文件都必须采用 UTF-8 编码。

如果您的数据集不包含标题行,请执行以下操作:

  • 将分析配置标签设置为索引 0。这意味着第一列是 Ground Truth 标签。

  • 如果设置了参数 headers,则将 label 设置为标签列标题以指示标签列的位置。所有其他列都指定为特征。

    以下是不包含标题行的数据集示例。

    1,5,2.8,2.538,This is a good product 0,1,0.79,0.475,Bad shopping experience ...

如果您的数据包含标题行,请将参数 label 设置为索引 0。要指示标签列的位置,请使用 Ground Truth 标签标题 Label。所有其他列都指定为特征。

以下是包含标题行的数据集示例。

Label,Rating,A12,A13,Comments 1,5,2.8,2.538,This is a good product 0,1,0.79,0.475,Bad shopping experience ...

JSON 是一种灵活的格式,用于表示包含任何复杂程度的结构化数据。Cl SageMaker arify 对 JSON 的支持不限于任何特定格式,因此与 CSV 或 JSON 行格式的数据集相比,允许更灵活的数据格式。本指南介绍如何为 JSON 格式的表格数据设置分析配置。

注意

为确保兼容性,提供给 Clarify 处理任务的 SageMaker 所有 JSON 数据文件都必须采用 UTF-8 编码。

以下是输入数据的示例,其记录包含顶层键、特征列表和标签。

[ {"features":[1,5,2.8,2.538,"This is a good product"],"label":1}, {"features":[0,1,0.79,0.475,"Bad shopping experience"],"label":0}, ... ]

先前输入示例数据集的示例配置分析应设置以下参数:

  • label 参数应使用 JMESPath 表达式 [*].label 为数据集中的每条记录提取 Ground Truth 标签。JMESPath 表达式应生成标签列表,其中第 i 个标签对应于第 i 条记录。

  • features 参数应使用 JMESPath 表达式 [*].features 为数据集中的每条记录提取特征数组。JMESPath 表达式应生成一个二维数组或矩阵,其中第 i 行包含与第 i 条记录对应的特征值。

    以下是输入数据的示例,其记录包含顶层键和嵌套键,嵌套键包含每条记录的特征和标签列表。

{ "data": [ {"features":[1,5,2.8,2.538,"This is a good product"],"label":1}}, {"features":[0,1,0.79,0.475,"Bad shopping experience"],"label":0}} ] }

先前输入示例数据集的示例配置分析应设置以下参数:

  • label 参数使用 JMESPath 表达式 data[*].label 为数据集中的每条记录提取 Ground Truth 标签。JMESPath 表达式应生成一个标签列表,其中第 i 个标签用于第 i 条记录。

  • features参数使用 JMESPath 表达式data[*].features为数据集中的每条记录提取要素数组。JMESPath 表达式应生成一个二维数组或矩阵,其中第 i 行包含第 i 条记录的特征值。

JSON 行是一种用于表示结构化数据的文本格式,其中每行都是有效的 JSON 对象。目前 C SageMaker larify 处理作业仅支持 SageMaker 密集格式 JSON 行。为符合格式要求,一条记录的所有特征都应列在一个 JSON 数组中。有关 JSON 行的更多信息,请参阅JSONLINES 请求格式

注意

为确保兼容性,提供给 Clarify 处理 SageMaker 任务的所有 JSON Lines 数据文件都必须采用 UTF-8 编码。

以下示例说明如何为包含顶层键和元素列表的记录设置分析配置。

{"features":[1,5,2.8,2.538,"This is a good product"],"label":1} {"features":[0,1,0.79,0.475,"Bad shopping experience"],"label":0} ...

先前数据集示例的配置分析应按以下方式设置参数:

  • 要指示 Ground Truth 标签的位置,应将参数 label 设置为 JMESPath 表达式 label

  • 要指示特征数组的位置,应将参数 features 设置为 JMESPath 表达式 features

以下示例说明如何为包含顶层键嵌套键(其中包含元素列表)的记录设置分析配置。

{"data":{"features":[1,5,2.8,2.538,"This is a good product"],"label":1}} {"data":{"features":[0,1,0.79,0.475,"Bad shopping experience"],"label":0}} ...

先前数据集示例的配置分析应按以下方式设置参数:

  • 应将 label 参数设置为 JMESPath 表达式 data.label,以指示 Ground Truth 标签的位置。

  • 应将 features 参数设置为 JMESPath 表达式 data.features,以指示特征数组的位置。

Parquet 是一种列式二进制数据格式。目前,Cl SageMaker arify 处理作业仅在处理实例数为时才支持加载 Parquet 数据文件1

由于 SageMaker Clarify 处理作业不支持 Parquet 格式的端点请求或端点响应,因此您必须通过将分析配置参数设置为支持的格式content_type来指定端点请求的数据格式。有关更多信息,请参阅配置分析中的content_type

Parquet 数据的列名必须格式化为字符串。使用分析配置 label 参数设置标签列名称以指示 Ground Truth 标签的位置。所有其他列都指定为特征。