

我們不再更新 Amazon Machine Learning 服務或接受新使用者。本文件可供現有使用者使用，但我們不再更新。如需詳細資訊，請參閱[什麼是 Amazon Machine Learning](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html)。

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

# 資料重新安排
<a name="data-rearrangement"></a>

 資料重新安排功能可讓您建立只根據所指向輸入資料一部分的資料來源。例如，當您使用 Amazon ML 主控台中的**建立 ML **模型精靈建立 ML 模型，並選擇預設評估選項時，Amazon ML 會自動保留 30% 的資料用於 ML 模型評估，並使用其他 70% 進行訓練。此功能由 Amazon ML 的資料重新排列功能啟用。

 如果您使用 Amazon ML API 來建立資料來源，您可以指定新資料來源將以哪個部分為基礎的輸入資料。做法是將 `DataRearrangement` 參數中的指示傳遞給 `CreateDataSourceFromS3`、`CreateDataSourceFromRedshift` 或 `CreateDataSourceFromRDS` API。DataRearrangement 字串的內容是包含資料開始和結束位置的 JSON 字串 (以百分比表示)、補充旗標和分割策略。例如，下列 DataRearrangement 字串指定資料的前 70% 將用來建立資料來源：

```
{
    "splitting": {
        "percentBegin": 0,
        "percentEnd": 70,
        "complement": false,
        "strategy": "sequential"
    }
}
```

## DataRearrangement 參數
<a name="data-rearrangement-terms"></a>

若要變更 Amazon ML 建立資料來源的方式，請使用下列參數。

**PercentBegin (選用)**  
使用 `percentBegin` 指出資料來源的資料開始位置。如果您未包含 `percentBegin`和 `percentEnd`，Amazon ML 會在建立資料來源時包含所有資料。  
有效值為 `0` 到 `100` (含)。

**PercentEnd (選用)**  
使用 `percentEnd` 指出資料來源的資料結束位置。如果您未包含 `percentBegin`和 `percentEnd`，Amazon ML 會在建立資料來源時包含所有資料。  
有效值為 `0` 到 `100` (含)。

**Complement (選用)**  
`complement` 參數會指示 Amazon ML 使用 到 範圍中未包含的資料`percentBegin``percentEnd`來建立資料來源。如果您需要建立補充資料來源來進行培訓和評估，則 `complement` 參數十分有用。若要建立補充資料來源，請使用相同的 `percentBegin` 和 `percentEnd` 值，以及 `complement` 參數。  
例如，下列兩個資料來源不共用任何資料，而且可以用來培訓和評估模型。第一個資料來源有 25% 的資料，而第二個資料來源有 75% 的資料。  
評估的資料來源：  

```
{
    "splitting":{
        "percentBegin":0, 
        "percentEnd":25
    }
}
```
培訓的資料來源：  

```
{
    "splitting":{
        "percentBegin":0, 
        "percentEnd":25, 
        "complement":"true"
    }
}
```
有效值為 `true` 和 `false`。

**Strategy (選用)**  
若要變更 Amazon ML 分割資料來源資料的方式，請使用 `strategy` 參數。  
`strategy` 參數的預設值為 `sequential`，這表示 Amazon ML 會依記錄出現在輸入資料中的順序，取得資料來源 `percentBegin`和 `percentEnd` 參數之間的所有資料記錄  
下列兩行 `DataRearrangement` 是循序排序培訓和評估資料來源範例：  
評估的資料來源：`{"splitting":{"percentBegin":70, "percentEnd":100, "strategy":"sequential"}}`  
培訓的資料來源：`{"splitting":{"percentBegin":70, "percentEnd":100, "strategy":"sequential", "complement":"true"}}`  
若要透過隨機選取資料來建立資料來源，請將 `strategy` 參數設定為 `random`，並提供一個字串，用作進行隨機資料分割的種子值 (例如，您可以使用資料的 S3 路徑作為隨機種子字串)。如果您選擇隨機分割策略，Amazon ML 會為每個資料列指派虛擬隨機號碼，然後選取指派號碼介於 `percentBegin`和 之間的資料列`percentEnd`。虛擬亂數是使用位元組位移作為種子進行指派，因此變更資料會導致不同的分割。保留任何現有排序。隨機分割策略確保以類似的方式分佈培訓和評估資料中的變數。它適用於輸入資料可能有隱含排序順序時，這可能會導致包含非類似資料記錄的培訓和評估資料來源。  
下列兩行 `DataRearrangement` 是非循序排序培訓和評估資料來源範例：  
評估的資料來源：  

```
{
    "splitting":{
        "percentBegin":70, 
        "percentEnd":100, 
        "strategy":"random", 
        "strategyParams": {
            "randomSeed":"RANDOMSEED"
        }
    }
}
```
培訓的資料來源：  

```
{
    "splitting":{
        "percentBegin":70, 
        "percentEnd":100, 
        "strategy":"random", 
        "strategyParams": {
            "randomSeed":"RANDOMSEED"
        }
        "complement":"true"
    }
}
```
有效值為 `sequential` 和 `random`。

**(選用) Strategy:RandomSeed**  
Amazon ML 使用 **randomSeed** 來分割資料。API 的預設種子是空字串。若要指定隨機分割策略的種子，請傳入字串。如需隨機種子的詳細資訊，請參閱《*Amazon Machine Learning 開發人員指南*[隨機分割資料](splitting-types.md#random-splitting)》中的 。

如需示範如何搭配 Amazon ML 使用跨驗證的範例程式碼，請前往 [Github Machine Learning Samples](https://github.com/awslabs/machine-learning-samples)。