AWS personalize默认在训练时只考虑最流行的1000个物品,可以通过修改超参数来增加上限。具体操作可参考以下代码示例:
# 创建超参数
hpo_params = {
"recipe": "sims",
"feature_transformation_parameters": {
"max_items_per_user": "50"
},
"stop_conditions": {
"max_runtime_seconds": 600
}
}
# 创建HPO实例并启动训练
hpo = personalize.HPO(
role_arn=ROLE_ARN,
algorithm_selection_strategy='CUSTOM',
hpo_resource_config=hpo_config,
resource_config=resource_config,
stopping_condition=stopping_condition,
hyper_parameter_ranges=hyper_parameter_ranges,
strategy='Bayesian',
)
hpo.optimize()
其中,在feature_transformation_parameters参数中,max_items_per_user表示训练时考虑每个用户的最大物品数,可以根据需要自行调整。