Création d'un jeu de données et d'un schéma - Amazon Personalize

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un jeu de données et d'un schéma

Une fois que vous avez terminéÉtape 1 : Création d'un groupe de jeux de données, vous êtes prêt à créer un jeu de données. Les ensembles de données sont des conteneurs Amazon Personalize pour les données. Lorsque vous créez un jeu de données, vous créez également un schéma pour le jeu de données. Un schéma indique à Amazon Personalize la structure de vos données et permet à Amazon Personalize d'analyser les données.

Vous créez des ensembles de données à l'aide de la console Amazon Personalize AWS Command Line Interface (AWS CLI) ou des AWS SDK. Vous ne pouvez pas créer les meilleures ressources d'action suivantes, notamment les ensembles de données d'actions et d'interactions d'action, dans un groupe de jeux de données de domaine. Pour plus d'informations sur les différents types de jeux de données, ainsi que sur les exigences relatives aux ensembles de données et aux schémas, consultezEnsembles de données et schémas.

Création d'un jeu de données et d'un schéma (console)

S'il s'agit du premier jeu de données de votre groupe de jeux de données, votre premier type de jeu de données sera un jeu de données d'interactions entre éléments. Pour créer votre jeu de données d'interactions Item dans la console, spécifiez le nom du jeu de données, puis spécifiez un schéma JSON au format Avro. S'il ne s'agit pas du premier jeu de données de ce groupe de jeux de données, choisissez le type de jeu de données, puis spécifiez un nom et un schéma.

Pour plus d'informations sur les ensembles de données Amazon Personalize et les exigences relatives aux schémas, consultezEnsembles de données et schémas.

Note

Si vous venez de terminer Étape 1 : Création d'un groupe de jeux de données et que vous êtes déjà en train de créer votre jeu de données, passez à l'étape 4 de cette procédure.

Pour créer un jeu de données et un schéma
  1. Ouvrez la console Amazon Personalize à l'adresse https://console.aws.amazon.com/personalize/home et connectez-vous à votre compte.

  2. Sur la page Groupes de jeux de données, choisissez le groupe de jeux de données dans lequel vous avez crééÉtape 1 : Création d'un groupe de jeux de données.

  3. Dans Configurer des ensembles de données, choisissez Créer un ensemble de données et choisissez le type de jeu de données à créer.

  4. Choisissez Importer les données directement dans les ensembles de données Amazon Personalize, puis Next.

  5. Dans Détails du jeu de données, dans Nom du jeu de données, spécifiez le nom de votre ensemble de données.

  6. Dans Détails du schéma, pour la sélection du schéma, choisissez un schéma existant ou choisissez Créer un nouveau schéma.

  7. Si vous créez un nouveau schéma, pour la définition du schéma, collez le JSON du schéma qui correspond à vos données. Utilisez les exemples ci-dessous Schémas comme guide. Une fois que vous avez créé un schéma, vous ne pouvez pas le modifier.

  8. Pour New schema name (Nom du nouveau schéma), spécifiez un nom pour le nouveau schéma.

  9. Pour les balises, ajoutez éventuellement des balises. Pour plus d'informations sur le balisage des ressources Amazon Personalize, consultezMarquer les ressources Amazon Personalize.

  10. Choisissez Next et suivez les instructions Préparation et importation de données en masse pour importer vos données.

Création d'un jeu de données et d'un schéma (AWS CLI)

Pour créer un ensemble de données et un schéma à l'aide de AWS CLI, vous devez d'abord définir un schéma au format Avro et l'ajouter à Amazon Personalize à l'aide de l'CreateSchemaopération. Créez ensuite un ensemble de données à l'aide de l'CreateDatasetopération. Pour plus d'informations sur les ensembles de données Amazon Personalize et les exigences relatives aux schémas, consultezEnsembles de données et schémas.

