Valutazione di un programma di raccomandazione di domini Amazon Personalize - Amazon Personalize

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Valutazione di un programma di raccomandazione di domini Amazon Personalize

Puoi valutare le prestazioni del tuo consulente tramite metriche offline e online. Le metriche online sono i risultati empirici che osservi nelle interazioni degli utenti con consigli in tempo reale. Ad esempio, potresti registrare la percentuale di clic degli utenti mentre navigano nel tuo catalogo. Sei responsabile della generazione e della registrazione di qualsiasi metrica online.

Le metriche offline sono le metriche generate da Amazon Personalize quando crei un programma di raccomandazione. Con le metriche offline, puoi valutare le prestazioni dei modelli che supportano il tuo programma di raccomandazione. Puoi visualizzare gli effetti della modifica della configurazione di un consulente e confrontare i risultati di consigliatori formati in diversi casi d'uso con gli stessi dati nello stesso gruppo di set di dati.

Evita di confrontare le metriche di diversi consiglieri formati con dati diversi. La differenza nelle metriche potrebbe derivare dalla differenza nei dati piuttosto che nelle prestazioni del modello. Ad esempio, potreste avere un gruppo di set di dati con dati di purchase eventi sparsi per ogni utente e un altro con dati di eventi affidabiliview. In base a metriche comeprecision at K, il programma di raccomandazione addestrato sulla visualizzazione dei dati degli eventi potrebbe erroneamente apparire migliore a causa del maggior numero di interazioni.

Per ottenere metriche prestazionali, Amazon Personalize suddivide i dati sulle interazioni di input in un set di formazione e un set di test. Il set di formazione è composto dal 90% dei tuoi utenti e dei loro dati di interazione. Il set di test è composto dal restante 10% di utenti e dai relativi dati sulle interazioni.

Amazon Personalize crea quindi il programma di raccomandazione utilizzando il set di formazione. Al termine del corso di formazione, Amazon Personalize fornisce al nuovo consulente come input il 90% dei dati più vecchi di ciascun utente del set di test. Amazon Personalize calcola quindi le metriche confrontando i consigli generati dal programma di raccomandazione con le interazioni effettive nel 10% più recente dei dati di ciascun utente del set di test.

Recupero delle metriche

Dopo che il programma di raccomandazione è attivo, puoi visualizzarne i parametri nella console Amazon Personalize o recuperarli chiamando l'operazione. DescribeRecommender

Visualizzazione delle metriche (console)

Per visualizzare le metriche del consulente nella console, accedi alla pagina dei dettagli del tuo consulente.

  1. Apri la console Amazon Personalize all'indirizzo https://console.aws.amazon.com/personalize/home e accedi al tuo account.

  2. Nella pagina dei gruppi di set di dati, scegli il gruppo di set di dati di Domain.

  3. Dal riquadro di navigazione, scegli Consigliatori.

  4. Dall'elenco dei consiglieri, scegli quello per visualizzarne le metriche.

Recupero delle metriche ()AWS CLI

Il codice seguente mostra come ottenere le metriche per un consulente con. AWS CLI

aws personalize describe-recommender \ --recommender-arn recommender arn

Di seguito è riportato un esempio delle metriche emesse da un programma di consulenza creato per il caso d'uso Top picks for you per il dominio VIDEO_ON_DEMAND.

{ "recommender": { "recommenderArn": "arn:aws:personalize:region:acct-id:recommender/recommenderName", "datasetGroupArn": "arn:aws:personalize:region:acct-id:dataset-group/dsGroupName", "name": "name123", "recipeArn": "arn:aws:personalize:::recipe/aws-vod-top-picks", "modelMetrics": { "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, } "recommenderConfig": {}, "creationDateTime": "2022-05-06T10:11:24.589000-07:00", "lastUpdatedDateTime": "2022-05-06T10:34:33.270000-07:00", "status": "ACTIVE", } }

AWS Recupero delle metriche (SDK)

Il codice seguente mostra come ottenere le metriche per un programma di raccomandazione con l'SDK for Python (Boto3).

import boto3 personalize = boto3.client('personalize') response = personalize.describe_recommender( recommenderArn = 'recommender_arn' ) print(response['recommender']['modelMetrics'])

Di seguito è riportato un esempio delle metriche emesse da un programma di raccomandazione creato per il caso d'uso Top picks for you per il dominio VIDEO_ON_DEMAND.

{ "recommender": { "recommenderArn": "arn:aws:personalize:region:acct-id:recommender/recommenderName", "datasetGroupArn": "arn:aws:personalize:region:acct-id:dataset-group/dsGroupName", "name": "name123", "recipeArn": "arn:aws:personalize:::recipe/aws-vod-top-picks", "modelMetrics": { "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, } "recommenderConfig": {}, "creationDateTime": "2022-05-06T10:11:24.589000-07:00", "lastUpdatedDateTime": "2022-05-06T10:34:33.270000-07:00", "status": "ACTIVE", } }

Definizioni delle metriche

Le metriche generate da Amazon Personalize per i consiglieri sono descritte di seguito utilizzando i seguenti termini:

  • La raccomandazione pertinente è una raccomandazione per un articolo con cui l'utente ha effettivamente interagito. Questi elementi provengono dal 10% più recente dei dati sulle interazioni di ciascun utente del set di test.

  • Classifica: si riferisce alla posizione di un elemento consigliato nell'elenco delle raccomandazioni. Posizione 1 (all’inizio dell’elenco) è presumibilmente l’elemento più rilevante per l'utente.

Per ogni metrica, i numeri più alti (più vicini a 1) sono migliori. Per approfondire, consulta le risorse elencate inRisorse aggiuntive.

copertura

Il valore di copertura indica la percentuale di articoli unici che Amazon Personalize potrebbe consigliare rispetto al numero totale di articoli unici nei set di dati Interazioni e Articoli. Un punteggio di copertura più elevato significa che Amazon Personalize consiglia un numero maggiore di articoli anziché gli stessi articoli ripetutamente per diversi utenti. I casi d'uso che prevedono l'esplorazione degli articoli, ad esempio Top picks for you (VIDEO_ON_DEMAND) e Recommended for you (ECOMMERCE), hanno una copertura più ampia rispetto a quelli che non lo fanno.

classificazione reciproca media a 25

Questa metrica indica la capacità di un modello di generare una raccomandazione pertinente nella prima posizione. Potresti scegliere un modello con un rango reciproco medio elevato, pari a 25, se stai generando risultati di ricerca pertinenti per un utente e non ti aspetti che l'utente scelga un elemento più in basso nell'elenco. Ad esempio, gli utenti scelgono spesso la prima ricetta di cucina nei risultati di ricerca.

Amazon Personalize calcola questa metrica utilizzando il punteggio medio di classificazione reciproca per le richieste di consigli. Ogni punteggio di classificazione reciproco viene calcolato come segue:1 / the rank of the highest item interacted with by the user, dove la classifica totale possibile è 25. Gli altri elementi di livello inferiore con cui l'utente interagisce vengono ignorati. Se l'utente ha scelto il primo elemento, il punteggio è 1. Se non sceglie alcun elemento, il punteggio è 0.

Ad esempio, potresti mostrare a tre utenti diversi 25 consigli ciascuno:

  • Se l'utente 1 fa clic sull'elemento al rango 4 e sull'elemento al grado 10, il suo punteggio di classifica reciproco è 1/4.

  • Se l'Utente 2 fa clic su un elemento al livello 2, un elemento al grado 4 e un elemento al grado 12, il suo punteggio di classifica reciproco è 1/2.

  • Se l'Utente 3 fa clic su un singolo elemento al livello 6, il suo punteggio di classifica reciproco è 1/6.

Il rango reciproco medio su tutte le richieste di consigli (in questo caso 3) viene calcolato come. (1/4 + 1/2 + 1/6) / 3 = .3056

guadagno cumulativo scontato normalizzato (NDCG) a K (5, 10 o 25)

Questa metrica indica in che modo il modello classifica i consigli, dove K è una dimensione del campione di 5, 10 o 25 consigli. Questa metrica è utile se sei più interessato alla classificazione dei consigli e non solo all'elemento con il punteggio più alto (per questo, consulta). mean reciprocal rank at 25 Ad esempio, il punteggio di NDCG at 10 sarebbe utile se disponi di un'applicazione che mostra fino a 10 film in un carosello alla volta.

Amazon Personalize calcola l'NDCG assegnando un peso ai consigli in base alla loro posizione in classifica per ogni utente nel set di test. Ogni raccomandazione viene scontata (dato un peso inferiore) di un fattore che dipende dalla sua posizione. La metrica finale è la media di tutti gli utenti del set di test. Il guadagno cumulativo scontato normalizzato a K presuppone che i suggerimenti più in basso nell'elenco siano meno rilevanti rispetto a quelli più in alto.

Amazon Personalize utilizza un fattore di ponderazione di1/log(1 + position), dove la prima posizione è la posizione. 1

precisione in K

Questa metrica indica la pertinenza dei consigli del modello sulla base di un campione di consigli K (5, 10 o 25).

Amazon Personalize calcola questa metrica in base al numero di consigli pertinenti tra i migliori K consigli per ogni utente del set di test, diviso per K, dove K è 5, 10 o 25. La metrica finale è la media di tutti gli utenti del set di test.

Ad esempio, se consigli 10 elementi a un utente e l'utente interagisce con 3 di essi, la precisione in K è di 3 elementi previsti correttamente divisi per il totale di 10 elementi consigliati:. 3 / 10 = .30

Questa metrica premia la raccomandazione precisa degli articoli pertinenti. Più il punteggio è vicino a uno, più preciso è il modello.

Esempio

Di seguito è riportato un semplice esempio di un programma di raccomandazione che produce un elenco di consigli per un utente specifico. La seconda e la quinta raccomandazione corrispondono ai record nei dati di test per questo utente. Queste sono le raccomandazioni pertinenti. Se K è impostato su 5, per l’utente vengono generati i seguenti parametri.

reciprocal_rank

Calcolo: 1/2

Risultato: 0.5000

normalized_discounted_cumulative_gain_at_5

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

Risultato: 0,6241

precision_at_5

Calcolo: 2/5

Risultato: 0,4000

Risorse aggiuntive

Per approfondire i diversi tipi di metriche per i sistemi di raccomandazione, consulta le seguenti risorse esterne: