本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建推荐人时,您可以修改 Amazon Personalize 在训练支持推荐者的模型时考虑的列。
您可以这样做,以试验不同的训练数据组合;也可以排除无有意义数据的列。例如,可能有一列,您只想将其用来筛选建议。您可以将此列排除在训练之外,Amazon Personalize 只有在筛选时才会考虑该列。
您不能排除 EVENT _ TYPE 列。默认情况下,Amazon Personalize 使用可在训练时采用的所有列。训练中始终不包括以下数据:
-
数据类型为布尔值的列
-
展示次数数据
-
不是分类或文本的自定义字符串字段
您不能在培训中包含展示次数数据,但是如果您的用例或方法使用了这些数据,Amazon Personalize 会在您获得推荐时使用展示量数据来指导探索。
以下代码示例显示了如何配置使用训练时使用的列 AWS CLI 或者 AWS SDKs。要使用 Amazon Personalize 控制台执行此操作,请在创建推荐器时在 “高级配置” 页面上指定要使用的列。有关更多信息,请参阅 创建推荐器(控制台)。
要将列排除在训练之外,请在推荐器配置期间,在 trainingDataConfig
中提供 excludedDatasetColumns
对象。对于对象中的每个键,提供数据集类型。对于每个值,提供要排除的列的列表。有关更多信息,请参阅 配置创建 Amazon Personalize 域名推荐器时使用的列。
aws personalize create-recommender \
--name recommender name
\
--dataset-group-arn dataset group ARN
\
--recipe-arn recipe ARN
\
--recommender-config "{\"trainingDataConfig\": {\"excludedDatasetColumns\": { \"datasetType
\" : [ \"column1Name
\", \"column2Name
\"]}}}"
要将列排除在训练之外,请在推荐器配置期间,在 trainingDataConfig
中提供 excludedDatasetColumns
对象。对于每个键,提供数据集类型。对于每个值,提供要排除的列的列表。以下代码显示了如何在创建推荐器时将列排除在训练之外。有关更多信息,请参阅 配置创建 Amazon Personalize 域名推荐器时使用的列。
- 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();