Evaluasi Pemberi Rekomendasi
Penting
Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.
Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.
- Lihat informasi tentang memindahkan proyek pembelajaran mesin dari ML Studio (klasik) ke Azure Machine Learning.
- Mer informasjon tentang Azure Machine Learning.
ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.
Mengevaluasi keakuratan prediksi model recommender
Kategori: Pembelajaran Mesin / Evaluasi
Catatan
Berlaku untuk: Pembelajaran Mesin Studio (klasik) saja
Modul drag-and-drop serupa tersedia di Azure Machine Learning desainer.
Ringkasan Modul
Artikel ini menjelaskan cara menggunakan modul Evaluat Recommender di Pembelajaran Mesin Studio (klasik), untuk mengukur keakuratan prediksi yang dibuat oleh model rekomendasi. Dengan menggunakan modul ini, Anda dapat mengevaluasi empat jenis rekomendasi yang berbeda:
Peringkat yang diprediksi untuk pengguna dan item tertentu
Item yang direkomendasikan untuk pengguna tertentu
Daftar pengguna yang ditemukan terkait dengan pengguna tertentu
Daftar item yang ditemukan terkait dengan item tertentu
Saat Anda membuat prediksi menggunakan model rekomendasi, hasil yang sedikit berbeda dikembalikan untuk masing-masing jenis prediksi yang didukung ini. Modul Evaluat Recommender menyimpulkan jenis prediksi dari format kolom himpunan data yang dicetak. Misalnya, himpunan data yang dinilai mungkin berisi:
- peringkat user-item tiga kali lipat
- pengguna dan item yang direkomendasikan
- Pengguna dan pengguna terkait mereka
- item dan item terkaitnya
Modul ini juga menerapkan metrik performa yang sesuai, berdasarkan jenis prediksi yang dibuat.
Tip
Pelajari semua yang perlu Anda ketahui tentang pengalaman end-to-end membangun sistem rekomendasi dalam tutorial ini dari tim pengembangan .NET. Termasuk kode sampel dan diskusi tentang cara menelepon Pembelajaran Mesin dari aplikasi.
Membangun mesin rekomendasi untuk aplikasi .NET menggunakan Pembelajaran Mesin
Cara mengonfigurasi Evaluasi Pemberi Rekomendasi
Modul Evaluat Recommender membandingkan output prediksi dengan model rekomendasi dengan data "kebenaran dasar" yang sesuai. Misalnya, modul Score Matchbox Recommender menghasilkan himpunan data yang dicetak yang dapat dianalisis dengan Evaluate Recommender.
Persyaratan
Evaluasi Recommender memerlukan himpunan data berikut sebagai input.
Himpunan data pengujian
Dataset pengujian berisi data "kebenaran dasar" dalam bentuk peringkat item pengguna tiga kali lipat.
Jika Anda sudah memiliki himpunan data yang berisi peringkat item pengguna tiga kali lipat, Anda dapat menerapkan modul Split Data , menggunakan opsi RecommenderSplit , untuk membuat himpunan data pelatihan dan kumpulan pengujian terkait dari himpunan data yang ada.
Himpunan data dengan skor
Himpunan data yang dinilai berisi prediksi yang dihasilkan oleh model rekomendasi.
Kolom dalam himpunan data kedua ini bergantung pada jenis prediksi yang Anda lakukan selama penilaian. Misalnya, himpunan data yang dicetak mungkin berisi salah satu hal berikut:
- Pengguna, item, dan peringkat yang kemungkinan akan diberikan pengguna untuk item tersebut
- Daftar pengguna dan item yang direkomendasikan untuk pengguna
- Daftar pengguna, dengan pengguna yang mungkin mirip dengan mereka
- Daftar item, bersama dengan item smiliar
Metrik
Metrik performa untuk model dihasilkan berdasarkan jenis input. Untuk detailnya, lihat bagian berikut:
- Mengevaluasi prediksi peringkat
- Mengevaluasi rekomendasi item
- Mengevaluasi prediksi pengguna terkait
- Mengevaluasi prediksi item terkait
Mengevaluasi prediksi peringkat
Saat mengevaluasi peringkat yang diprediksi, himpunan data yang dinilai (input kedua untuk Mengevaluasi Recommender) harus berisi peringkat item pengguna tiga kali lipat, memenuhi persyaratan ini:
Kolom pertama himpunan data berisi pengidentifikasi pengguna.
Kolom kedua berisi ID item.
Kolom ketiga berisi peringkat pengguna-item terkait.
Penting
Agar evaluasi berhasil dilakukan, masing-masing nama kolom harus berupa User
, Item
, dan Rating
.
Evaluate Recommender membandingkan peringkat dalam himpunan data kebenaran dasar dengan peringkat yang diprediksi dari himpunan data yang dicetak, dan menghitung kesalahan absolut rata-rata (MAE) dan kesalahan kuadrat rata-rata akar (RMSE).
Parameter lain dari Evaluat Recommender tidak berpengaruh pada evaluasi prediksi peringkat.
Mengevaluasi rekomendasi item
Saat mengevaluasi rekomendasi item, gunakan himpunan data yang dinilai yang menyertakan item yang direkomendasikan untuk setiap pengguna:
Kolom pertama himpunan data harus berisi ID pengguna.
Semua kolom berikutnya harus berisi ID item yang direkomendasikan yang sesuai, diurutkan berdasarkan seberapa relevan item tersebut bagi pengguna.
Sebelum menghubungkan himpunan data ini, kami sarankan Anda mengurutkan himpunan data sehingga item yang paling relevan menjadi yang utama.
Parameter lain dari Evaluat Recommender tidak berpengaruh pada evaluasi rekomendasi item.
Penting
Agar Evaluat Recommender berfungsi, nama kolom harus User
, , Item 1
, Item 2
, Item 3
dan sebagainya.
Evaluasi Recommender menghitung rata-rata keuntungan kumulatif diskon yang dinormalisasi (NDCG) dan mengembalikannya dalam himpunan data output.
Karena tidak mungkin untuk mengetahui "kebenaran dasar" yang sebenarnya untuk item yang direkomendasikan, Evaluat Recommender menggunakan peringkat item pengguna dalam dataset pengujian sebagai keuntungan dalam perhitungan NDCG. Untuk mengevaluasi, modul penilaian recommender hanya boleh menghasilkan rekomendasi untuk item dengan peringkat kebenaran dasar (dalam himpunan data pengujian).
Mengevaluasi prediksi pengguna terkait
Saat mengevaluasi prediksi pengguna terkait, gunakan himpunan data yang dinilai yang berisi pengguna terkait untuk setiap pengguna yang menarik:
Kolom pertama harus berisi pengidentifikasi untuk setiap pengguna yang menarik.
Semua kolom berikutnya berisi pengidentifikasi untuk pengguna terkait yang diprediksi. Pengguna terkait dipesan oleh kekuatan realtionship (sebagian besar pengguna terkait terlebih dahulu).
Agar Evaluat Recommender berfungsi, nama kolom harus
User
, ,Related User 1
,Related User 2
,Related User 3
, dan sebagainya.
Tip
Anda dapat memengaruhi evaluasi dengan menetapkan jumlah minimum item yang harus dimiliki pengguna dan pengguna terkaitnya.
Evaluate Recommender menghitung rata-rata keuntungan kumulatif diskon yang dinormalisasi (NDCG), berdasarkan jarak Manhattan (L1 Sim NDCG) dan Euclidean (L2 Sim NDCG), dan mengembalikan kedua nilai dalam himpunan data output. Karena tidak ada kebenaran dasar yang sebenarnya untuk pengguna terkait, Evaluate Recommender menggunakan prosedur berikut untuk menghitung NDCGs rata-rata.
Untuk setiap pengguna yang tertarik dengan himpunan data yang dicetak:
Temukan semua item dalam himpunan data pengujian yang telah dinilai oleh pengguna yang menarik dan pengguna terkait yang sedang dipertimbangkan.
Buat dua vektor dari peringkat item ini: satu untuk pengguna yang menarik, dan satu untuk pengguna terkait yang sedang dipertimbangkan.
Hitung keuntungan sebagai kesamaan dari dua vektor peringkat yang dihasilkan, dalam hal jarak Manhattan (L1) atau Euclidean (L2) mereka.
Hitung L1 Sim NDCG dan L2 Sim NDCG, menggunakan keuntungan dari semua pengguna terkait.
Rata-rata nilai NDCG atas semua pengguna dalam himpunan data yang dicetak.
Dengan kata lain, keuntungan dihitung sebagai kesamaan (dinormalisasi Manhattan atau jarak Euclidian) antara pengguna yang menarik (entri di kolom pertama dataset yang dinilai) dan pengguna terkait yang diberikan (entri di kolom ke-n dari dataset yang dicetak). Keuntungan dari pasangan pengguna ini dihitung menggunakan semua item yang kedua item telah dinilai dalam data asli (set uji). NDCG kemudian dihitung dengan menggabungkan keuntungan individu untuk satu pengguna yang menarik dan semua pengguna terkait, menggunakan diskon logaritmik. Artinya, satu nilai NDCG dihitung untuk setiap pengguna yang menarik (setiap baris dalam himpunan data yang dicetak). Angka yang akhirnya dilaporkan adalah rata-rata aritmatika atas semua pengguna yang tertarik pada dataset yang dicetak (yaitu barisnya).
Oleh karena itu, untuk mengevaluasi, modul penilaian recommender hanya boleh memprediksi pengguna terkait yang memiliki item dengan peringkat kebenaran dasar (dalam dataset pengujian).
Mengevaluasi prediksi item terkait
Saat mengevaluasi prediksi item terkait, gunakan himpunan data yang dicetak yang berisi item terkait untuk setiap item yang menarik:
Kolom pertama harus berisi pengidentifikasi untuk item yang menarik.
Semua kolom berikutnya harus berisi pengidentifikasi untuk item terkait yang diprediksi, dipesan oleh seberapa terkaitnya dengan item yang menarik (sebagian besar item terkait terlebih dahulu).
Agar Evaluat Recommender berfungsi, nama kolom harus
Item
, ,Related Item 1
,Related Item 2
,Related Item 3
, dan sebagainya.
Tip
Anda dapat memengaruhi evaluasi dengan menetapkan jumlah minimum pengguna yang harus dimiliki oleh item yang menarik dan item terkaitnya.
Evaluate Recommender menghitung rata-rata keuntungan kumulatif diskon yang dinormalisasi (NDCG) berdasarkan jarak Manhattan (L1 Sim NDCG) dan Euclidean (L2 Sim NDCG) dan mengembalikan kedua nilai dalam himpunan data output. Karena tidak ada kebenaran dasar yang sebenarnya untuk item terkait, Evaluat Recommender menghitung NDCGs rata-rata sebagai berikut:
Untuk setiap item yang menarik dalam himpunan data yang dicetak:
Temukan semua pengguna dalam himpunan data pengujian yang telah menilai item yang menarik dan item terkait yang sedang dipertimbangkan.
Buat dua vektor dari peringkat pengguna ini, satu untuk item yang menarik dan untuk item terkait yang sedang dipertimbangkan.
Hitung keuntungan sebagai kesamaan dari dua vektor peringkat yang dihasilkan dalam hal jarak Manhattan (L1) atau Euclidean (L2) mereka.
Hitung L1 Sim NDCG dan L2 Sim NDCG menggunakan keuntungan dari semua item terkait.
Rata-rata nilai NDCG atas semua item yang menarik dalam himpunan data yang dicetak.
Dengan kata lain, keuntungan dihitung sebagai kesamaan (dinormalisasi Manhattan atau jarak Euclidian) antara item yang menarik (entri di kolom pertama dataset yang dicetak) dan item terkait yang diberikan (entri di kolom ke-n dari dataset yang dicetak). Keuntungan dari pasangan item ini dihitung menggunakan semua pengguna yang telah menilai kedua item ini dalam data asli (set pengujian). NDCG kemudian dihitung dengan menggabungkan keuntungan individu untuk satu item yang menarik dan semua item terkait, menggunakan diskon logaritmik. Artinya, satu nilai NDCG dihitung untuk setiap item yang menarik (setiap baris dalam himpunan data yang dicetak). Angka yang akhirnya dilaporkan adalah rata-rata aritmatika atas semua item yang menarik dalam dataset yang dicetak (yaitu barisnya).
Oleh karena itu, untuk mengevaluasi, modul penilaian recommender hanya boleh memprediksi item terkait dengan peringkat kebenaran dasar (dalam dataset pengujian).
Contoh
Untuk contoh bagaimana model rekomendasi digunakan dalam Pembelajaran Mesin, lihat Galeri AI Azure:
Sampel rekomendasi film: Menunjukkan cara melatih, mengevaluasi, dan mencetak skor menggunakan model rekomendasi.
Membangun mesin rekomendasi untuk aplikasi .NET menggunakan Pembelajaran Mesin: Blog ini memberikan deskripsi terperinci tentang cara membuat model rekomendasi film.
Input yang diharapkan
Nama | Jenis | Deskripsi |
---|---|---|
Himpunan data pengujian | Tabel Data | Himpunan data pengujian |
Himpunan data dengan skor | Tabel Data | Himpunan data dengan skor |
Parameter modul
Nama | Rentang | Jenis | Default | Deskripsi |
---|---|---|---|---|
Jumlah minimum item yang pengguna kueri dan pengguna terkait harus memiliki nilai yang sama | >=1 | Bilangan bulat | 2 | Tentukan jumlah minimum item yang harus dinilai oleh pengguna kueri dan pengguna terkait Parameter ini bersifat opsional |
Jumlah minimum pengguna bahwa item kueri dan item terkait harus dinilai secara umum | >=1 | Bilangan bulat | 2 | Tentukan jumlah minimum pengguna yang harus menilai item kueri dan item terkait Parameter ini bersifat opsional |
Output
Nama | Jenis | Deskripsi |
---|---|---|
Metrik | Tabel Data | Tabel metrik evaluasi |
Pengecualian
Pengecualian | Deskripsi |
---|---|
Kesalahan 0022 | Pengecualian terjadi jika jumlah kolom yang dipilih dalam himpunan data input tidak sama dengan angka yang diharapkan. |
Kesalahan 0003 | Pengecualian terjadi jika satu atau beberapa input null atau kosong. |
Kesalahan 0017 | Pengecualian terjadi jika satu atau beberapa kolom tertentu memiliki jenis yang tidak didukung oleh modul saat ini. |
Kesalahan 0034 | Pengecualian terjadi jika ada lebih dari satu peringkat untuk pasangan item pengguna yang diberikan. |
Kesalahan 0018 | Pengecualian terjadi jika input himpunan data tidak valid. |
Kesalahan 0002 | Pengecualian terjadi jika satu atau beberapa parameter tidak dapat diurai atau dikonversi dari jenis yang ditentukan menjadi diperlukan oleh jenis metode target. |
Untuk daftar kesalahan khusus untuk modul Studio (klasik), lihat Pembelajaran Mesin Kode kesalahan.
Untuk daftar pengecualian API, lihat Pembelajaran Mesin Kode Kesalahan REST API.
Lihat juga
Rekomendasi Kotak Korek Api Kereta Api
Peng recommender Matchbox Skor