Mengevaluasi versi solusi Amazon Personalize dengan metrik - Amazon Personalize

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

Mengevaluasi versi solusi Amazon Personalize dengan metrik

Anda dapat mengevaluasi kinerja versi solusi Anda melalui metrik offline dan online. Metrik online adalah hasil empiris yang Anda amati dalam interaksi pengguna Anda dengan rekomendasi waktu nyata. Misalnya, Anda dapat merekam rasio klik-tayang pengguna saat mereka menelusuri katalog Anda. Anda bertanggung jawab untuk membuat dan merekam metrik online apa pun.

Metrik offline adalah metrik yang dihasilkan Amazon Personalize saat Anda melatih versi solusi. Dengan metrik offline, Anda dapat mengevaluasi kinerja model. Anda dapat melihat efek memodifikasi hiperparameter solusi, dan Anda dapat membandingkan hasil dari model yang dilatih dengan resep berbeda pada data yang sama dalam grup kumpulan data yang sama.

Hindari membandingkan metrik versi solusi berbeda yang dilatih dengan data yang berbeda. Perbedaan metrik mungkin berasal dari perbedaan data daripada kinerja model. Misalnya, Anda mungkin memiliki grup kumpulan data dengan data purchase peristiwa jarang untuk setiap pengguna, dan grup lainnya dengan data view peristiwa yang kuat. Berdasarkan metrik sepertiprecision at K, versi solusi yang dilatih pada data peristiwa tampilan mungkin salah tampak berkinerja lebih baik karena jumlah interaksi yang lebih tinggi.

Untuk mendapatkan metrik performa, Amazon Personalize membagi data interaksi input menjadi set pelatihan, set pengujian, dan untuk PERSONALIZED_ACTIONS, set validasi. Pembagian tergantung pada jenis resep yang Anda pilih:

  • Untuk resep USER_SEGMENTATION, set pelatihan terdiri dari 80% data interaksi setiap pengguna dan set pengujian terdiri dari 20% dari data interaksi setiap pengguna.

  • Untuk semua jenis resep lainnya, set pelatihan terdiri dari 90% pengguna Anda dan data interaksinya. Set pengujian terdiri dari 10% sisa pengguna dan data interaksi mereka.

Amazon Personalize kemudian membuat versi solusi menggunakan set pelatihan. Setelah pelatihan selesai, Amazon Personalize memberikan versi solusi baru 90% tertua dari setiap data pengguna dari set pengujian sebagai input. Amazon Personalize kemudian menghitung metrik dengan membandingkan rekomendasi yang dihasilkan versi solusi dengan interaksi aktual dalam 10% terbaru dari setiap data pengguna dari set pengujian.

Untuk menghasilkan garis dasar untuk tujuan perbandingan, kami sarankan menggunakan Hitungan Popularitas resep, yang merekomendasikan item K paling populer teratas.

Mengambil metrik versi solusi

Setelah membuat versi solusi, Anda dapat menggunakan metrik untuk mengevaluasi kinerjanya. Anda dapat mengambil metrik untuk versi solusi dengan Amazon Personalize console AWS Command Line Interface ,AWS CLI(), dan SDK. AWS

Mengambil metrik versi solusi (konsol)

Untuk melihat metrik pemberi rekomendasi di konsol, Anda menavigasi ke halaman detail untuk versi solusi Anda.

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

  2. Pada halaman grup Dataset, pilih grup Dataset Kustom Anda.

  3. Dari panel navigasi, pilih Sumber daya khusus, lalu pilih Solusi dan resep.

  4. Pilih solusi Anda.

  5. Dalam versi Solusi, pilih versi solusi Anda untuk melihat halaman detailnya. Metrik tercantum pada tab Metrik versi Solusi di panel bawah. Untuk definisi metrik, lihatDefinisi metrik.

    Setelah mengevaluasi versi solusi, Anda dapat membuat kampanye dengan menerapkan versi solusi dengan metrik terbaik untuk kasus penggunaan Anda. Untuk informasi selengkapnya tentang penerapan solusi, lihatMenerapkan versi solusi Amazon Personalize dengan kampanye.

