Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memulai (AWS CLI)
Dalam latihan ini, Anda menggunakan AWS Command Line Interface (AWS CLI) untuk menjelajahi Amazon Personalize. Anda membuat kampanye yang menampilkan rekomendasi film untuk ID pengguna tertentu.
Sebelum Anda memulai latihan ini, lakukan hal berikut:
-
Tinjau MemulaiMemulai prasyarat.
-
Mengatur AWS CLI, seperti yang ditentukan dalamMenyiapkan AWS CLI.
Saat Anda menyelesaikan latihan memulai, untuk menghindari biaya yang tidak perlu, hapus sumber daya yang Anda buat. Untuk informasi selengkapnya, lihat Persyaratan untuk menghapus sumber daya Amazon Personalize.
catatan
AWS CLI Perintah dalam latihan ini diuji di Linux. Untuk informasi tentang menggunakan AWS CLI perintah di Windows, lihat Menentukan nilai parameter untuk AWS Command Line Interface dalam Panduan AWS Command Line Interface Pengguna.
Ikuti langkah-langkah untuk membuat grup kumpulan data, menambahkan kumpulan data ke grup, lalu mengisi kumpulan data menggunakan data peringkat film.
-
Buat grup dataset dengan menjalankan perintah berikut. Anda dapat mengenkripsi grup kumpulan data dengan meneruskan AWS Key Management Servicekunci ARN dan IAM peran ARN yang memiliki izin akses ke kunci tersebut sebagai parameter input. Untuk informasi lebih lanjut tentangAPI, lihatCreateDatasetGroup.
aws personalize create-dataset-group --name MovieRatingDatasetGroup --kms-key-arn
arn:aws:kms:us-west-2:01234567890:key/1682a1e7-a94d-4d92-bbdf-837d3b62315e
--role-arnarn:aws:iam::01234567890:KMS-key-access
Grup dataset ARN ditampilkan, misalnya:
{ "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup" }
Gunakan
describe-dataset-group
perintah untuk menampilkan grup kumpulan data yang Anda buat, menentukan grup kumpulan data yang dikembalikan. ARNaws personalize describe-dataset-group \ --dataset-group-arn arn:aws:personalize:us-west-2:
acct-id
:dataset-group/MovieRatingDatasetGroupGrup dataset dan propertinya ditampilkan, misalnya:
{ "datasetGroup": { "name": "MovieRatingDatasetGroup", "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup", "status": "ACTIVE", "creationDateTime": 1542392161.262, "lastUpdatedDateTime": 1542396513.377 } }
catatan
Tunggu hingga grup dataset
status
ditampilkan seperti ACTIVE sebelum membuat kumpulan data dalam grup. Operasi ini biasanya cepat.Jika Anda tidak ingat grup kumpulan dataARN, gunakan
list-dataset-groups
perintah untuk menampilkan semua grup kumpulan data yang Anda buat, bersama dengan grup tersebut. ARNsaws personalize list-dataset-groups
catatan
list-objects
Perintahdescribe-object
dan tersedia untuk sebagian besar objek Amazon Personalize. Perintah-perintah ini tidak ditampilkan di sisa latihan ini tetapi mereka tersedia. -
Buat file skema dalam JSON format dengan menyimpan kode berikut ke file bernama
MovieRatingSchema.json
. Skema cocok dengan header yang sebelumnya Anda tambahkan.ratings.csv
Nama skema adalahInteractions
, yang cocok dengan salah satu jenis kumpulan data yang dikenali oleh Amazon Personalize. Untuk informasi selengkapnya, lihat Membuat JSON file skema untuk skema Amazon Personalize.{ "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" }
-
Buat skema dengan menjalankan perintah berikut. Tentukan file yang Anda simpan di langkah sebelumnya. Contoh menunjukkan file sebagai milik folder saat ini. Untuk informasi lebih lanjut tentangAPI, lihatCreateSchema.
aws personalize create-schema \ --name MovieRatingSchema \ --schema file://MovieRatingSchema.json
Skema Amazon Resource Name (ARN) ditampilkan, misalnya:
{ "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/MovieRatingSchema" }
-
Buat dataset kosong dengan menjalankan perintah berikut. Berikan grup kumpulan data ARN dan skema ARN yang dikembalikan pada langkah sebelumnya.
dataset-type
Harus cocok dengan skemaname
dari langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatCreateDataset.aws personalize create-dataset \ --name MovieRatingDataset \ --dataset-group-arn arn:aws:personalize:us-west-2:
acct-id
:dataset-group/MovieRatingDatasetGroup \ --dataset-type Interactions \ --schema-arn arn:aws:personalize:us-west-2:acct-id
:schema/MovieRatingSchemaDataset ARN ditampilkan, misalnya:
{ "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/MovieRatingDatasetGroup/INTERACTIONS" }
-
Tambahkan data pelatihan ke kumpulan data.
-
Buat pekerjaan impor dataset dengan menjalankan perintah berikut. Berikan kumpulan data ARN dan nama bucket Amazon S3 yang dikembalikan pada langkah sebelumnya. Berikan peran AWS Identity and Access Management (IAM) yang ARN Anda buatMembuat IAM peran untuk Amazon Personalize. Untuk informasi lebih lanjut tentangAPI, lihatCreateDatasetImportJob.
aws personalize create-dataset-import-job \ --job-name MovieRatingImportJob \ --dataset-arn arn:aws:personalize:us-west-2:
acct-id
:dataset/MovieRatingDatasetGroup/INTERACTIONS \ --data-source dataLocation=s3://amzn-s3-demo-bucket
/ratings.csv \ --role-arnroleArn
Pekerjaan impor dataset ARN ditampilkan, misalnya:
{ "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/MovieRatingImportJob" }
-
Periksa status dengan menggunakan
describe-dataset-import-job
perintah. Berikan pekerjaan impor dataset ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatDescribeDatasetImportJob.aws personalize describe-dataset-import-job \ --dataset-import-job-arn arn:aws:personalize:us-west-2:
acct-id
:dataset-import-job/MovieRatingImportJobProperti pekerjaan impor dataset, termasuk statusnya, ditampilkan. Awalnya,
status
pertunjukan sebagai CREATEPENDING, misalnya:{ "datasetImportJob": { "jobName": "MovieRatingImportJob", "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/MovieRatingImportJob", "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/MovieRatingDatasetGroup/INTERACTIONS", "dataSource": { "dataLocation": "s3://amzn-s3-demo-bucket/ratings.csv" }, "roleArn": "role-arn", "status": "CREATE PENDING", "creationDateTime": 1542392161.837, "lastUpdatedDateTime": 1542393013.377 } }
Impor dataset selesai ketika status ditampilkan sebagaiACTIVE. Kemudian Anda siap untuk melatih model menggunakan dataset yang ditentukan.
catatan
Mengimpor membutuhkan waktu. Tunggu hingga impor dataset selesai sebelum melatih model menggunakan dataset.
-
Untuk melatih model, Anda membuat konfigurasi untuk melatih model menggunakan CreateSolution operasi dan membiarkan pelatihan otomatis aktif. Solusi secara otomatis mulai melatih solusi pertama dalam waktu satu jam.
Anda melatih model menggunakan resep dan data pelatihan Anda. Amazon Personalize menyediakan satu set resep yang telah ditentukan. Untuk informasi selengkapnya, lihat Memilih resep. Untuk latihan ini, Anda menggunakan resep User-personalisasi-v2.
-
Buat konfigurasi untuk melatih model dengan menjalankan perintah berikut. Perintah ini menciptakan solusi yang menggunakan pelatihan otomatis. Secara otomatis membuat versi solusi baru setiap tujuh hari (default).
aws personalize create-solution \ --name MovieSolution \ --dataset-group-arn arn:aws:personalize:us-west-2:
acct-id
:dataset-group/MovieRatingDatasetGroup \ --recipe-arn arn:aws:personalize:::recipe/aws-user-personalization-v2 \ --perform-auto-training \ --solution-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(7 days)\"}}"ARNSolusinya ditampilkan, misalnya:
{ "solutionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution" }
-
Periksa status buat menggunakan
describe-solution
perintah. Berikan solusi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatDescribeSolution.aws personalize describe-solution \ --solution-arn arn:aws:personalize:us-west-2:
acct-id
:solution/MovieSolutionSifat-sifat solusi dan
status
pembuatan ditampilkan. Sebagai contoh:{ "solution": { "name": "MovieSolution", "solutionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution", "performHPO": false, "performAutoML": false, "recipeArn": "arn:aws:personalize:::recipe/aws-user-personalization-v2", "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup", "solutionConfig": { "algorithmHyperParameters": { "apply_recency_bias": "true" }, "featureTransformationParameters": {}, "autoTrainingConfig": { "schedulingExpression": "rate(7 days)" } }, "status": "ACTIVE", "creationDateTime": "2021-05-12T16:27:59.819000-07:00", "lastUpdatedDateTime": "2021-05-12T16:27:59.819000-07:00" } }
-
Dengan pelatihan otomatis, pelatihan versi solusi dimulai dalam satu setelah solusinyaACTIVE. Setelah pelatihan dimulai, Anda bisa mendapatkan Amazon Resource Name (ARN) versi solusi dengan ListSolutionVersionsperintah berikut:
aws personalize list-solution-versions --solution-arn arn:aws:personalize:us-west-2:
acct-id
:solution/MovieSolution -
Periksa status pelatihan versi solusi dengan menggunakan
describe-solution-version
perintah. Berikan versi solusi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatDescribeSolutionVersion.aws personalize describe-solution-version \ --solution-version-arn arn:aws:personalize:us-west-2:
acct-id
:solution/MovieSolution/version-id
Properti versi solusi dan pelatihan
status
ditampilkan. Awalnya, status ditampilkan sebagai CREATEPENDING, misalnya:{ "solutionVersion": { "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>", ..., "status": "CREATE PENDING" } }
-
Ketika versi
status
solusinyaACTIVE, pelatihan selesai.Sekarang Anda dapat meninjau metrik pelatihan dan membuat kampanye menggunakan versi solusi.
catatan
Pelatihan membutuhkan waktu. Tunggu hingga pelatihan selesai (status pelatihan versi solusi ditampilkan sebagaiACTIVE) sebelum menggunakan versi solusi ini dalam kampanye.
-
Anda dapat memvalidasi kinerja versi solusi dengan meninjau metriknya. Dapatkan metrik untuk versi solusi dengan menjalankan perintah berikut. Berikan versi solusi ARN yang dikembalikan sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatGetSolutionMetrics.
aws personalize get-solution-metrics \ --solution-version-arn arn:aws:personalize:us-west-2:
acct-id
:solution/MovieSolution/version-id
Respons sampel ditampilkan:
{ "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/www-solution/<version-id>", "metrics": { "coverage": 0.0485, "mean_reciprocal_rank_at_25": 0.0381, "normalized_discounted_cumulative_gain_at_10": 0.0363, "normalized_discounted_cumulative_gain_at_25": 0.0984, "normalized_discounted_cumulative_gain_at_5": 0.0175, "precision_at_10": 0.0107, "precision_at_25": 0.0207, "precision_at_5": 0.0107 } }
Sebelum Anda bisa mendapatkan rekomendasi, Anda harus menerapkan versi solusi. Menyebarkan solusi juga dikenal sebagai membuat kampanye. Setelah Anda membuat kampanye, aplikasi klien Anda bisa mendapatkan rekomendasi menggunakan GetRecommendationsAPI.
-
Buat kampanye dengan menjalankan perintah berikut. Berikan versi solusi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatCreateCampaign.
aws personalize create-campaign \ --name MovieRecommendationCampaign \ --solution-version-arn arn:aws:personalize:us-west-2:
acct-id
:solution/MovieSolution/version-id
\ --min-provisioned-tps 1Respons sampel ditampilkan:
{ "campaignArn": "arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign" }
-
Periksa status penyebaran dengan menjalankan perintah berikut. Berikan kampanye ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi lebih lanjut tentangAPI, lihatDescribeCampaign.
aws personalize describe-campaign \ --campaign-arn arn:aws:personalize:us-west-2:
acct-id
:campaign/MovieRecommendationCampaignRespons sampel ditampilkan:
{ "campaign": { "name": "MovieRecommendationCampaign", "campaignArn": "arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign", "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>", "minProvisionedTPS": "1", "creationDateTime": 1543864775.923, "lastUpdatedDateTime": 1543864791.923, "status": "CREATE IN_PROGRESS" } }
catatan
Tunggu hingga
status
pertunjukan seperti ACTIVE sebelum mendapatkan rekomendasi dari kampanye.
Dapatkan rekomendasi dengan menjalankan get-recommendations
perintah. Berikan kampanye ARN yang dikembalikan pada langkah sebelumnya. Dalam permintaan, Anda menentukan ID pengguna dari kumpulan data peringkat film. Untuk informasi lebih lanjut tentangAPI, lihatGetRecommendations.
catatan
Tidak semua resep mendukung GetRecommendations
API. Untuk informasi selengkapnya, lihat Memilih resep.
AWS CLI Perintah yang Anda panggil dalam langkah inipersonalize-runtime
,, berbeda dari pada langkah sebelumnya.
aws personalize-runtime get-recommendations \ --campaign-arn arn:aws:personalize:us-west-2:
acct-id
:campaign/MovieRecommendationCampaign \ --user-id 123
Sebagai tanggapan, kampanye menampilkan daftar rekomendasi item (filmIDs) yang mungkin disukai pengguna. Daftar ini diurutkan dalam urutan relevansi menurun bagi pengguna.
{ "itemList": [ { "itemId": "14" }, { "itemId": "15" }, { "itemId": "275" }, { "itemId": "283" }, { "itemId": "273" }, ... ] }