在AWS Personalize中,数据集失败的原因可能是由于交互次数少于1000次造成的。为了解决这个问题,你可以使用以下代码示例:
import boto3
# 创建personalize客户端
personalize = boto3.client('personalize')
# 创建数据集组
response = personalize.create_dataset_group(
name='my-dataset-group'
)
# 获取数据集组的ARN
dataset_group_arn = response['datasetGroupArn']
# 创建数据集
response = personalize.create_dataset(
name='my-dataset',
datasetType='INTERACTIONS',
datasetGroupArn=dataset_group_arn
)
# 获取数据集的ARN
dataset_arn = response['datasetArn']
# 创建数据集导入作业
response = personalize.create_dataset_import_job(
jobName='my-dataset-import-job',
datasetArn=dataset_arn,
dataSource={
'dataLocation': 's3://my-bucket/my-data.csv'
}
)
# 等待数据集导入作业完成
status = None
while status not in ['ACTIVE', 'CREATE FAILED']:
response = personalize.describe_dataset_import_job(
jobArn=response['datasetImportJobArn']
)
status = response['datasetImportJob']['status']
print('Dataset import job status:', status)
if status == 'ACTIVE':
print('Dataset import job completed successfully.')
elif status == 'CREATE FAILED':
print('Dataset import job failed.')
break
在上述示例代码中,首先创建了一个数据集组(dataset group),然后创建了一个交互数据集(interactions dataset),并指定了数据集组的ARN。接下来,创建了一个数据集导入作业(dataset import job),并指定了数据集的ARN和数据源的位置。
最后,使用循环来等待数据集导入作业的完成状态。如果作业的状态为“ACTIVE”,则表示数据集导入成功。如果作业的状态为“CREATE FAILED”,则表示数据集导入失败。
你可以根据自己的需求修改代码中的参数和配置,并根据实际情况进行适当的调整。