Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial ini menunjukkan cara menggunakan SDK for Python (Boto3) untuk membuat grup kumpulan data Domain untuk domain VIDEO_ON_DEMAND. Dalam tutorial ini, Anda membuat recommender untuk pilihan Top untuk kasus penggunaan Anda.
Untuk menghindari menimbulkan biaya yang tidak perlu, ketika Anda menyelesaikan latihan memulai ini menghapus sumber daya yang Anda buat dalam tutorial ini. Untuk informasi selengkapnya, lihat Membersihkan sumber daya.
Prasyarat
Berikut ini adalah langkah-langkah prasyarat untuk menggunakan contoh Python dalam panduan ini:
SelesaikanMemulai prasyarat untuk mengatur izin yang diperlukan dan buat data pelatihan. Jika Anda menggunakan data sumber Anda sendiri, pastikan bahwa data Anda diformat seperti di prasyarat.
SiapkanAWS SDK for Python (Boto3) lingkungan Anda seperti yang ditentukan dalamMenyiapkan AWS SDK.
Tutorial
Dalam langkah-langkah berikut, Anda memverifikasi lingkungan Anda dan membuat klien SDK for Python (Boto3) untuk Amazon Personalize. Kemudian Anda mengimpor data, membuat recommender untuk Pilihan teratas untuk kasus penggunaan Anda, dan mendapatkan rekomendasi.
Setelah Anda menyelesaikan prasyarat, jalankan contoh Python berikut untuk mengonfirmasi bahwa lingkungan Anda dikonfigurasi dengan benar. Kode ini juga membuat klien Amazon Personalize boto3 yang Anda gunakan dalam tutorial ini. Jika lingkungan Anda dikonfigurasi dengan benar, daftar resep yang tersedia akan ditampilkan dan Anda dapat menjalankan contoh lain dalam tutorial ini.
import boto3
personalizeRt = boto3.client('personalize-runtime')
personalize = boto3.client('personalize')
response = personalize.list_recipes()
for recipe in response['recipes']:
print (recipe)
Setelah Anda membuat klien Amazon Personalize boto3 dan memverifikasi lingkungan Anda, impor data historis yang Anda buat saat Anda menyelesaikanMemulai prasyarat. Untuk mengimpor data historis ke Amazon Personalize, lakukan hal berikut:
Gunakan kode berikut untuk membuat skema di Amazon Personalize. Gantigs-domain-interactions-schema
dengan nama untuk skema.
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))
Buat grup kumpulan data dengan kode berikut. Gantidataset group name
dengan nama untuk grup kumpulan data.
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'])
Buat kumpulan data Interaksi di grup kumpulan data baru Anda dengan kode berikut. Berikan dataset nama dan memberikanschema_arn
dan
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))
0 dari langkah-langkah sebelumnya.response = personalize.create_dataset(
name = 'interactions-dataset-name
',
schemaArn = interactions_schema_arn,
datasetGroupArn = dsg_arn,
datasetType = 'INTERACTIONS'
)
dataset_arn = response['datasetArn']
Impor data Anda dengan pekerjaan impor dataset dengan kode berikut. Kode menggunakan metode describe_dataset_import_job untuk melacak status pekerjaan.
Lulus yang berikut sebagai parameter: nama untuk pekerjaan,
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))
1 dari langkah sebelumnya, jalur bucket Amazon S3 (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))
2/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))
3/ratings.csv) tempat Anda menyimpan data pelatihan, dan ARN peran layanan IAM Anda. Anda menciptakan peran ini sebagai bagian dariMemulai prasyarat. Amazon Personalize memerlukan izin untuk mengakses bucket. Untuk informasi tentang pemberian akses, lihatMemberikan akses Amazon Personalize ke sumber daya Amazon S3.import time
response = personalize.create_dataset_import_job(
jobName = 'JobName
',
datasetArn = 'dataset_arn
',
dataSource = {'dataLocation':'s3://bucket/file.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)
Setelah pekerjaan impor dataset Anda selesai, Anda siap membuat recommender. Gunakan kode berikut untuk membuat recommender. Lulus berikut sebagai parameter: nama untuk pemberi rekomendasi, Amazon Resource Name (ARN) grup kumpulan data Anda, dan
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))
4 untuk ARN resep. Kode menggunakan metode describe_recommender untuk melacak status recommender.
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)
Setelah Anda membuat recommender, Anda menggunakannya untuk mendapatkan rekomendasi dengan kode berikut. Berikan Amazon Resource Name (ARN) dari yang Anda buat pada langkah sebelumnya, dan ID pengguna (misalnya) dari yang Anda buat pada langkah sebelumnya, dan ID pengguna (misalnya) dari yang Anda buat pada langkah sebelumnya, dan ID pengguna (misalnya
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))
5). Metode ini mencetak daftar item yang direkomendasikan.
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'])
Memulai menggunakan Amazon Personalize API dengan notebook Jupyter (iPython)
Untuk mulai membuat grup kumpulan data Domain dengan notebook Jupyter, kloning atau unduh serangkaian notebook yang ditemukan di folder notebooks_managed_domainsdari repositori sampel Amazon Personalize. Notebook memandu Anda mengimpor data pelatihan, membuat pemberi rekomendasi, dan mendapatkan rekomendasi dengan Amazon Personalize.
Sebelum memulai dengan notebook, pastikan untuk membangun lingkungan Anda mengikuti langkah-langkah di README.md
Apa itu JSON pada python?
JSON (JavaScript Object Notation) adalah format file berbasis teks yang umumnya digunakan dalam proses pertukaran data antara server dan klien. File JSON memiliki ekstensi .json serta menggunakan teks yang sama-sama bisa dibaca oleh manusia dan dipahami oleh komputer.
Apa itu Flask api?
Flask sendiri adalah sebuah microframework yang dapat digunakan dalam pembuatan web dengan bahasa pemrograman Python. Apabila Python belum terpasang, maka download Python lalu install di komputer. Buat virtual environment di komputer dengan membuka shell (command prompt) terlebih dahulu.
Jelaskan apa saja HTTP method pada REST API?
Dalam HTTP Method REST yang sering digunakan atara lain:.
GET : Biasanya fungsi ini digunakan untuk perintah menampilkan data..
POST: Fungsi ini biasanya digunakan untuk perintah dalam menambahkan data..
PUT: Fungsi ini biasanya digunakan untuk perintah edit data..