

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

# Resep Personalisasi Pengguna
<a name="native-recipe-new-item-USER_PERSONALIZATION"></a>

**penting**  
Kami merekomendasikan menggunakan resep [User-personalisasi-v2](native-recipe-user-personalization-v2.md). Ini dapat mempertimbangkan hingga 5 juta item dengan pelatihan yang lebih cepat, dan menghasilkan rekomendasi yang lebih relevan dengan latensi yang lebih rendah.

Resep User-Personalization (aws-user-personalization) dioptimalkan untuk semua skenario rekomendasi yang dipersonalisasi. Ini memprediksi item yang kemungkinan besar akan berinteraksi dengan pengguna. Anda dapat menggunakan Personalisasi Pengguna untuk menghasilkan rekomendasi film yang dipersonalisasi untuk aplikasi streaming atau rekomendasi produk yang dipersonalisasi untuk aplikasi ritel.

Dengan Personalisasi Pengguna, Amazon Personalize menghasilkan rekomendasi terutama berdasarkan data interaksi item pengguna dalam kumpulan data interaksi Item. Itu juga dapat menggunakan item dan metadata pengguna apa pun di kumpulan data Item dan Pengguna Anda. Untuk informasi selengkapnya tentang data yang digunakannya, lihat[Kumpulan data yang diperlukan dan opsional](#user-personalization-datasets). 

**Topics**
+ [Fitur resep](#user-personalization-features)
+ [Kumpulan data yang diperlukan dan opsional](#user-personalization-datasets)
+ [Properti dan hiperparameter](#bandit-hyperparameters)
+ [Pelatihan dengan resep Personalisasi Pengguna (konsol)](#training-user-personalization-recipe-console)
+ [Pelatihan dengan resep User-Personalization (Python SDK)](#training-user-personalization-recipe)
+ [Mendapatkan rekomendasi dan merekam tayangan (SDK for Python (Boto3))](#user-personalization-get-recommendations-recording-impressions)
+ [Contoh notebook Jupyter](#bandits-sample-notebooks)

## Fitur resep
<a name="user-personalization-features"></a>

Personalisasi Pengguna menggunakan fitur resep Amazon Personalize berikut saat membuat rekomendasi item: 
+ Personalisasi waktu nyata - Dengan personalisasi waktu nyata, Amazon Personalisasi pembaruan dan menyesuaikan rekomendasi item sesuai dengan minat pengguna yang terus berkembang. Untuk informasi selengkapnya, lihat [Personalisasi waktu nyata](use-case-recipe-features.md#about-real-time-personalization).
+ Eksplorasi — Dengan eksplorasi, rekomendasi mencakup item atau item baru dengan data interaksi yang lebih sedikit. Ini meningkatkan penemuan dan keterlibatan item saat Anda memiliki katalog yang berubah dengan cepat, atau ketika item baru, seperti artikel berita atau promosi, lebih relevan bagi pengguna saat baru. Untuk informasi lebih lanjut tentang eksplorasi, lihat[Eksplorasi](use-case-recipe-features.md#about-exploration).
+ Pembaruan otomatis - Dengan pembaruan otomatis, Amazon Personalize secara otomatis memperbarui model terbaru (versi solusi) setiap dua jam untuk mempertimbangkan item baru untuk rekomendasi. Untuk informasi selengkapnya, lihat [Pembaruan otomatis](use-case-recipe-features.md#automatic-updates).

## Kumpulan data yang diperlukan dan opsional
<a name="user-personalization-datasets"></a>

Untuk menggunakan Personalisasi Pengguna, Anda harus membuat [kumpulan data interaksi Item](interactions-datasets.md) dan mengimpor minimal 1000 interaksi item. Amazon Personalize menghasilkan rekomendasi terutama berdasarkan data interaksi item.

Dengan Personalisasi Pengguna, Amazon Personalize dapat menggunakan data interaksi Item yang mencakup hal-hal berikut:
+ Jenis peristiwa dan data nilai peristiwa - Amazon Personalize menggunakan data tipe peristiwa, seperti jenis peristiwa klik atau tonton, untuk mengidentifikasi maksud dan minat pengguna melalui pola apa pun dalam perilaku mereka. Selain itu, Anda dapat menggunakan jenis peristiwa dan data nilai acara untuk memfilter catatan sebelum pelatihan. Untuk informasi selengkapnya, lihat [Jenis peristiwa dan data nilai acara](interactions-datasets.md#event-type-and-event-value-data). 
+ Metadata kontekstual — Metadata kontekstual adalah data interaksi yang Anda kumpulkan di lingkungan pengguna pada saat kejadian, seperti lokasi atau jenis perangkat mereka. Untuk informasi selengkapnya, lihat [Metadata kontekstual](interactions-datasets.md#interactions-contextual-metadata). 
+ Data tayangan — Tayangan adalah daftar item yang terlihat oleh pengguna saat berinteraksi dengan (diklik, ditonton, dibeli, dan sebagainya) item tertentu. Untuk informasi selengkapnya, lihat [Data tayangan](interactions-datasets.md#interactions-impressions-data).

 Kumpulan data berikut bersifat opsional dan dapat meningkatkan rekomendasi: 
+ Kumpulan data pengguna — Amazon Personalize dapat menggunakan data dalam kumpulan data Pengguna Anda untuk lebih memahami pengguna Anda dan minat mereka. Anda juga dapat menggunakan data dalam kumpulan data Pengguna untuk memfilter rekomendasi. Untuk informasi tentang data pengguna yang dapat Anda impor, lihat[Metadata pengguna](users-datasets.md).
+ Kumpulan data item — Amazon Personalize dapat menggunakan data dalam kumpulan data Item Anda untuk mengidentifikasi koneksi dan pola dalam perilakunya. Ini membantu Amazon Personalisasi memahami pengguna Anda dan minat mereka. Anda juga dapat menggunakan data dalam kumpulan data Item untuk memfilter rekomendasi. Untuk informasi tentang data item yang dapat Anda impor, lihat[Metadata barang](items-datasets.md). 

## Properti dan hiperparameter
<a name="bandit-hyperparameters"></a>

Resep User-Personalization memiliki properti berikut:
+  **Nama** – `aws-user-personalization`
+  **Resep Nama Sumber Daya Amazon (ARN**) — `arn:aws:personalize:::recipe/aws-user-personalization`
+  **Algoritma ARN** — `arn:aws:personalize:::algorithm/aws-user-personalization`

Untuk informasi selengkapnya, lihat [Memilih resep](working-with-predefined-recipes.md).

Tabel berikut menjelaskan hyperparameters untuk resep User-Personalization. *Hyperparameter adalah parameter* algoritma yang dapat Anda sesuaikan untuk meningkatkan kinerja model. Algoritma hyperparameters mengontrol bagaimana kinerja model. Hyperparameter featurisasi mengontrol cara memfilter data yang akan digunakan dalam pelatihan. Proses memilih nilai terbaik untuk hyperparameter disebut optimasi hyperparameter (HPO). Untuk informasi selengkapnya, lihat [Hyperparameters dan HPO](customizing-solution-config-hpo.md). 

Tabel memberikan informasi berikut untuk setiap hyperparameter:
+ **Rentang**: [batas bawah, batas atas]
+ **Jenis nilai**: Integer, Continuous (float), Kategoris (Boolean, daftar, string)
+ **HPO tunable**: Dapatkah parameter berpartisipasi dalam HPO?


<table>
<thead>
  <tr><th>Nama</th><th>Deskripsi</th></tr>
</thead>
<tbody>
  <tr><td colspan="2">Hiperparameter algoritma</td></tr>
  <tr><td>hidden\_dimension</td><td>Jumlah variabel tersembunyi yang digunakan dalam model. *Variabel tersembunyi* membuat ulang riwayat pembelian pengguna dan statistik item untuk menghasilkan skor peringkat. Tentukan lebih banyak dimensi tersembunyi saat kumpulan data interaksi Item Anda menyertakan pola yang lebih rumit. Menggunakan dimensi yang lebih tersembunyi membutuhkan dataset yang lebih besar dan lebih banyak waktu untuk diproses. Untuk menentukan nilai terbaik, gunakan HPO. Untuk menggunakan HPO, atur `performHPO` ke `true` saat Anda memanggil [CreateSolution](API_CreateSolution.md) dan [CreateSolutionVersion](API_CreateSolutionVersion.md) operasi.<br />Nilai default: 149<br />Rentang: [32, 256]<br />Jenis nilai: Integer<br />HPO dapat disetel: Ya</td></tr>
  <tr><td>bptt</td><td>Menentukan apakah akan menggunakan teknik propagasi balik melalui waktu. *Propagasi balik melalui waktu* adalah teknik yang memperbarui bobot dalam algoritme berbasis jaringan saraf berulang. Gunakan kredit jangka panjang `bptt` untuk menghubungkan hadiah yang tertunda ke acara awal. Misalnya, hadiah yang tertunda dapat berupa pembelian yang dilakukan setelah beberapa klik. Acara awal bisa menjadi klik awal. Bahkan dalam jenis acara yang sama, seperti klik, ada baiknya untuk mempertimbangkan efek jangka panjang dan memaksimalkan total hadiah. Untuk mempertimbangkan efek jangka panjang, gunakan `bptt` nilai yang lebih besar. Menggunakan `bptt` nilai yang lebih besar membutuhkan kumpulan data yang lebih besar dan lebih banyak waktu untuk diproses.<br />Nilai default: 32<br />Rentang: [2, 32]<br />Jenis nilai: Integer<br />HPO dapat disetel: Ya</td></tr>
  <tr><td>recency\_mask</td><td>Menentukan apakah model harus mempertimbangkan tren popularitas terbaru dalam kumpulan data interaksi Item. Tren popularitas terbaru mungkin termasuk perubahan mendadak dalam pola yang mendasari peristiwa interaksi. Untuk melatih model yang memberi bobot lebih pada peristiwa baru-baru ini, atur `recency_mask` ke`true`. Untuk melatih model yang sama-sama menimbang semua interaksi masa lalu, atur `recency_mask` ke`false`. Untuk mendapatkan rekomendasi yang baik menggunakan bobot yang sama, Anda mungkin memerlukan kumpulan data pelatihan yang lebih besar.<br />Nilai default: `True`<br />Rentang: `True` atau `False`<br />Jenis nilai: Boolean<br />HPO dapat disetel: Ya</td></tr>
  <tr><td colspan="2">Hiperparameter featurisasi</td></tr>
  <tr><td>min\_user\_history\_length\_percentile</td><td>Persentil minimum panjang riwayat pengguna untuk dimasukkan dalam pelatihan model. *Panjang riwayat* adalah jumlah total data tentang pengguna. Gunakan `min_user_history_length_percentile` untuk mengecualikan persentase pengguna dengan panjang riwayat pendek. Pengguna dengan riwayat singkat sering menunjukkan pola berdasarkan popularitas item, bukan kebutuhan atau keinginan pribadi pengguna. Menghapusnya dapat melatih model dengan lebih fokus pada pola yang mendasarinya dalam data Anda. Pilih nilai yang sesuai setelah Anda meninjau panjang riwayat pengguna, menggunakan histogram atau alat serupa. Kami merekomendasikan untuk menetapkan nilai yang mempertahankan mayoritas pengguna, tetapi menghapus kasus tepi.<br /> Misalnya, menyetel `min_user_history_length_percentile to 0.05` dan `max_user_history_length_percentile to 0.95` menyertakan semua pengguna kecuali yang memiliki panjang riwayat di bagian bawah atau atas 5%.<br />Nilai default: 0.0<br />Rentang: [0.0, 1.0]<br />Jenis nilai: Float<br />HPO dapat disetel: Tidak</td></tr>
  <tr><td>max\_user\_history\_length\_percentile</td><td>Persentil maksimum panjang riwayat pengguna untuk dimasukkan dalam pelatihan model. *Panjang riwayat* adalah jumlah total data tentang pengguna. Gunakan `max_user_history_length_percentile` untuk mengecualikan persentase pengguna dengan panjang sejarah panjang karena data untuk pengguna ini cenderung mengandung noise. Misalnya, robot mungkin memiliki daftar panjang interaksi otomatis. Menghapus pengguna ini membatasi kebisingan dalam pelatihan. Pilih nilai yang sesuai setelah Anda meninjau panjang riwayat pengguna menggunakan histogram atau alat serupa. Kami merekomendasikan untuk menyetel nilai yang mempertahankan mayoritas pengguna tetapi menghapus kasus tepi.<br />Misalnya, menyetel `min_user_history_length_percentile to 0.05` dan `max_user_history_length_percentile to 0.95` menyertakan semua pengguna kecuali yang memiliki panjang riwayat di bagian bawah atau atas 5%.<br />Nilai default: 0,99<br />Rentang: [0.0, 1.0]<br />Jenis nilai: Float<br />HPO dapat disetel: Tidak</td></tr>
  <tr><td colspan="2">Hiperparameter konfigurasi kampanye eksplorasi item</td></tr>
  <tr><td>exploration\_weight</td><td>Menentukan seberapa sering rekomendasi menyertakan item dengan data interaksi item yang lebih sedikit atau relevansi. Semakin dekat nilainya ke 1,0, semakin banyak eksplorasi. Pada nol, tidak ada eksplorasi terjadi dan rekomendasi didasarkan pada data saat ini (relevansi). Untuk mengetahui informasi selengkapnya, lihat [CampaignConfig](API_CampaignConfig.md).<br />Nilai default: 0,3<br />Rentang: [0.0, 1.0]<br />Jenis nilai: Float<br />HPO dapat disetel: Tidak</td></tr>
  <tr><td>exploration\_item\_age\_cut\_off</td><td>Tentukan usia item maksimum dalam beberapa hari sejak interaksi terbaru di semua item di Kumpulan data interaksi item. Ini mendefinisikan ruang lingkup eksplorasi item berdasarkan usia item. Amazon Personalize menentukan usia item berdasarkan stempel waktu pembuatannya atau, jika data stempel waktu pembuatan tidak ada, data interaksi item. Untuk informasi selengkapnya cara Amazon Personalize menentukan usia item, lihat. [Data stempel waktu pembuatan](items-datasets.md#creation-timestamp-data) <br />Untuk meningkatkan item yang dipertimbangkan Amazon Personalize selama eksplorasi, masukkan nilai yang lebih besar. Minimal adalah 1 hari dan defaultnya adalah 30 hari. Rekomendasi mungkin mencakup item yang lebih tua dari potongan usia item yang Anda tentukan. Ini karena item ini relevan dengan pengguna dan eksplorasi tidak mengidentifikasinya.<br />Nilai default: 30,0<br />Rentang: Pelampung positif<br />Jenis nilai: Float<br />HPO dapat disetel: Tidak</td></tr>
</tbody>
</table>


## Pelatihan dengan resep Personalisasi Pengguna (konsol)
<a name="training-user-personalization-recipe-console"></a>

Untuk menggunakan resep User-Personalization untuk menghasilkan rekomendasi di konsol, pertama-tama latih versi solusi baru menggunakan resep. Kemudian terapkan kampanye menggunakan versi solusi dan gunakan kampanye untuk mendapatkan rekomendasi. 

**Melatih versi solusi baru dengan resep User-Personalization (konsol)**

1. Buka konsol Amazon Personalize di [https://console.aws.amazon.com/personalize/rumah](https://console.aws.amazon.com/personalize/home) dan masuk ke akun Anda.

1. Buat grup kumpulan data khusus dengan skema baru dan unggah kumpulan data Anda dengan data tayangan. Secara opsional sertakan [CREATION\_TIMESTAMP]() dan [Metadata teks tidak terstruktur](items-datasets.md#text-data) data dalam kumpulan data Item Anda sehingga Amazon Personalize dapat menghitung usia item dengan lebih akurat dan mengidentifikasi item dingin.

   Untuk informasi selengkapnya tentang mengimpor data, lihat[Mengimpor data pelatihan ke Amazon Personalize dataset](import-data.md).

1. Pada halaman **grup Dataset, pilih grup kumpulan** data baru yang berisi kumpulan data atau kumpulan data dengan data tayangan.

1. Di panel navigasi, pilih **Solusi dan resep dan** pilih **Buat solusi**.

1. Pada halaman **Buat solusi**, untuk **nama Solusi**, masukkan nama solusi baru Anda.

1. Untuk **tipe Solusi**, pilih **Rekomendasi item** untuk mendapatkan rekomendasi item bagi pengguna Anda. 

1. Untuk **Resep**, pilih **aws-user-personalization**. Bagian **konfigurasi Solusi** muncul menyediakan beberapa opsi konfigurasi. 

1. Dalam **konfigurasi Peristiwa**, jika kumpulan data interaksi Item Anda memiliki EVENT\_TYPE atau kolom EVENT\_TYPE dan EVENT\_VALUE, gunakan kolom Tipe peristiwa dan ambang nilai **Peristiwa** secara opsional **untuk memilih data interaksi item yang digunakan Amazon Personalize** saat melatih model. Untuk informasi selengkapnya, lihat [Memilih data interaksi item yang digunakan untuk pelatihan](event-values-types.md). 

    Jika Anda memiliki beberapa jenis acara dan menggunakan resep User-Personalization-v 2 atau Personalized-Ranking-v 2 resep, Anda juga dapat menentukan bobot yang berbeda untuk jenis yang berbeda. Misalnya, Anda dapat mengonfigurasi solusi untuk memberikan bobot lebih untuk membeli acara daripada peristiwa klik. Untuk informasi selengkapnya, lihat [Mengoptimalkan solusi dengan konfigurasi peristiwa](optimizing-solution-events-config.md). 

1. Konfigurasikan hyperparameters secara opsional untuk solusi Anda. Untuk daftar properti resep Personalisasi Pengguna dan hiperparameter, lihat. [Properti dan hiperparameter](#bandit-hyperparameters) 

1. Pilih **Buat dan latih solusi** untuk memulai pelatihan. Halaman **Dashboard** ditampilkan.

   Anda dapat menavigasi ke halaman detail solusi untuk melacak kemajuan pelatihan di bagian **Versi solusi**. Saat pelatihan selesai, statusnya **Aktif**.

**Membuat kampanye dan mendapatkan rekomendasi (konsol)**

 Ketika status versi solusi Anda **Aktif**, Anda siap untuk membuat kampanye dan mendapatkan rekomendasi sebagai berikut: 

1. Di halaman detail solusi atau halaman **Kampanye**, pilih **Buat kampanye baru**.

1.  Pada halaman **Buat kampanye baru**, untuk **detail Kampanye**, berikan informasi berikut: 
   + **Nama kampanye:** Masukkan nama kampanye. Teks yang Anda masukkan di sini muncul di dasbor Kampanye dan halaman detail.
   + **Solusi:** Pilih solusi yang baru saja Anda buat.
   + **ID versi solusi:** Pilih ID versi solusi yang baru saja Anda buat.
   + Transaksi **minimum yang disediakan per detik: Tetapkan transaksi** minimum yang disediakan per detik yang didukung Amazon Personalize. Untuk informasi lebih lanjut, lihat [CreateCampaign](API_CreateCampaign.md) operasi.

1. Untuk **konfigurasi Kampanye**, berikan informasi berikut:
   + **Bobot eksplorasi:** Konfigurasikan berapa banyak yang harus dijelajahi, di mana rekomendasi menyertakan item dengan data interaksi item yang lebih sedikit atau relevansi lebih sering, semakin banyak eksplorasi yang Anda tentukan. Semakin dekat nilainya ke 1, semakin banyak eksplorasi. Pada nol, tidak ada eksplorasi terjadi dan rekomendasi didasarkan pada data saat ini (relevansi).
   + **Pemotongan usia item eksplorasi**: Masukkan usia item maksimum, dalam beberapa hari sejak interaksi terbaru, untuk menentukan ruang lingkup eksplorasi item. Untuk menambah jumlah item yang dipertimbangkan Amazon Personalize selama eksplorasi, masukkan nilai yang lebih besar. 

      Misalnya, jika Anda memasukkan 10, hanya item dengan data interaksi item dari 10 hari sejak interaksi terbaru dalam kumpulan data yang dipertimbangkan selama eksplorasi. 
**catatan**  
Rekomendasi mungkin termasuk item tanpa data interaksi item dari luar kerangka waktu ini. Ini karena item ini relevan dengan minat pengguna, dan eksplorasi tidak diperlukan untuk mengidentifikasi mereka.

1. Pilih **Buat kampanye**.

1. Pada halaman detail kampanye, ketika status kampanye **Aktif**, Anda dapat menggunakan kampanye untuk mendapatkan rekomendasi dan merekam tayangan. Untuk informasi selengkapnya, lihat [Langkah 5: Dapatkan rekomendasi](getting-started-console.md#getting-started-console-get-recommendations) di “Memulai.” 

    Amazon Personalize secara otomatis memperbarui versi solusi terbaru Anda setiap dua jam untuk menyertakan data baru. Kampanye Anda secara otomatis menggunakan versi solusi yang diperbarui. Untuk informasi selengkapnya, lihat [Pembaruan otomatis](use-case-recipe-features.md#automatic-updates). 

   Untuk memperbarui kampanye secara manual, pertama-tama Anda membuat dan melatih versi solusi baru menggunakan konsol atau [CreateSolutionVersion](API_CreateSolutionVersion.md) operasi, dengan `trainingMode` disetel ke`update`. Anda kemudian memperbarui kampanye secara manual di halaman **Kampanye** konsol atau dengan menggunakan [UpdateCampaign](API_UpdateCampaign.md) operasi. 
**catatan**  
 Amazon Personalize tidak secara otomatis memperbarui versi solusi yang Anda buat sebelum 17 November 2020. 

## Pelatihan dengan resep User-Personalization (Python SDK)
<a name="training-user-personalization-recipe"></a>

Ketika Anda telah membuat grup kumpulan data dan mengunggah kumpulan data Anda dengan data tayangan, Anda dapat melatih solusi dengan resep Personalisasi Pengguna. Secara opsional sertakan [CREATION\_TIMESTAMP]() dan [Metadata teks tidak terstruktur](items-datasets.md#text-data) data dalam kumpulan data Item Anda sehingga Amazon Personalize dapat menghitung usia item dengan lebih akurat dan mengidentifikasi item dingin. Untuk informasi selengkapnya tentang membuat grup kumpulan data dan mengunggah data pelatihan, lihat. [Membuat file JSON skema untuk skema Amazon Personalize](how-it-works-dataset-schema.md)

**Untuk melatih solusi dengan resep User-Personalization menggunakan SDK AWS**

1. Buat solusi baru menggunakan `create_solution` metode ini.

   Ganti `solution name` dengan nama solusi Anda dan `dataset group arn` dengan Amazon Resource Name (ARN) grup dataset Anda.

   ```
   import boto3
   
   personalize = boto3.client('personalize')
   
   print('Creating solution')
   create_solution_response = personalize.create_solution(name = '{{solution name}}', 
                               recipeArn = 'arn:aws:personalize:::recipe/aws-user-personalization', 
                               datasetGroupArn = '{{dataset group arn}}',
                               )
   solution_arn = create_solution_response['solutionArn']
   print('solution_arn: ', solution_arn)
   ```

   Untuk daftar properti aws-user-personalization resep dan hiperparameter, lihat[Properti dan hiperparameter](#bandit-hyperparameters).

1. Buat *versi solusi* baru dengan data pelatihan yang diperbarui dan atur `trainingMode` untuk `FULL` menggunakan cuplikan kode berikut. Ganti `solution arn` dengan ARN solusi Anda.

   ```
   import boto3
           
   personalize = boto3.client('personalize')
           
   create_solution_version_response = personalize.create_solution_version(solutionArn = '{{solution arn}}', 
                                                                  trainingMode='FULL')
   
   new_solution_version_arn = create_solution_version_response['solutionVersionArn']
   print('solution_version_arn:', new_solution_version_arn)
   ```

1. Setelah Amazon Personalize selesai membuat versi solusi, buat kampanye dengan parameter berikut:
   + Berikan yang baru `campaign name` dan yang `solution version arn` dihasilkan pada langkah 2.
   + Ubah hyperparameter konfigurasi eksplorasi `explorationWeight` item untuk mengonfigurasi berapa banyak yang harus dijelajahi. Item dengan data interaksi item yang lebih sedikit atau relevansi direkomendasikan lebih sering semakin dekat nilainya ke 1.0. Nilai defaultnya adalah 0,3.
   + Ubah parameter hyperparameter konfigurasi eksplorasi `explorationItemAgeCutOff` item untuk memberikan durasi maksimum, dalam beberapa hari relatif terhadap interaksi terbaru, yang itemnya harus dieksplorasi. Semakin besar nilainya, semakin banyak item yang dipertimbangkan selama eksplorasi.

   Gunakan cuplikan Python berikut untuk membuat kampanye baru dengan penekanan pada eksplorasi dengan cut-off eksplorasi pada 30 hari. Membuat kampanye biasanya memakan waktu beberapa menit tetapi dapat memakan waktu lebih dari satu jam.

   ```
   import boto3
           
   personalize = boto3.client('personalize')
   
   create_campaign_response = personalize.create_campaign(
       name = '{{campaign name}}',
       solutionVersionArn = '{{solution version arn}}',
       minProvisionedTPS = 1,
       campaignConfig = {"itemExplorationConfig": {"explorationWeight": "{{0.3}}", "explorationItemAgeCutOff": "{{30}}"}}
   )
   
   campaign_arn = create_campaign_response['campaignArn']
   print('campaign_arn:', campaign_arn)
   ```

    Dengan Personalisasi Pengguna, Amazon Personalize secara otomatis memperbarui versi solusi Anda setiap dua jam untuk menyertakan data baru. Kampanye Anda secara otomatis menggunakan versi solusi yang diperbarui. Untuk informasi selengkapnya, lihat [Pembaruan otomatis](use-case-recipe-features.md#automatic-updates). 

   Untuk memperbarui kampanye secara manual, pertama-tama Anda membuat dan melatih versi solusi baru menggunakan konsol atau [CreateSolutionVersion](API_CreateSolutionVersion.md) operasi, dengan `trainingMode` disetel ke`update`. Anda kemudian memperbarui kampanye secara manual di halaman **Kampanye** konsol atau dengan menggunakan [UpdateCampaign](API_UpdateCampaign.md) operasi.
**catatan**  
 Amazon Personalize tidak secara otomatis memperbarui versi solusi yang Anda buat sebelum 17 November 2020. 

## Mendapatkan rekomendasi dan merekam tayangan (SDK for Python (Boto3))
<a name="user-personalization-get-recommendations-recording-impressions"></a>

Saat kampanye dibuat, Anda dapat menggunakannya untuk mendapatkan rekomendasi bagi pengguna dan merekam tayangan. Untuk informasi tentang mendapatkan rekomendasi batch menggunakan AWS SDKs lihat[Membuat pekerjaan inferensi batch ()AWS SDKs](creating-batch-inference-job.md#batch-sdk).



**Untuk mendapatkan rekomendasi dan merekam tayangan**

1. Panggil metode `get_recommendations`. Ubah `campaign arn` ke ARN kampanye baru Anda dan `user id` ke userID pengguna.

   ```
   import boto3
               
   rec_response = personalize_runtime.get_recommendations(campaignArn = '{{campaign arn}}', userId = '{{user id}}')
   print(rec_response['recommendationId'])
   ```

1. Buat pelacak acara baru untuk mengirim PutEvents permintaan. Ganti `event tracker name` dengan nama pelacak acara Anda dan `dataset group arn` dengan ARN grup dataset Anda.

   ```
   import boto3
           
   personalize = boto3.client('personalize')
   
   event_tracker_response = personalize.create_event_tracker( 
       name = '{{event tracker name}}',
       datasetGroupArn = '{{dataset group arn}}'
   )
   event_tracker_arn = event_tracker_response['eventTrackerArn']
   event_tracking_id = event_tracker_response['trackingId']
   print('eventTrackerArn:{},\n eventTrackingId:{}'.format(event_tracker_arn, event_tracking_id))
   ```

1.  Gunakan `recommendationId` dari langkah 1 dan `event tracking id` dari langkah 2 untuk membuat `PutEvents` permintaan baru. Permintaan ini mencatat data tayangan baru dari sesi pengguna. Ubah `user id` ke ID pengguna. 

   ```
   import boto3
               
   personalize_events.put_events(
        trackingId = '{{event tracking id}}',
        userId= '{{user id}}',
        sessionId = '1',
        eventList = [{
        'sentAt': datetime.now().timestamp(),
        'eventType' : 'click',
        'itemId' : rec_response['itemList'][0]['itemId'],        
        'recommendationId': rec_response['{{recommendationId}}'],
        'impression': [item['itemId'] for item in rec_response['itemList']],
        }]
   )
   ```

## Contoh notebook Jupyter
<a name="bandits-sample-notebooks"></a>

[Untuk contoh buku catatan Jupyter yang menunjukkan cara menggunakan resep Personalisasi Pengguna, lihat Personalisasi Pengguna dengan Eksplorasi.](https://github.com/aws-samples/amazon-personalize-samples/blob/master/next_steps/core_use_cases/user_personalization/user-personalization-with-exploration.ipynb)