

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

# 設定建立 Amazon Personalize 網域建議程式時使用的資料欄
<a name="create-recommender-configure-columns"></a>

當您建立推薦者時，您可以修改 Amazon Personalize 在訓練支援推薦者的模型時所考量的資料欄。

 您可以這樣做來實驗訓練資料的不同組合。或者，您可以在沒有有意義的資料的情況下排除資料欄。例如，您可能有一個欄，只想用來篩選建議。您可以將此欄排除在訓練之外，Amazon Personalize 只會在篩選時考慮此欄。

您無法排除 EVENT\_TYPE 資料欄。根據預設，Amazon Personalize 會使用可在訓練時使用的所有資料欄。下列資料一律會排除在訓練之外：
+ 具有布林值資料類型的資料欄
+ [印象資料](interactions-datasets.md#interactions-impressions-data)
+ 非分類或文字的自訂字串欄位

 您無法在訓練中包含印模資料，但如果您的使用案例或配方使用印模資料，Amazon Personalize 會在您取得建議時使用印模資料來引導探勘。

下列程式碼範例示範如何使用 AWS CLI 或 AWS SDKs 設定訓練時使用的資料欄。若要使用 Amazon Personalize 主控台執行此操作，請在建立建議程式時，在**進階組態**頁面上指定要使用的資料欄。如需詳細資訊，請參閱[建立推薦者 （主控台）](creating-domain-recommenders.md#creating-recommenders-console)。

## 設定訓練時使用的資料欄 (AWS CLI)
<a name="domain-config-columns-cli"></a>

若要將資料欄排除在訓練之外，請在 中提供 `excludedDatasetColumns` 物件`trainingDataConfig`做為建議程式組態的一部分。針對 物件中的每個金鑰，提供資料集類型。針對每個值，提供要排除的資料欄清單。如需詳細資訊，請參閱[設定建立 Amazon Personalize 網域建議程式時使用的資料欄](#create-recommender-configure-columns)。

```
aws personalize create-recommender \
--name {{recommender name}} \
--dataset-group-arn {{dataset group ARN}} \
--recipe-arn {{recipe ARN}} \
--recommender-config "{\"trainingDataConfig\": {\"excludedDatasetColumns\": { \"{{datasetType}}\" : [ \"{{column1Name}}\", \"{{column2Name}}\"]}}}"
```

## 設定訓練時使用的資料欄AWS SDKs)
<a name="domain-configure-columns-sdk"></a>

若要將資料欄排除在訓練之外，請在 中提供 `excludedDatasetColumns` 物件`trainingDataConfig`做為建議程式組態的一部分。針對每個金鑰，提供資料集類型。針對每個值，提供要排除的資料欄清單。下列程式碼示範如何在您建立建議者時將資料欄排除在訓練之外。如需詳細資訊，請參閱[設定建立 Amazon Personalize 網域建議程式時使用的資料欄](#create-recommender-configure-columns)。

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize = boto3.client('personalize')

create_recommender_response = personalize.create_recommender(
  name = '{{recommender name}}',
  recipeArn = '{{recipe name}}',
  datasetGroupArn = '{{dataset group ARN}}',
  recommenderConfig = {
    "trainingDataConfig": {
      "excludedDatasetColumns": { 
        "{{datasetType}}": ["{{COLUMN_A}}", "{{COLUMN_B}}"]
      }
    }
  }
)

recommender_arn = create_recommender_response['recommenderArn']

print('Recommender ARN:' + recommender_arn)
```

------
#### [ SDK for JavaScript v3 ]

```
// Get service clients and commands using ES6 syntax.
import { CreateRecommenderCommand, PersonalizeClient } from
  "@aws-sdk/client-personalize";

// create personalizeClient
const personalizeClient = new PersonalizeClient({
  region: "REGION"
});

// set the recommender's parameters
export const createRecommenderParam = {
  name: "RECOMMENDER_NAME",             /* required */
  recipeArn: "RECIPE_ARN",              /* required */
  datasetGroupArn: "DATASET_GROUP_ARN", /* required */
  recommenderConfig: {
    trainingDataConfig: {
      excludedDatasetColumns: {
        "DATASET_TYPE": ["COLUMN_A", "COLUMN_B"]   
      }
    }
  }
};

export const run = async () => {
  try {
    const response = await personalizeClient.send(new CreateRecommenderCommand(createRecommenderParam));
    console.log("Success", response);
    return response; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

------