

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

# 配置在创建 Amazon Personalize 域推荐器时使用的列
<a name="create-recommender-configure-columns"></a>

在创建推荐器时，您可以修改 Amazon Personalize 在训练支持推荐器的模型时考虑的列。

 您可以这样做，以试验不同的训练数据组合；也可以排除无有意义数据的列。例如，可能有一列，您只想将其用来筛选建议。您可以将此列排除在训练之外，Amazon Personalize 只有在筛选时才会考虑该列。

您无法排除 EVENT\$1TYPE 列。默认情况下，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>

要将列排除在训练之外，请在推荐器配置期间，在 `trainingDataConfig` 中提供 `excludedDatasetColumns` 对象。对于对象中的每个键，提供数据集类型。对于每个值，提供要排除的列的列表。有关更多信息，请参阅 [配置在创建 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>

要将列排除在训练之外，请在推荐器配置期间，在 `trainingDataConfig` 中提供 `excludedDatasetColumns` 对象。对于每个键，提供数据集类型。对于每个值，提供要排除的列的列表。以下代码显示了如何在创建推荐器时将列排除在训练之外。有关更多信息，请参阅 [配置在创建 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();
```

------