Pour créer un schéma et un jeu de données
  1. Créez un fichier de schéma au format Avro et enregistrez-le en tant que fichier JSON. Ce fichier doit être basé sur le type de jeu de données, tel que Interactions, que vous créez.

    Le schéma doit correspondre aux colonnes de vos données et name il doit correspondre à l'un des types de jeux de données reconnus par Amazon Personalize. Voici un exemple de schéma de jeu de données minimal sur les interactions entre éléments. Pour obtenir plus d’exemples, consultez Schémas.

    { "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. Créez un schéma dans Amazon Personalize en exécutant la commande suivante. Une fois que vous avez créé un schéma, vous ne pouvez pas le modifier. Remplacez schemaName par le nom du schéma, puis file://SchemaName.json par l'emplacement du fichier JSON que vous avez créé à l'étape précédente. L'exemple montre que le fichier appartient au dossier actif.

    Si vous créez une structure pour un jeu de données dans un groupe de jeux de données de domaine, ajoutez le domain paramètre et définissez-le sur ECOMMERCE ouVIDEO_ON_DEMAND. Pour plus d’informations sur l’API, consultez CreateSchema.

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

    Le schéma Amazon Resource Name (ARN) s'affiche, comme illustré dans l'exemple suivant :

    { "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/SchemaName" }
  3. Créez un ensemble de données vide en exécutant la commande suivante. Indiquez le nom de ressource Amazon (ARN) du groupe de données Création d'un groupe de jeux de données (AWS CLI) et l'ARN du schéma de l'étape précédente. Les valeurs de type d'ensemble de données peuvent être Interactions UsersItems,Actions,, ouAction_Interactions. Pour plus d’informations sur l’API, consultez CreateDataset.

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

    L'ARN du jeu de données est affiché, comme indiqué dans l'exemple suivant.

    { "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetName/INTERACTIONS" }
  4. Enregistrez l'ARN du jeu de données pour une utilisation ultérieure. Après avoir créé un jeu de données, vous êtes prêt à importer vos données d'entraînement. veuillez consulter Préparation et importation de données en masse.

Création d'un jeu de données et d'un schéma (AWS SDK)

Pour créer un ensemble de données et un schéma à l'aide AWS des SDK, vous devez d'abord définir un schéma au format Avro et l'ajouter à Amazon Personalize à l'aide de l'CreateSchemaopération. Une fois que vous avez créé un schéma, vous ne pouvez pas le modifier. Créez ensuite un ensemble de données à l'aide de l'CreateDatasetopération. Pour plus d'informations sur les ensembles de données Amazon Personalize et les exigences relatives aux schémas, consultezEnsembles de données et schémas.

Pour créer un schéma et un jeu de données
  1. Créez un fichier de schéma au format Avro et enregistrez-le sous forme de fichier JSON dans votre répertoire de travail.

    Le schéma doit correspondre aux colonnes de vos données et le schéma name doit correspondre à un type de jeu de données reconnu par Amazon Personalize. Voici un exemple de schéma de jeu de données minimal sur les interactions entre éléments. Pour obtenir plus d’exemples, consultez Schémas.

    { "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. Créez un schéma avec le code suivant. Spécifiez le nom de votre schéma et le chemin du fichier JSON de schéma.

    Si vous créez une structure pour un jeu de données dans un groupe de jeux de données de domaine, ajoutez le domain paramètre et définissez-le sur ECOMMERCE ouVIDEO_ON_DEMAND. Pour plus d’informations sur l’API, consultez 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 renvoie l'ARN du nouveau schéma. Enregistrez-le car vous en aurez besoin à l'étape suivante.

  3. Créez un ensemble de données à l'aide de l'CreateDatasetopération. Le code suivant montre comment créer un ensemble de données. Spécifiez le nom de ressource Amazon (ARN) de votre groupe de jeux de données, l'ARN du schéma de l'étape précédente et spécifiez le type de jeu de données. Les valeurs de type d'ensemble de données peuvent être Interactions UsersItems,Actions,, ouAction_Interactions. Pour plus d'informations sur les différents types de jeux de données, consultezEnsembles de données et schémas.

    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();

    Après avoir créé un jeu de données, vous êtes prêt à importer vos données d'entraînement. veuillez consulter Préparation et importation de données en masse.