Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erste Schritte mit einer Domain-Datensatzgruppe (SDKfür Python (Boto3))
Dieses Tutorial zeigt Ihnen, wie Sie SDK for Python (Boto3) verwenden, um eine Domain-Datensatzgruppe für die Domäne VIDEO DEMAND _ON_ zu erstellen. In diesem Tutorial erstellen Sie eine Empfehlung für die Top-Picks für Ihren Anwendungsfall.
Wenn Sie die Übung Erste Schritte abgeschlossen haben, löschen Sie die Ressourcen, die Sie erstellt haben, um unnötige Kosten zu vermeiden. Weitere Informationen finden Sie unter Anforderungen für das Löschen von Amazon Personalize Personalize-Ressourcen.
Themen
Voraussetzungen
Im Folgenden werden die Voraussetzungen für die Verwendung der Python-Beispiele in diesem Handbuch erläutert:
-
Füllen Sie das ausVoraussetzungen für den Einstieg, um die erforderlichen Berechtigungen einzurichten und die Trainingsdaten zu erstellen. Wenn Sie Ihre eigenen Quelldaten verwenden, stellen Sie sicher, dass Ihre Daten wie in den Voraussetzungen beschrieben formatiert sind.
-
Richten Sie Ihre AWS SDK for Python (Boto3) Umgebung wie unter beschrieben ein. Einrichtung der AWS SDKs
Tutorial
In den folgenden Schritten verifizieren Sie Ihre Umgebung und erstellen Clients SDK für Python (Boto3) für Amazon Personalize. Anschließend importieren Sie Daten, erstellen eine Empfehlung für den für Sie am besten geeigneten Anwendungsfall und erhalten Empfehlungen.
Wenn Sie die Schritte für die Voraussetzungen abgeschlossen haben, führen Sie das folgende Python-Beispiel aus, um zu überprüfen, ob Ihre Umgebung korrekt konfiguriert ist. Dieser Code erstellt auch die Amazon Personalize Personalize-Boto3-Clients, die Sie in diesem Tutorial verwenden. Wenn Ihre Umgebung korrekt konfiguriert ist, wird eine Liste der verfügbaren Rezepte angezeigt, und Sie können die anderen Beispiele in diesem Tutorial ausführen.
import boto3 personalizeRt = boto3.client('personalize-runtime') personalize = boto3.client('personalize') response = personalize.list_recipes() for recipe in response['recipes']: print (recipe)
Nachdem Sie Amazon Personalize Boto3-Clients erstellt und Ihre Umgebung verifiziert haben, importieren Sie die historischen Daten, die Sie beim Abschluss des erstellt haben. Voraussetzungen für den Einstieg Gehen Sie wie folgt vor, um historische Daten in Amazon Personalize zu importieren:
-
Verwenden Sie den folgenden Code, um ein Schema in Amazon Personalize zu erstellen.
gs-domain-interactions-schema
Ersetzen Sie es durch einen Namen für das Schema.import json schema = { "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "EVENT_TYPE", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" } create_interactions_schema_response = personalize.create_schema( name='
gs-domain-interactions-schema
', schema=json.dumps(schema), domain='VIDEO_ON_DEMAND' ) interactions_schema_arn = create_interactions_schema_response['schemaArn'] print(json.dumps(create_interactions_schema_response, indent=2)) -
Erstellen Sie eine Dataset-Gruppe mit dem folgenden Code.
dataset group name
Durch einen Namen für die Datensatzgruppe ersetzen.response = personalize.create_dataset_group( name = '
dataset group name
', domain = 'VIDEO_ON_DEMAND' ) dsg_arn = response['datasetGroupArn'] description = personalize.describe_dataset_group(datasetGroupArn = dsg_arn)['datasetGroup'] print('Name: ' + description['name']) print('ARN: ' + description['datasetGroupArn']) print('Status: ' + description['status']) -
Erstellen Sie einen Datensatz mit Artikelinteraktionen in Ihrer neuen Datensatzgruppe mit dem folgenden Code. Geben Sie dem Datensatz einen Namen und geben Sie die
schema_arn
Daten unddataset_group_arn
aus den vorherigen Schritten an.response = personalize.create_dataset( name = '
interactions-dataset-name
', schemaArn = interactions_schema_arn, datasetGroupArn = dsg_arn, datasetType = 'INTERACTIONS' ) dataset_arn = response['datasetArn'] -
Importieren Sie Ihre Daten mit einem Datensatz-Importjob mit dem folgenden Code. Der Code verwendet die Methode describe_dataset_import_job, um den Status des Jobs zu verfolgen.
Übergeben Sie Folgendes als Parameter: einen Namen für den Job, den Namen
dataset_arn
aus dem vorherigen Schritt, den Amazon S3 S3-Bucket-Pfad (s3://
), in dem Sie die Trainingsdaten gespeichert haben, und Ihre IAM ServicerollenARN. Sie haben diese Rolle als Teil von erstelltVoraussetzungen für den Einstieg. Amazon Personalize benötigt eine Genehmigung für den Zugriff auf den Bucket. Informationen zur Gewährung von Zugriff finden Sie unterAmazon Personalize Zugriff auf Amazon S3 S3-Ressourcen gewähren.bucket name
/folder name
/ratings.csvimport time response = personalize.create_dataset_import_job( jobName = '
JobName
', datasetArn = 'dataset_arn
', dataSource = {'dataLocation':'s3://amzn-s3-demo-bucket
/filename
.csv'}, roleArn = 'role_arn
' ) dataset_interactions_import_job_arn = response['datasetImportJobArn'] description = personalize.describe_dataset_import_job( datasetImportJobArn = dataset_interactions_import_job_arn)['datasetImportJob'] print('Name: ' + description['jobName']) print('ARN: ' + description['datasetImportJobArn']) print('Status: ' + description['status']) max_time = time.time() + 3*60*60 # 3 hours while time.time() < max_time: describe_dataset_import_job_response = personalize.describe_dataset_import_job( datasetImportJobArn = dataset_interactions_import_job_arn ) status = describe_dataset_import_job_response["datasetImportJob"]['status'] print("Interactions DatasetImportJob: {}".format(status)) if status == "ACTIVE" or status == "CREATE FAILED": break time.sleep(60)
Nachdem Ihr Datensatz-Importjob abgeschlossen ist, können Sie eine Empfehlung erstellen. Verwenden Sie den folgenden Code, um einen Empfehlungsgeber zu erstellen. Übergeben Sie Folgendes als Parameter: einen Namen für den Empfehlungsgeber, den Amazon-Ressourcennamen (ARN) Ihrer Datensatzgruppe und arn:aws:personalize:::recipe/aws-vod-top-picks
für das RezeptARN. Der Code verwendet die Methode describe_recommender, um den Status des Empfehlungsgebers zu verfolgen.
import time create_recommender_response = personalize.create_recommender( name = 'gs-python-top-picks', recipeArn = 'arn:aws:personalize:::recipe/aws-vod-top-picks', datasetGroupArn = dsg_arn ) recommender_arn = create_recommender_response['recommenderArn'] print('Recommender ARN:' + recommender_arn) max_time = time.time() + 3*60*60 # 3 hours while time.time() < max_time: version_response = personalize.describe_recommender( recommenderArn = recommender_arn ) status = version_response["recommender"]["status"] if status == "ACTIVE": print("Creation succeeded for {}".format(recommender_arn)) elif status == "CREATE FAILED": print("Creation failed for {}".format(recommender_arn)) if status == "ACTIVE": break else: print("Recommender creation is still in progress") time.sleep(60)
Nachdem Sie einen Empfehlungsgeber erstellt haben, verwenden Sie ihn, um Empfehlungen mit dem folgenden Code abzurufen. Übergeben Sie als Parameter den Amazon-Ressourcennamen (ARN) des Empfehlungsgebers, den Sie im vorherigen Schritt erstellt haben, und eine Benutzer-ID (z. B.123
). Die Methode druckt die Liste der empfohlenen Artikel.
response = personalizeRt.get_recommendations( recommenderArn = "arn:aws:personalize:us-west-2:014025156336:recommender/gs-python-top-picks-89", userId = '123' ) print("Recommended items") for item in response['itemList']: print (item['itemId'])
Erste Schritte mit Amazon Personalize APIs mit Jupyter () -Notebooks iPython
Um mit der Erstellung von Domain-Datensatzgruppen mit Jupyter-Notizbüchern zu beginnen, klonen oder laden Sie eine Reihe von Notizbüchern herunter, die sich im Ordner notebooks_managed_domains