Mengambil metrik versi solusi ()AWS CLI

Anda mengambil metrik untuk versi solusi tertentu dengan memanggil operasi. GetSolutionMetrics Kode berikut menunjukkan cara mengambil metrik dengan. AWS CLI

personalize get-solution-metrics --solution-version-arn solution version ARN

Berikut ini adalah contoh output dari versi solusi yang dibuat menggunakan Personalisasi Pengguna resep dengan tujuan optimasi tambahan.

{ "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/SolutionName/<version-id>", "metrics": { "coverage": 0.27, "mean_reciprocal_rank_at_25": 0.0379, "normalized_discounted_cumulative_gain_at_5": 0.0405, "normalized_discounted_cumulative_gain_at_10": 0.0513, "normalized_discounted_cumulative_gain_at_25": 0.0828, "precision_at_5": 0.0136, "precision_at_10": 0.0102, "precision_at_25": 0.0091, "average_rewards_at_k": 0.653 } }

Untuk penjelasan dari setiap metrik, lihatDefinisi metrik. Setelah mengevaluasi versi solusi, Anda dapat membuat kampanye dengan menerapkan versi solusi dengan metrik terbaik untuk kasus penggunaan Anda. Untuk informasi selengkapnya tentang penerapan solusi, lihatMenerapkan versi solusi Amazon Personalize dengan kampanye.

Mengambil metrik versi solusi (SDK)AWS

