

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai (AWS CLI)
<a name="getting-started-cli"></a>

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 Memulai[Memulai prasyarat](gs-prerequisites.md).
+ Mengatur AWS CLI, seperti yang ditentukan dalam[Menyiapkan AWS CLI](aws-personalize-set-up-aws-cli.md).

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](deleting-resources.md). 

**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](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html) *Panduan AWS Command Line Interface Pengguna*.

## Langkah 1: Impor data pelatihan
<a name="gs-create-ds"></a>

Ikuti langkah-langkah untuk membuat grup kumpulan data, menambahkan kumpulan data ke grup, lalu mengisi kumpulan data menggunakan data peringkat film.

1. Buat grup dataset dengan menjalankan perintah berikut. Anda dapat mengenkripsi grup kumpulan data dengan meneruskan ARN kunci dan [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)ARN dari peran IAM yang memiliki izin akses ke kunci tersebut sebagai parameter input. Untuk informasi selengkapnya tentang API, lihat [CreateDatasetGroup](API_CreateDatasetGroup.md).

   ```
   aws personalize create-dataset-group --name MovieRatingDatasetGroup --kms-key-arn arn:aws:kms:us-west-2:01234567890:key/1682a1e7-a94d-4d92-bbdf-837d3b62315e --role-arn arn:aws:iam::01234567890:KMS-key-access
   ```

   Grup kumpulan data 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 ARN grup kumpulan data yang dikembalikan.

   ```
   aws personalize describe-dataset-group \
   --dataset-group-arn arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup
   ```

   Grup 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 sebagai AKTIF sebelum membuat kumpulan data dalam grup. Operasi ini biasanya cepat.

   Jika Anda tidak ingat grup kumpulan data ARN, gunakan `list-dataset-groups` perintah untuk menampilkan semua grup kumpulan data yang Anda buat, bersama dengan grup tersebut. ARNs

   ```
   aws personalize list-dataset-groups
   ```
**catatan**  
`list-objects`Perintah `describe-object` dan tersedia untuk sebagian besar objek Amazon Personalize. Perintah-perintah ini tidak ditampilkan di sisa latihan ini tetapi mereka tersedia.

1. Buat file skema dalam format JSON dengan menyimpan kode berikut ke file bernama. `MovieRatingSchema.json` Skema cocok dengan header yang sebelumnya Anda tambahkan. `ratings.csv` Nama skema adalah`Interactions`, yang cocok dengan salah satu jenis kumpulan data yang dikenali oleh Amazon Personalize. Untuk informasi selengkapnya, lihat [Membuat file JSON skema untuk skema Amazon Personalize](how-it-works-dataset-schema.md).

   ```
   {
     "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"
   }
   ```

1. Buat skema dengan menjalankan perintah berikut. Tentukan file yang Anda simpan di langkah sebelumnya. Contoh menunjukkan file sebagai milik folder saat ini. Untuk informasi selengkapnya tentang API, lihat [CreateSchema](API_CreateSchema.md).

   ```
   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"
   }
   ```

1. Buat dataset kosong dengan menjalankan perintah berikut. Berikan kelompok dataset ARN dan skema ARN yang dikembalikan pada langkah sebelumnya. `dataset-type`Harus cocok dengan skema `name` dari langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat [CreateDataset](API_CreateDataset.md).

   ```
   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/MovieRatingSchema
   ```

   Dataset ARN ditampilkan, misalnya:

   ```
   {
     "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/MovieRatingDatasetGroup/INTERACTIONS"
   }
   ```

1. Tambahkan data pelatihan ke kumpulan data.

   1. Buat pekerjaan impor dataset dengan menjalankan perintah berikut. Berikan nama bucket ARN dan Amazon S3 kumpulan data yang dikembalikan pada langkah sebelumnya. Berikan peran AWS Identity and Access Management (IAM) ARN yang Anda buat. [Membuat peran IAM untuk Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions) Untuk informasi selengkapnya tentang API, lihat [CreateDatasetImportJob](API_CreateDatasetImportJob.md).

      ```
      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-arn roleArn
      ```

      Pekerjaan impor dataset ARN ditampilkan, misalnya:

      ```
      {
        "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/MovieRatingImportJob"
      }
      ```

   1. Periksa status dengan menggunakan `describe-dataset-import-job` perintah. Berikan ARN pekerjaan impor dataset yang dikembalikan pada langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat [DescribeDatasetImportJob](API_DescribeDatasetImportJob.md).

      ```
      aws personalize describe-dataset-import-job \
        --dataset-import-job-arn arn:aws:personalize:us-west-2:acct-id:dataset-import-job/MovieRatingImportJob
      ```

      Properti pekerjaan impor dataset, termasuk statusnya, ditampilkan. Awalnya, `status` ditampilkan sebagai CREATE PENDING, 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 sebagai AKTIF. Kemudian Anda siap untuk melatih model menggunakan dataset yang ditentukan.
**catatan**  
Mengimpor membutuhkan waktu. Tunggu hingga impor dataset selesai sebelum melatih model menggunakan dataset.

## Langkah 2: Buat solusi (latih model)
<a name="gs-create-solution"></a>

Untuk melatih model, Anda membuat konfigurasi untuk melatih model menggunakan [CreateSolution](API_CreateSolution.md) 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](working-with-predefined-recipes.md). Untuk latihan ini, Anda menggunakan User-Personalization-v 2 resep.

1. 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)\"}}"
   ```

   Solusi ARN ditampilkan, misalnya:

   ```
   {
     "solutionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution"
   }
   ```

1. Periksa status *buat* menggunakan `describe-solution` perintah. Memberikan solusi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat [DescribeSolution](API_DescribeSolution.md).

   ```
   aws personalize describe-solution \
     --solution-arn arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution
   ```

   Properti solusi dan pembuatan `status` ditampilkan. Misalnya:

   ```
   {      
     "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"
     }
   }
   ```

1.  Dengan pelatihan otomatis, pelatihan versi solusi dimulai dalam satu setelah solusi AKTIF. Setelah pelatihan dimulai, Anda bisa mendapatkan Amazon Resource Name (ARN) versi solusi dengan perintah berikut: [ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html) 

   ```
   aws personalize list-solution-versions --solution-arn arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution
   ```

1. Periksa status *pelatihan* versi solusi dengan menggunakan `describe-solution-version` perintah. Berikan solusi versi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat [DescribeSolutionVersion](API_DescribeSolutionVersion.md).

   ```
   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 CREATE PENDING, misalnya:

   ```
   {
     "solutionVersion": {
         "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>",
         ...,
         "status": "CREATE PENDING"
     }
   }
   ```

1. Ketika versi `status` solusi AKTIF, 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 sebagai AKTIF) sebelum menggunakan versi solusi ini dalam kampanye.

1. Anda dapat memvalidasi kinerja versi solusi dengan meninjau metriknya. Dapatkan metrik untuk versi solusi dengan menjalankan perintah berikut. Berikan solusi versi ARN yang dikembalikan sebelumnya. Untuk informasi selengkapnya tentang API, lihat [GetSolutionMetrics](API_GetSolutionMetrics.md).

   ```
   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
       }
   }
   ```

## Langkah 3: Buat kampanye (gunakan solusinya)
<a name="gs-create-campaign"></a>

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 [GetRecommendations](API_RS_GetRecommendations.md) API.

1. Buat kampanye dengan menjalankan perintah berikut. Berikan solusi versi ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat [CreateCampaign](API_CreateCampaign.md).

   ```
   aws personalize create-campaign \
     --name MovieRecommendationCampaign \
     --solution-version-arn arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/version-id \
     --min-provisioned-tps 1
   ```

   Respons sampel ditampilkan:

   ```
   {
     "campaignArn": "arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign"
   }
   ```

1. Periksa status penyebaran dengan menjalankan perintah berikut. Berikan kampanye ARN yang dikembalikan pada langkah sebelumnya. Untuk informasi selengkapnya tentang API, lihat [DescribeCampaign](API_DescribeCampaign.md).

   ```
   aws personalize describe-campaign \
     --campaign-arn arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign
   ```

   Respons 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 sebagai AKTIF sebelum mendapatkan rekomendasi dari kampanye.

## Langkah 4: Dapatkan rekomendasi
<a name="gs-test"></a>

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 selengkapnya tentang API, lihat [GetRecommendations](API_RS_GetRecommendations.md).

**catatan**  
Tidak semua resep mendukung `GetRecommendations` API. Untuk informasi selengkapnya, lihat [Memilih resep](working-with-predefined-recipes.md).  
 AWS CLI Perintah yang Anda panggil dalam langkah ini`personalize-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 (film IDs) yang mungkin disukai pengguna. Daftar ini diurutkan dalam urutan relevansi menurun bagi pengguna.

```
{
  "itemList": [
      {
          "itemId": "14"
      },
      {
          "itemId": "15"
      },
      {
          "itemId": "275"
      },
      {
          "itemId": "283"
      },
      {
          "itemId": "273"
      },
      ...
  ]
}
```