

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 表格式資料
<a name="clarify-processing-job-data-format-tabular"></a>

表格式資料是指可以載入到二維資料影格中的資料。在影格中，每一行代表一條記錄，每條記錄都有一個或多個資料欄。每個資料框儲存格內的值可以是數值、分類或文字資料類型。

## 表格式資料集先決條件
<a name="clarify-processing-job-data-format-tabular-prereq"></a>

在進行分析之前，您的資料集應該已經套用了任何必要的預先處理步驟。這包含資料清理或功能工程。

您可以提供一或多個資料集。如果您提供多個資料集，請使用下列指令將其識別為 SageMaker Clarify 處理任務。
+ 使用命名為 `dataset` 的 [ProcessingInput](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProcessingInput.html) 或分析組態 `dataset_uri` 來指定主資料集。如需 `dataset_uri` 的詳細資訊，請參閱 [分析組態檔案](clarify-processing-job-configure-analysis.md) 中的參數清單。
+ 使用分析組態檔案中提供的 `baseline` 參數。SHAP 分析需要基準資料集。如需分析組態檔案的詳細資訊，請參閱 [分析組態檔案](clarify-processing-job-configure-analysis.md)。

下表列出支援的資料格式、其副檔名和 MIME 類型。


| 資料格式 | 副檔名 | MIME 類型 | 
| --- | --- | --- | 
| CSV | csv | `text/csv` | 
| JSON 行 | JSOL | `application/jsonlines` | 
| JSON | json | `application/json` | 
| Parquet | parquet | “application/x-parquet” | 

以下各章節顯示 CSV、JSON 行和 Apache Parquet 格式的範例表格式資料集。

### CSV 格式的表格式資料集先決條件
<a name="clarify-processing-job-data-format-tabular-prereq-csv"></a>

SageMaker Clarify 處理任務的設計是為了以 [csv.excel](https://docs.python.org/3/library/csv.html#csv.excel) 方言載入 CSV 資料檔案。但是，它具有足夠的靈活性，可以支援其他行終止程式，包含 `\n` 和 `\r`。

為了相容性，提供給 SageMaker Clarify 處理任務的所有 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` 設定為 index `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 格式的表格式資料集必要條件
<a name="clarify-processing-job-data-format-tabular-prereq-json"></a>

JSON 是一種靈活的格式，用於表示包含任何複雜層級的結構化資料。SageMaker Clarify 對 JSON 的支援並不限於任何特定的格式，因此與 CSV 或 JSON 行格式的資料集相比，允許更靈活的資料格式。本指南說明如何作為 JSON 格式匯出格式的表格式資料設定分析組態。

**注意**  
為確保相容性，提供給 SageMaker Clarify 處理任務的所有 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](https://jmespath.org/) 表達式 `[*].label` 來擷取資料集中每個記錄的 Ground Truth 標籤。JMESPath 表達式應該產生一個標籤清單，其中第 i 個標籤對應於第 i 個記錄。
+ `features` 參數應該使用 JMESPath 運算式 `[*].features` 來擷取資料集中每個記錄的功能陣列。JMESPath 運算式應該產生 2D 陣列或矩陣，其中第 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](https://jmespath.org/) 運算式`data[*].label`來擷取資料集中每個記錄的 Ground Truth 標籤。JMesPath 表達式應該產生一個標籤清單，其中第 i 個標籤用於第 i 個記錄。
+ 此 `features` 參數會使用 JMESPath 運算式 `data[*].features`，針對資料集中的每筆記錄擷取特徵陣列。JMESPath 運算式應該產生 2D 陣列或矩陣，其中第 i 列包含第 i 個記錄的功能值。

### JSON 行格式的表格式資料集先決條件
<a name="clarify-processing-job-data-format-tabular-prereq-jsonlines"></a>

JSON 行是一種文字格式，用於表示結構化資料，其中每一行都是一個有效的 JSON 物件。目前 SageMaker Clarify 處理任務僅支援 SageMaker AI 密集格式 JSON 行。為了符合所需的格式，記錄的所有功能都應列在單一 JSON 陣列中。如需 JSON Lines 的詳細資訊，請參閱 [JSONLINES 請求格式](cdf-inference.md#cm-jsonlines)。

**注意**  
提供給 SageMaker Clarify 處理任務的所有 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}
...
```

先前的資料集範例組態分析應該如下設定參數：
+ 若要指示 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 格式的表格式資料集先決條件
<a name="clarify-processing-job-data-format-tabular-prereq-parquet"></a>

[Parquet](https://parquet.apache.org/)是一種面向資料欄的二進位資料格式。目前，SageMaker Clarify 處理任務只有在處理執行個體計數為 `1` 時，才支援載入 Parquet 資料檔案。

由於 SageMaker Clarify 處理任務不支援 Parquet 格式的端點請求或端點回應，因此您必須將分析組態參數設定 `content_type` 為支援的格式，以指定端點請求的資料格式。如需詳細資訊，請參閱 [分析組態檔案](clarify-processing-job-configure-analysis.md) 中的 `content_type`。

Parquet 資料必須具有格式化為字串的資料欄名稱。使用分析組態 `label` 參數設定標籤資料欄名稱名稱，以指示 Ground Truth 標籤的位置。所有其他資料欄都被設定為功能。