Anda mengambil metrik untuk versi solusi tertentu dengan memanggil operasi. GetSolutionMetrics Gunakan kode berikut untuk mengambil metrik.

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.get_solution_metrics( solutionVersionArn = 'solution version arn') print(response['metrics'])
SDK for Java 2.x
public static void getSolutionVersionMetrics(PersonalizeClient personalizeClient, String solutionVersionArn) { try { GetSolutionMetricsRequest request = GetSolutionMetricsRequest.builder() .solutionVersionArn(solutionVersionArn) .build(); Map<String, Double> metrics = personalizeClient.getSolutionMetrics(request).metrics(); metrics.forEach((key, value) -> System.out.println(key + " " + value)); } catch (PersonalizeException e ) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Berikut ini adalah contoh output dari versi solusi yang dibuat menggunakan Personalisasi Pengguna resep dengan tujuan optimasi tambahan.

{ "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>", "metrics": { "coverage": 0.27, "mean_reciprocal_rank_at_25": 0.0379, "normalized_discounted_cumulative_gain_at_5": 0.0405, "normalized_discounted_cumulative_gain_at_10": 0.0513, "normalized_discounted_cumulative_gain_at_25": 0.0828, "precision_at_5": 0.0136, "precision_at_10": 0.0102, "precision_at_25": 0.0091, "average_rewards_at_k": 0.653 } }

Untuk penjelasan dari setiap metrik, lihatDefinisi metrik. Setelah mengevaluasi versi solusi, Anda dapat membuat kampanye dengan menerapkan versi solusi dengan metrik terbaik untuk kasus penggunaan Anda. Untuk informasi selengkapnya tentang penerapan solusi, lihatMenerapkan versi solusi Amazon Personalize dengan kampanye.

Definisi metrik

Metrik yang dihasilkan Amazon Personalize untuk versi solusi dijelaskan di bawah ini menggunakan istilah berikut:

  • Rekomendasi yang relevan adalah rekomendasi untuk item yang benar-benar berinteraksi dengan pengguna. Item ini berasal dari 10% terbaru dari data interaksi setiap pengguna dari set pengujian.

  • Peringkat mengacu pada posisi item yang direkomendasikan dalam daftar rekomendasi. Posisi 1 (bagian atas daftar) dianggap paling relevan bagi pengguna.

Untuk setiap metrik, angka yang lebih tinggi (mendekati 1) lebih baik. Untuk menyelam lebih dalam, lihat sumber daya yang tercantum diSumber daya tambahan.

cakupan

Nilai cakupan memberi tahu Anda proporsi item unik (untuk rekomendasi item), tindakan (untuk rekomendasi tindakan), atau pengguna (untuk rekomendasi segmen pengguna), yang mungkin direkomendasikan Amazon Personalize dari jumlah total catatan unik dalam kumpulan data Anda.

Skor cakupan yang lebih tinggi berarti Amazon Personalize merekomendasikan lebih banyak katalog Anda, daripada catatan yang sama berulang kali. Resep yang menampilkan eksplorasi item, seperti Personalisasi Pengguna, memiliki cakupan yang lebih tinggi daripada yang tidak, seperti Item Serupa.

rata-rata peringkat timbal balik pada 25

Metrik ini memberi tahu Anda tentang kemampuan model untuk menghasilkan rekomendasi item yang relevan di posisi peringkat teratas.

Anda dapat memilih model dengan peringkat timbal balik rata-rata tinggi di 25 jika Anda menghasilkan hasil pencarian item untuk pengguna, dan jangan berharap pengguna memilih item yang lebih rendah dalam daftar. Misalnya, pengguna sering memilih resep memasak pertama di hasil pencarian. Amazon Personalize tidak menghasilkan metrik ini untuk resep PERSONALIZED_ACTIONS atau USER_SEGMENTATION.

Amazon Personalize menghitung metrik ini menggunakan skor peringkat timbal balik rata-rata untuk permintaan rekomendasi. Setiap skor peringkat timbal balik dihitung sebagai berikut:1 / the rank of the highest item interacted with by the user, di mana total peringkat yang mungkin adalah 25. Item berperingkat rendah lainnya yang berinteraksi dengan pengguna diabaikan. Jika pengguna memilih item pertama, skornya adalah 1. Jika mereka tidak memilih item apa pun, skornya adalah 0.

Misalnya, Anda mungkin menampilkan tiga pengguna yang berbeda 25 rekomendasi masing-masing:

  • Jika Pengguna 1 mengklik item di peringkat 4 dan item di peringkat 10, skor peringkat timbal balik mereka adalah 1/4.

  • Jika Pengguna 2 mengklik item di peringkat 2, item di peringkat 4, dan item di peringkat 12, skor peringkat timbal balik mereka adalah 1/2.

  • Jika Pengguna 3 mengklik satu item di peringkat 6, skor peringkat timbal balik mereka adalah 1/6.

Peringkat timbal balik rata-rata atas semua permintaan rekomendasi (dalam hal ini 3) dihitung sebagai. (1/4 + 1/2 + 1/6) / 3 = .3056

keuntungan kumulatif diskon yang dinormalisasi (NDCG) di K (5/10/25)

Metrik ini memberi tahu Anda tentang seberapa baik model Anda memberi peringkat item atau rekomendasi tindakan, di mana K adalah ukuran sampel 5, 10, atau 25 rekomendasi. Metrik ini berguna jika Anda paling tertarik dengan peringkat rekomendasi di luar hanya item atau tindakan peringkat tertinggi (untuk ini, lihatmean reciprocal rank at 25). Misalnya, skor untuk NDCG at 10 akan berguna jika Anda memiliki aplikasi yang menampilkan hingga 10 film dalam korsel sekaligus.

Amazon Personalize menghitung NDCG dengan menetapkan bobot rekomendasi berdasarkan posisi peringkat mereka untuk setiap pengguna dalam set pengujian. Setiap rekomendasi didiskon (diberi bobot yang lebih rendah) oleh faktor yang bergantung pada posisinya. Metrik akhir adalah rata-rata NDCG at K untuk semua pengguna di set pengujian. NDCG at KMengasumsikan bahwa rekomendasi yang lebih rendah dalam daftar kurang relevan daripada rekomendasi yang lebih tinggi dalam daftar.

Amazon Personalize menggunakan faktor pembobotan1/log(1 + position), di mana bagian atas daftar adalah posisi. 1

presisi di K

Metrik ini memberi tahu Anda seberapa relevan rekomendasi model Anda berdasarkan ukuran sampel rekomendasi K (5, 10, atau 25).

Amazon Personalize menghitung metrik ini berdasarkan jumlah rekomendasi yang relevan dari rekomendasi K teratas untuk setiap pengguna dalam set pengujian, dibagi dengan K, di mana K adalah 5, 10, atau 25. Metrik akhir adalah rata-rata di semua pengguna dalam set pengujian.

Misalnya, jika Anda merekomendasikan 10 item kepada pengguna, dan pengguna berinteraksi dengan 3 item, presisi di K adalah 3 item yang diprediksi dengan benar dibagi dengan total 10 item yang direkomendasikan:3 / 10 = .30.

Metrik ini menghargai rekomendasi yang tepat dari item yang relevan. Semakin dekat skornya ke satu, semakin tepat modelnya.

ketepatan

Jika Anda melatih versi solusi dengan resep Next-Best-Action, Amazon Personalize menghasilkan metrik, bukan. precision precision at K Metrik ini memberi tahu Anda seberapa bagus model Anda dalam memprediksi tindakan yang sebenarnya akan diambil pengguna.

Untuk menghitungprecision, untuk setiap tindakan dalam kumpulan data Anda, Amazon Personalize membagi jumlah pengguna yang diprediksi dengan benar untuk mengambil tindakan dengan jumlah kali tindakan direkomendasikan. Amazon Personalize kemudian menghitung rata-rata untuk semua tindakan dalam kumpulan data Anda.

Misalnya, jika tindakan direkomendasikan untuk 100 pengguna, dan 60 pengguna mengambil tindakan dan 40 pengguna yang tidak, tindakan tersebut adalah:60 / 100 = .60. precision Amazon Personalize kemudian menerapkan perhitungan ini untuk semua tindakan dan mengembalikan rata-rata.

Metrik ini menghargai rekomendasi yang tepat dari tindakan yang relevan. Semakin dekat skornya ke satu, semakin tepat modelnya.

rata-rata_rewards_at_k

Saat Anda membuat versi solusi (melatih model) untuk solusi dengan tujuan pengoptimalan, Amazon Personalize menghasilkan metrik. average_rewards_at_k Skor untuk average_rewards_at_k memberi tahu Anda seberapa baik kinerja versi solusi dalam mencapai tujuan Anda. Untuk menghitung metrik ini, Amazon Personalize menghitung hadiah untuk setiap pengguna sebagai berikut:

rewards_per_user = total rewards from the user's interactions with their top 25 reward generating recommendations / total rewards from the user's interactions with recommendations

Final average_rewards_at_k adalah rata-rata semua rewards_per_user dinormalisasi menjadi nilai desimal kurang dari atau sama dengan 1 dan lebih besar dari 0. Semakin dekat nilainya ke 1, semakin banyak keuntungan rata-rata per pengguna yang dapat Anda harapkan dari rekomendasi.

Misalnya, jika tujuan Anda adalah memaksimalkan pendapatan dari klik, Amazon Personalize menghitung setiap skor pengguna dengan membagi total pendapatan yang dihasilkan oleh item yang diklik pengguna dari 25 rekomendasi termahal teratas mereka dengan pendapatan dari semua item yang direkomendasikan yang diklik pengguna. Amazon Personalize kemudian mengembalikan rata-rata yang dinormalisasi dari semua skor pengguna. Semakin average_rewards_at_k dekat ke 1, semakin banyak pendapatan rata-rata yang dapat Anda peroleh per pengguna dari rekomendasi.

Untuk informasi selengkapnya, lihat Mengoptimalkan solusi untuk tujuan tambahan.

akurasi prediksi tren

Jika Anda melatih versi solusi dengan Trend-Sekarang resep, tingkat peningkatan popularitas item yang direkomendasikan oleh model. Semakin tinggi akurasi prediksi tren (semakin dekat ke 1), semakin baik model dalam mengidentifikasi item yang sedang tren dengan benar.

Untuk menghitung akselerasi popularitas, Amazon Personalize membagi tingkat peningkatan popularitas di semua item yang direkomendasikan dengan peningkatan popularitas total dari 25 item tren teratas. Item ini berasal dari interaksi aktual dalam set pengujian.

Bergantung pada distribusi data Anda dan apa yang Anda pilih untuk frekuensi penemuan Trend, nilai akurasi prediksi tren bisa 0,0.

memukul (memukul di K)

Jika Anda melatih versi solusi dengan resep USER_SEGMENTATION, jumlah rata-rata pengguna dalam hasil K relevan teratas yang diprediksi akan cocok dengan pengguna sebenarnya. Pengguna sebenarnya adalah pengguna yang benar-benar berinteraksi dengan item dalam set pengujian. K adalah 1% teratas dari pengguna yang paling relevan. Semakin tinggi nilainya semakin akurat prediksi.

ingat (ingat di K)

Jika Anda melatih versi solusi dengan resep USER_SEGMENTATION, persentase rata-rata pengguna yang diprediksi dalam hasil K relevan teratas yang diprediksi yang cocok dengan pengguna sebenarnya. Pengguna sebenarnya adalah pengguna yang benar-benar berinteraksi dengan item dalam set pengujian. K adalah 1% teratas dari pengguna yang paling relevan. Semakin tinggi nilainya, semakin akurat prediksi.

penarikan

Jika Anda melatih versi solusi dengan resep Next-Best-Action, metrik ini memberi tahu Anda seberapa bagus versi solusi Anda dalam menemukan tindakan yang akan berinteraksi dengan pengguna.

Untuk menghitungrecall, untuk setiap tindakan dalam kumpulan data Anda, Amazon Personalize membagi jumlah pengguna yang diprediksi dengan benar untuk mengambil tindakan dengan jumlah total pengguna yang benar-benar mengambil tindakan dalam set pengujian. Amazon Personalize kemudian menghitung rata-rata untuk semua tindakan dalam kumpulan data Anda.

Misalnya, jika 100 pengguna mengambil tindakan dalam set pengujian, dan Amazon Personalize memperkirakan 50 pengguna ini akan mengambil tindakan, tindakan recall untuk tindakan tersebut adalah: 50 / 100 = .50 Amazon Personalize kemudian menerapkan perhitungan ini untuk semua tindakan dan mengembalikan rata-rata.

Area di bawah kurva (AUC)

Jika Anda melatih versi solusi dengan resep PERSONALIZED_ACTIONS, area di bawah kurva Karakteristik Operasi Penerima untuk versi solusi Anda. Metrik ini memberi tahu Anda seberapa baik kinerja versi solusi dalam mengidentifikasi tindakan yang akan dilakukan pengguna dengan benar.

Kurva Karakteristik Operasi Penerima memplot kinerja versi solusi. Ini memplot tingkat positif sejati (tindakan yang diprediksi dengan benar sebagai relevan) dan positif palsu (tindakan yang salah diprediksi sebagai relevan) pada nilai ambang batas yang berbeda. Area di bawah kurva (AUC) adalah skor yang merangkum kinerja versi solusi berdasarkan kurvanya.

AUC dari versi solusi dapat antara 0 dan 1. Semakin dekat ke 1, semakin baik model dalam memprediksi tindakan yang relevan untuk pengguna Anda.

Contoh

Berikut ini adalah contoh sederhana untuk versi solusi yang menghasilkan daftar rekomendasi untuk pengguna tertentu. Rekomendasi kedua dan kelima cocok dengan catatan dalam data pengujian untuk pengguna ini. Ini adalah rekomendasi yang relevan. Jika K diatur pada5, metrik berikut dihasilkan untuk pengguna.

reciprocal_rank

Perhitungan: 1/2

Hasil: 0.5000

normalized_discounted_cumulative_gain_at_5

Perhitungan: (1/log (1 + 2) + 1/log (1 + 5))/(1/log (1 + 1) + 1/log (1 + 2))

Hasil: 0.6241

presisi_at_5

Perhitungan: 2/5

Hasil: 0.4000

Sumber daya tambahan

Untuk informasi tentang mengevaluasi versi solusi dengan pengujian A/B, lihat Menggunakan pengujian A/B untuk mengukur kemanjuran rekomendasi yang dihasilkan oleh Amazon Personalize. Untuk menyelami lebih dalam berbagai jenis metrik untuk sistem pemberi rekomendasi, lihat sumber daya eksternal berikut: