Valutazione di una versione della soluzione Amazon Personalize con parametri - 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 una versione della soluzione Amazon Personalize con parametri

È possibile valutare le prestazioni della versione della soluzione 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 si addestra una versione della soluzione. Con le metriche offline, puoi valutare le prestazioni del modello. È possibile visualizzare gli effetti della modifica degli iperparametri di una soluzione e confrontare i risultati di modelli addestrati con ricette diverse sugli stessi dati nello stesso gruppo di set di dati.

Evita di confrontare le metriche di diverse versioni di soluzioni addestrate 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, la versione della soluzione addestrata sui dati degli eventi di visualizzazione potrebbe erroneamente sembrare che funzioni meglio a causa del maggior numero di interazioni.

Per ottenere metriche prestazionali, Amazon Personalize suddivide i dati delle interazioni di input in un set di formazione, un set di test e, per PERSONALIZED_ACTIONS, un set di convalida. La suddivisione dipende dal tipo di ricetta scelta:

  • Per le ricette USER_SEGMENTATION, il set di formazione è composto dall'80% dei dati di interazione di ciascun utente e il set di test è composto dal 20% dei dati di interazione di ciascun utente.

  • Per tutti gli altri tipi di ricette, il set di formazione è composto dal 90% degli utenti e dai relativi dati di interazione. Il set di test è composto dal restante 10% di utenti e dai relativi dati di interazione.

Amazon Personalize crea quindi la versione della soluzione utilizzando il set di formazione. Al termine della formazione, Amazon Personalize fornisce alla nuova versione della soluzione come input il 90% dei dati più vecchi di ciascun utente provenienti dal set di test. Amazon Personalize calcola quindi le metriche confrontando i consigli generati dalla versione della soluzione con le interazioni effettive nel 10% più recente dei dati di ciascun utente del set di test.

Per generare una base di riferimento a fini di confronto, ti consigliamo di utilizzare la Popularity-Count ricetta, che consiglia i K articoli più popolari.

Recupero delle metriche relative alla versione della soluzione

Dopo aver creato una versione della soluzione, puoi utilizzare le metriche per valutarne le prestazioni. Puoi recuperare i parametri per una versione della soluzione con la console Amazon Personalize AWS Command Line Interface ,AWS CLI() e gli SDK. AWS

Recupero dei parametri relativi alla versione della soluzione (console)

Per visualizzare le metriche relative ai consigliatori nella console, accedi alla pagina dei dettagli della versione della soluzione in uso.

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

  2. Nella pagina Gruppi di set di dati, scegli il tuo gruppo di set di dati personalizzato.

  3. Dal riquadro di navigazione, scegli Risorse personalizzate, quindi scegli Soluzioni e ricette.

  4. Scegli la tua soluzione.

  5. Nelle versioni della soluzione, scegli la versione della soluzione per visualizzarne la pagina dei dettagli. Le metriche sono elencate nella scheda Metriche della versione della soluzione nel riquadro inferiore. Per le definizioni delle metriche, consulta. Definizioni delle metriche

    Dopo aver valutato la versione della soluzione, puoi creare una campagna implementando la versione della soluzione con le metriche migliori per il tuo caso d'uso. Per ulteriori informazioni sulla distribuzione di una soluzione, consulta. Implementazione di una versione della soluzione Amazon Personalize con una campagna

Recupero dei parametri relativi alla versione della soluzione ()AWS CLI

Puoi recuperare i parametri di una specifica versione della soluzione richiamando l'operazione GetSolutionMetrics. Il codice seguente mostra come recuperare le metriche con. AWS CLI

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

Di seguito è riportato un esempio di output di una versione della soluzione creata utilizzando la Personalizzazione dell'utente ricetta con un obiettivo di ottimizzazione aggiuntivo.

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

Per le spiegazioni di ciascuna metrica, consulta. Definizioni delle metriche Dopo aver valutato la versione della soluzione, puoi creare una campagna implementando la versione della soluzione con le metriche migliori per il tuo caso d'uso. Per ulteriori informazioni sulla distribuzione di una soluzione, consulta. Implementazione di una versione della soluzione Amazon Personalize con una campagna

Recupero delle metriche della versione della soluzione (SDK)AWS

