Creación de un conjunto de datos y un esquema - Amazon Personalize

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de un conjunto de datos y un esquema

Una vez haya terminado Paso 1: Creación de un grupo de conjunto de datos, estará listo para crear un conjunto de datos. Los conjuntos de datos son contenedores para datos de Amazon Personalize. Cuando crea un conjunto de datos, también crea un esquema para el conjunto de datos. Un esquema informa a Amazon Personalize de la estructura de sus datos y permite que Amazon Personalize analice los datos.

Los conjuntos de datos se crean con la consola de Amazon Personalize, AWS Command Line Interface (AWS CLI) o con los SDK de AWS. Para obtener más información sobre los distintos tipos de conjunto de datos, así como los requisitos de conjuntos de datos y esquemas, consulte Conjuntos de datos y esquemas.

Creación de un conjunto de datos y un esquema (consola)

Si este es el primer conjunto de datos de su grupo de conjuntos de datos, su primer tipo de conjunto de datos será un conjunto de datos de interacciones de elementos. Para crear el conjunto de datos de interacciones de elementos en la consola, especifique el nombre del conjunto de datos y, a continuación, especifique un esquema JSON en formato Avro. Si no es el primer conjunto de datos de este grupo de conjuntos de datos, elija el tipo de conjunto de datos y, a continuación, especifique un nombre y un esquema.

Para obtener información sobre los requisitos de esquemas y conjuntos de datos de Amazon Personalize, consulte Conjuntos de datos y esquemas.

nota

Si acaba de completar Paso 1: Creación de un grupo de conjunto de datos y ya está creando el conjunto de datos, vaya al paso 4 de este procedimiento.

Para crear un conjunto de datos y un esquema
  1. Abra la consola de Amazon Personalize en https://console.aws.amazon.com/personalize/home e inicie sesión en su cuenta.

  2. En la página Grupos de conjuntos de datos, elija el grupo de conjuntos de datos que creó en Paso 1: Creación de un grupo de conjunto de datos.

  3. En Configurar conjuntos de datos, elija Crear conjunto de datos y seleccione el tipo de conjunto de datos que quiera crear.

  4. Elija Importar datos directamente a los conjuntos de datos de Amazon Personalize y elija Siguiente.

  5. En Detalles del conjunto de datos, en Nombre del conjunto de datos, especifique un nombre para el conjunto de datos.

  6. En Detalles del esquema, en Selección del esquema, haga clic en Crear nuevo esquema.

  7. Si va a crear un esquema nuevo, en Definición del esquema, pegue el JSON del esquema que coincida con sus datos. Utilice los ejemplos que se encuentran en Schemas como guía. Una vez que se haya creado un esquema, no se podrán realizar cambios en él.

  8. En Nuevo nombre de esquema, especifique un nombre para el nuevo esquema.

  9. Parar Etiquetas, si lo desea, añada cualquier etiqueta. Para obtener más información acerca del etiquetado de recursos de Amazon Personalize, consulte Etiquetado de recursos de Amazon Personalize.

  10. Elija Siguiente y siga las instrucciones de Preparación e importación de datos masivos para importar los datos.

Creación de un conjunto de datos y un esquema (AWS CLI)

Para crear un conjunto de datos y un esquema mediante el AWS CLI, primero debe definir un esquema en formato Avro y añadirlo a Amazon Personalize mediante la operación CreateSchema. A continuación, cree un conjunto de datos mediante la operación CreateDataset. Para obtener información sobre los requisitos de esquemas y conjuntos de datos de Amazon Personalize, consulte Conjuntos de datos y esquemas.

Para crear un esquema y un conjunto de datos
  1. Cree un archivo de esquema en formato Avro y guárdelo como archivo JSON. Este archivo debe basarse en el tipo de conjunto de datos, como las interacciones, que vaya a crear.

    El esquema debe coincidir con las columnas de sus datos y el valor name del esquema debe coincidir con uno de los tipos de conjuntos de datos reconocidos por Amazon Personalize. A continuación, se muestra un ejemplo de un esquema de conjunto de datos de interacciones de elementos mínimo. Para obtener más ejemplos, consulte Schemas.

    { "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }
  2. Ejecute el siguiente comando para crear un esquema en Amazon Personalize. Una vez que se haya creado un esquema, no se podrán realizar cambios en él. Reemplace schemaName por el nombre del esquema y file://SchemaName.json por la ubicación del archivo JSON que ha creado en el paso anterior. En el ejemplo, el archivo pertenece a la carpeta actual.

    Si va a crear un esquema para un conjunto de datos en un grupo de conjunto de datos de dominio, debe agregar el parámetro domain y establecerlo en ECOMMERCE o VIDEO_ON_DEMAND. Para obtener más información sobre la API, consulte CreateSchema.

    aws personalize create-schema \ --name SchemaName \ --schema file://SchemaName.json

    Se muestra el nombre de recurso de Amazon (ARN) del esquema, como se muestra en el siguiente ejemplo:

    { "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/SchemaName" }
  3. Ejecute el siguiente comando para crear un conjunto de datos vacío. Proporcione el grupo de conjunto de datos del que proviene el nombre de recurso de Amazon (ARN) Creación de un grupo de conjuntos de datos (AWS CLI) y el esquema de ARN del paso anterior. Los valores del tipo de conjunto de datos pueden ser Interactions, Users, Items, Actions o Action_Interactions. Para obtener más información sobre la API, consulte CreateDataset.

    aws personalize create-dataset \ --name Dataset Name \ --dataset-group-arn Dataset Group ARN \ --dataset-type Dataset Type \ --schema-arn Schema Arn

    Se muestra el ARN del conjunto de datos, tal como se muestra en el ejemplo siguiente.

    { "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetName/INTERACTIONS" }
  4. Registre el ARN del conjunto de datos para su uso posterior. Una vez que haya creado un conjunto de datos, estará listo para importar sus datos de entrenamiento. Consulte Preparación e importación de datos masivos.

Creación de un conjunto de datos y un esquema (SDK de AWS)

Para crear un conjunto de datos y un esquema con los SDK de AWS, primero debe definir un esquema en formato Avro y añadirlo a Amazon Personalize mediante la operación CreateSchema. Una vez que se haya creado un esquema, no se podrán realizar cambios en él. A continuación, cree un conjunto de datos mediante la operación CreateDataset. Para obtener información sobre los requisitos de esquemas y conjuntos de datos de Amazon Personalize, consulte Conjuntos de datos y esquemas.

Para crear un esquema y un conjunto de datos
  1. Cree un archivo de esquema en formato Avro y guárdelo como archivo JSON en su directorio de trabajo.

    El esquema debe coincidir con las columnas de sus datos y el name de esquema debe coincidir con uno de los tipos de conjuntos de datos reconocidos por Amazon Personalize. A continuación, se muestra un ejemplo de un esquema de conjunto de datos de interacciones de elementos mínimo. Para obtener más ejemplos, consulte Schemas.

    { "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" }
  2. Cree un esquema con el siguiente código. Especifique el nombre de su esquema y la ruta del archivo JSON del esquema.

    Si va a crear un esquema para un conjunto de datos en un grupo de conjunto de datos de dominio, debe agregar el parámetro domain y establecerlo en ECOMMERCE o VIDEO_ON_DEMAND. Para obtener más información sobre la API, consulte CreateSchema.

    SDK for Python (Boto3)
    import boto3 personalize = boto3.client('personalize') with open('schemaFile.json') as f: createSchemaResponse = personalize.create_schema( name = 'schema name', schema = f.read() ) schema_arn = createSchemaResponse['schemaArn'] print('Schema ARN:' + schema_arn )
    SDK for Java 2.x
    public static String createSchema(PersonalizeClient personalizeClient, String schemaName, String filePath) { String schema = null; try { schema = new String(Files.readAllBytes(Paths.get(filePath))); } catch (IOException e) { System.out.println(e.getMessage()); } try { CreateSchemaRequest createSchemaRequest = CreateSchemaRequest.builder() .name(schemaName) .schema(schema) .build(); String schemaArn = personalizeClient.createSchema(createSchemaRequest).schemaArn(); System.out.println("Schema arn: " + schemaArn); return schemaArn; } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
    SDK for JavaScript v3
    // Get service clients module and commands using ES6 syntax. import { CreateSchemaCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); import fs from 'fs'; let schemaFilePath = "SCHEMA_PATH"; let mySchema = ""; try { mySchema = fs.readFileSync(schemaFilePath).toString(); } catch (err) { mySchema = 'TEST' // For unit tests. } // Set the schema parameters. export const createSchemaParam = { name: 'NAME', /* required */ schema: mySchema /* required */ }; export const run = async () => { try { const response = await personalizeClient.send(new CreateSchemaCommand(createSchemaParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

    Amazon Personalize devuelve el ARN del nuevo esquema. Anote el valor, ya que lo necesitará en el siguiente paso.

  3. Cree un conjunto de datos utilizando la operación CreateDataset. El código siguiente muestra cómo crear un conjunto de datos. Especifique el nombre de recurso de Amazon (ARN) de su grupo de conjuntos de datos, el ARN del esquema del paso anterior y especifique el tipo de conjunto de datos. Los valores del tipo de conjunto de datos pueden ser Interactions, Users, Items, Actions o Action_Interactions. Para obtener información sobre los distintos tipos de conjuntos de datos, consulte Conjuntos de datos y esquemas.

    SDK for Python (Boto3)
    import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset( name = 'dataset_name', schemaArn = 'schema_arn', datasetGroupArn = 'dataset_group_arn', datasetType = 'dataset_type' ) print ('Dataset Arn: ' + response['datasetArn'])
    SDK for Java 2.x
    public static String createDataset(PersonalizeClient personalizeClient, String datasetName, String datasetGroupArn, String datasetType, String schemaArn) { try { CreateDatasetRequest request = CreateDatasetRequest.builder() .name(datasetName) .datasetGroupArn(datasetGroupArn) .datasetType(datasetType) .schemaArn(schemaArn).build(); String datasetArn = personalizeClient.createDataset(request).datasetArn(); System.out.println("Dataset " + datasetName + " created. Dataset ARN: " + datasetArn); return datasetArn; } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }
    SDK for JavaScript v3
    // Get service clients module and commands using ES6 syntax. import { CreateDatasetCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the dataset's parameters. export const createDatasetParam = { datasetGroupArn: 'DATASET_GROUP_ARN', /* required */ datasetType: 'DATASET_TYPE', /* required */ name: 'NAME', /* required */ schemaArn: 'SCHEMA_ARN' /* required */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateDatasetCommand(createDatasetParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();

    Una vez que haya creado un conjunto de datos, estará listo para importar sus datos de entrenamiento. Consulte Preparación e importación de datos masivos.