Puoi recuperare i parametri di una specifica versione della soluzione richiamando l'operazione GetSolutionMetrics. Utilizza il codice seguente per recuperare i parametri.

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); } }

Di seguito è riportato un esempio di output di una versione della soluzione creata utilizzando la Personalizzazione dell'utente ricetta con un obiettivo di ottimizzazione aggiuntivo.

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

Per le spiegazioni di ciascuna metrica, consulta. Definizioni delle metriche Dopo aver valutato la versione della soluzione, puoi creare una campagna implementando la versione della soluzione con le metriche migliori per il tuo caso d'uso. Per ulteriori informazioni sulla distribuzione di una soluzione, consulta. Implementazione di una versione della soluzione Amazon Personalize con una campagna

Definizioni delle metriche

Le metriche generate da Amazon Personalize per le versioni della soluzione sono descritte di seguito utilizzando i seguenti termini:

  • La raccomandazione pertinente è una raccomandazione per un elemento 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 (per i consigli sugli articoli), azioni (per i consigli sulle azioni) o utenti (per i consigli sui segmenti di utenti) che Amazon Personalize potrebbe consigliare rispetto al numero totale di record unici nei tuoi set di dati.

Un punteggio di copertura più elevato significa che Amazon Personalize consiglia una parte maggiore del tuo catalogo, anziché ripetere ripetutamente i record. Le ricette che prevedono l'esplorazione degli elementi, come la personalizzazione degli utenti, hanno una copertura più ampia rispetto a quelle che non lo fanno, come Similar-Items.

classificazione reciproca media a 25

Questa metrica indica la capacità di un modello di generare consigli sugli articoli pertinenti nella prima posizione.

Potresti scegliere un modello con un rango reciproco medio elevato, pari a 25, se stai generando risultati di ricerca di articoli per un utente e non ti aspetti che l'utente scelga un articolo più in basso nell'elenco. Ad esempio, gli utenti scelgono spesso la prima ricetta di cucina nei risultati di ricerca. Amazon Personalize non genera questa metrica per le ricette PERSONALIZED_ACTIONS o USER_SEGMENTATION.

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/25)

Questa metrica indica in che modo il modello classifica i suggerimenti relativi a elementi o azioni, 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 o all'azione 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 NDCG at K gli utenti del set di test. NDCG at KSi presuppone che i consigli che si trovano più in basso in un elenco siano meno pertinenti di quelli più in alto nell'elenco.

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.

precision

Se addestra una versione della soluzione con la ricetta Next-Best-Action, Amazon Personalize genera una metrica anziché. precision precision at K Questa metrica indica quanto è bravo il tuo modello a prevedere le azioni che gli utenti intraprenderanno effettivamente.

Per calcolareprecision, per ogni azione nel tuo set di dati, Amazon Personalize divide il numero di utenti che secondo le previsioni corrette avrebbero intrapreso l'azione per il numero totale di volte in cui l'azione è stata consigliata. Amazon Personalize calcola quindi la media di tutte le azioni nel set di dati.

Ad esempio, se un'azione è stata consigliata a 100 utenti e 60 utenti l'hanno eseguita e 40 utenti che non l'hanno fatto, il destinatario dell'precisionazione è:. 60 / 100 = .60 Amazon Personalize applica quindi questo calcolo a tutte le azioni e restituisce la media.

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

rewards_average_at_k

Quando crei una versione della soluzione (addestra un modello) per una soluzione con un obiettivo di ottimizzazione, Amazon Personalize genera una average_rewards_at_k metrica. Il punteggio di average_rewards_at_k indica le prestazioni della versione della soluzione nel raggiungimento del tuo obiettivo. Per calcolare questa metrica, Amazon Personalize calcola i premi per ogni utente nel modo seguente:

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

Il risultato finale average_rewards_at_k è la media di tutti i valori rewards_per_user normalizzati per essere un valore decimale inferiore o uguale a 1 e maggiore di 0. Più il valore si avvicina a 1, maggiori sono i guadagni in media per utente che puoi aspettarti dai consigli.

Ad esempio, se il tuo obiettivo è massimizzare le entrate derivanti dai clic, Amazon Personalize calcola il punteggio di ogni utente dividendo le entrate totali generate dagli articoli su cui l'utente ha fatto clic tra i 25 consigli più costosi per le entrate derivanti da tutti gli articoli consigliati su cui l'utente ha fatto clic. Amazon Personalize restituisce quindi una media normalizzata di tutti i punteggi degli utenti. Più average_rewards_at_k si avvicina a 1, maggiori sono le entrate medie che puoi aspettarti di ottenere per utente grazie ai consigli.

Per ulteriori informazioni, consulta Ottimizzazione di una soluzione per un obiettivo aggiuntivo.

precisione della previsione delle tendenze

Se hai addestrato la versione della soluzione con la Trending-Now ricetta, il tasso di aumento della popolarità degli articoli consigliati dal modello. Maggiore è la precisione della previsione delle tendenze (più si avvicina a 1), più il modello è in grado di identificare correttamente gli elementi di tendenza.

Per calcolare l'accelerazione della popolarità, Amazon Personalize divide il tasso di aumento della popolarità di tutti gli articoli consigliati per l'aumento di popolarità totale dei 25 articoli di tendenza. Questi elementi provengono dalle interazioni effettive del set di test.

A seconda della distribuzione dei dati e della scelta della frequenza di rilevamento delle tendenze, il valore per la precisione della previsione delle tendenze può essere 0,0.

colpisci (premi K)

Se hai addestrato la versione della soluzione con una ricetta USER_SEGMENTATION, il numero medio di utenti tra i primi K pertinenti previsti corrisponde agli utenti effettivi. Gli utenti effettivi sono gli utenti che hanno effettivamente interagito con gli elementi del set di test. K è il primo 1% degli utenti più rilevanti. Più alto è il valore, più accurate sono le previsioni.

richiamo (richiamo a K)

Se hai addestrato la versione della soluzione con una ricetta USER_SEGMENTATION, la percentuale media di utenti previsti tra i K più pertinenti previsti risulta che corrispondono agli utenti effettivi. Gli utenti effettivi sono gli utenti che hanno effettivamente interagito con gli elementi del set di test. K è il primo 1% degli utenti più rilevanti. Più alto è il valore, più accurate sono le previsioni.

recupero

Se addestrate una versione della soluzione con la ricetta Next-Best-Action, questa metrica indica quanto è brava la versione della soluzione a scoprire le azioni con cui gli utenti interagiranno.

Per calcolarerecall, per ogni azione nel tuo set di dati, Amazon Personalize divide il numero di utenti che secondo le previsioni corrette avrebbero intrapreso l'azione per il numero totale di utenti che hanno effettivamente intrapreso l'azione nel set di test. Amazon Personalize calcola quindi la media di tutte le azioni nel set di dati.

Ad esempio, se 100 utenti eseguono un'azione nel set di test e Amazon Personalize prevede che 50 di questi utenti avrebbero intrapreso l'azione, il recall motivo dell'azione è:. 50 / 100 = .50 Amazon Personalize applica quindi questo calcolo a tutte le azioni e restituisce la media.

Area sotto la curva (AUC)

Se hai addestrato la versione della soluzione con una ricetta PERSONALIZED_ACTIONS, l'area sotto la curva delle caratteristiche operative del ricevitore per la versione della soluzione in uso. Questa metrica indica le prestazioni della versione della soluzione nell'identificare correttamente le azioni che gli utenti intraprenderanno.

La curva delle caratteristiche operative del ricevitore traccia le prestazioni della versione della soluzione. Traccia i tassi di veri positivi (azioni correttamente previste come rilevanti) e di falsi positivi (azioni erroneamente previste come rilevanti) a diversi valori di soglia. L'Area under the curve (AUC) è un punteggio che riassume le prestazioni della versione della soluzione in base alla sua curva.

L'AUC di una versione della soluzione può essere compreso tra 0 e 1. Più si avvicina a 1, più il modello è in grado di prevedere le azioni pertinenti per gli utenti.

Esempio

Di seguito è riportato un semplice esempio di versione della soluzione 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 informazioni sulla valutazione di una versione della soluzione con test A/B, consulta Utilizzo dei test A/B per misurare l'efficacia dei consigli generati da Amazon Personalize. Per approfondire i diversi tipi di metriche per i sistemi di raccomandazione, consulta le seguenti risorse esterne: