Condividi tramite


Evaluate Recommender

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Valuta la precisione delle stime del modello del sistema di raccomandazione

Categoria: Machine Learning/Evaluate

Nota

Si applica a: Machine Learning Studio (versione classica)

Nella finestra di progettazione sono disponibili moduli simili Azure Machine Learning trascinamento della selezione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Evaluate Recommender in Machine Learning Studio (versione classica) per misurare l'accuratezza delle stime effettuate da un modello di raccomandazione. Usando questo modulo, è possibile valutare quattro diversi tipi di raccomandazioni:

  • Classificazioni stimate per un determinato utente ed elemento

  • Elementi raccomandati per un determinato utente

  • Un elenco di utenti individuati come correlati a un determinato utente

  • Un elenco di elementi individuati come correlati a un determinato elemento

Quando si creano stime usando un modello di raccomandazione, vengono restituiti risultati leggermente diversi per ognuno di questi tipi di stima supportati. Il modulo Evaluate Recommender deduce il tipo di stima dal formato di colonna del set di dati con punteggio. Ad esempio, il set di dati con punteggio potrebbe contenere:

  • user-item-rating triples
  • utenti e relativi elementi consigliati
  • utenti e utenti correlati
  • elementi e relativi elementi correlati

Il modulo applica anche le metriche delle prestazioni appropriate, in base al tipo di stima effettuata.

Suggerimento

Informazioni sull'esperienza end-to-end di creazione di un sistema di raccomandazione in questa esercitazione del team di sviluppo .NET. Include codice di esempio e informazioni su come chiamare Machine Learning da un'applicazione.

Compilazione del motore di raccomandazione per le applicazioni .NET con Machine Learning

Come configurare Evaluate Recommender

Il modulo Evaluate Recommender confronta l'output delle stime in base a un modello di raccomandazione con i dati di base corrispondenti. Ad esempio, il modulo Score Matchbox Recommender produce set di dati con punteggio che possono essere analizzati con Evaluate Recommender.

Requisiti

Evaluate Recommender richiede i set di dati seguenti come input.

Set di dati di test

Il set di dati di test contiene i dati "ground truth" sotto forma di triple di user-item-rating.

Se si dispone già di un set di dati contenente tre volte la classificazione utente-elemento, è possibile applicare il modulo Split Data (Dividi dati) usando l'opzione RecommenderSplit per creare un set di dati di training e un set di test correlato dal set di dati esistente.

Set di dati con punteggio

Il set di dati con punteggio contiene le stime generate dal modello di raccomandazione.

Le colonne in questo secondo set di dati dipendono dal tipo di stima eseguita durante l'assegnazione dei punteggi. Ad esempio, il set di dati con punteggio può contenere uno degli elementi seguenti:

  • Utenti, elementi e classificazioni che l'utente probabilmente avrebbe dato per l'elemento
  • Elenco di utenti ed elementi consigliati
  • Un elenco di utenti, con utenti probabilmente simili a loro
  • Un elenco di elementi, insieme a elementi più smiliari

Metriche

Le metriche delle prestazioni per il modello vengono generate in base al tipo di input. Per informazioni dettagliate, vedere le sezioni seguenti:

Valutare le classificazioni stimate

Quando si valutano le classificazioni stimate, il set di dati con punteggio (il secondo input di Evaluate Recommender) deve contenere tripli di valutazione utente-elemento, in base ai requisiti seguenti:

  • La prima colonna del set di dati contiene identificatori utente.

  • La seconda colonna contiene gli identificatori di elemento.

  • La terza colonna contiene le classificazioni utente-elemento corrispondenti.

Importante

Perché la valutazione riesca, i nomi delle colonne devono essere UserItemrispettivamente , e Rating.

Evaluate Recommender confronta le classificazioni nel set di dati ground truth con le classificazioni stimate del set di dati con punteggio e calcola l'errore assoluto medio ( MAE) e l'errore quadratica medio radice ( RMSE).

Gli altri parametri di Evaluate Recommender non hanno alcun effetto sulla valutazione delle stime di valutazione.

Valutare le raccomandazioni per gli elementi

Quando si valuta la raccomandazione per gli elementi, usare un set di dati con punteggio che includa gli elementi consigliati per ogni utente:

  • La prima colonna del set di dati deve contenere l'identificatore utente.

  • Tutte le colonne successive devono contenere gli identificatori di elemento consigliati corrispondenti, ordinati in base al livello di pertinente di un elemento per l'utente.

    Prima di connettere questo set di dati, è consigliabile ordinare il set di dati in modo che gli elementi più rilevanti si presentino per primi.

Gli altri parametri di Evaluate Recommender non hanno alcun effetto sulla valutazione delle raccomandazioni per gli elementi.

Importante

Per il funzionamento di Evaluate Recommender, i nomi delle colonne devono essere User, Item 1Item 2, Item 3 e così via.

Evaluate Recommender calcola la media del guadagno cumulativo scontato normalizzato (NDCG) e lo restituisce nel set di dati di output.

Poiché non è possibile conoscere l'effettiva "verità di base" per gli elementi consigliati, Evaluate Recommender usa le classificazioni utente-elemento nel set di dati di test come vantaggi nel calcolo del gruppo NDCG. Per fare una valutazione, il modulo di punteggio del sistema di raccomandazione deve solo generare raccomandazioni per elementi con classificazioni verificate (nel set di dati di test).

Valutare le stime degli utenti correlati

Quando si valutano le stime degli utenti correlati, usare un set di dati con punteggio contenente gli utenti correlati per ogni utente di interesse:

  • La prima colonna deve contenere gli identificatori per ogni utente di interesse.

  • Tutte le colonne successive contengono gli identificatori per gli utenti correlati stimati. Gli utenti correlati vengono ordinati in base al livello di complessità della proprietà (prima l'utente più correlato).

  • Per il funzionamento di Evaluate Recommender, i nomi delle colonne devono essere User, Related User 1, Related User 2Related User 3, e così via.

Suggerimento

È possibile influenzare la valutazione impostando il numero minimo di elementi che un utente di interesse e gli utenti correlati devono avere in comune.

Evaluate Recommender calcola il guadagno cumulato scontato normalizzato medio (NDCG), basato sulle distanze di Manhattan (L1 Sim NDCG) ed euclidea (L2 Sim NDCG) e restituisce entrambi i valori nel set di dati di output. Poiché non esiste alcuna verità reale per gli utenti correlati, Evaluate Recommender usa la procedura seguente per calcolare i gruppi di sicurezza di rete medi.

Per ogni utente di interesse nel set di dati con punteggio:

  1. Trovare tutti gli elementi del set di dati di test che sono stati calcolati dall'utente di interesse e dall'utente correlato presi in considerazione.

  2. Creare due vettori dalle classificazioni di questi elementi: uno per l'utente di interesse e uno per l'utente correlato in considerazione.

  3. Calcolare il guadagno come la somiglianza dei due vettori di classificazione risultanti, in rapporto alla distanza di Manhattan (L1) ed euclidea (L2).

  4. Calcolare L1 Sim NDCG e L2 Sim NDCG, usando i guadagni di tutti gli utenti correlati.

  5. Media dei valori NDCG per tutti gli utenti nel set di dati con punteggio.

In altre parole, il guadagno viene calcolato come somiglianza (distanze normalizzate Distorsioni euclianie) tra un utente di interesse (la voce nella prima colonna del set di dati con punteggio) e un determinato utente correlato (la voce nella colonna n-esima del set di dati con punteggio). Il guadagno di questa coppia utente viene calcolato usando tutti gli elementi per i quali entrambi gli elementi sono stati classificati nei dati originali (set di test). Il gruppo di sicurezza di rete viene quindi calcolato aggregando i singoli utili per un singolo utente di interesse e tutti gli utenti correlati, usando lo sconto logaritmico. Ovvero, viene calcolato un valore NDCG per ogni utente di interesse (ogni riga nel set di dati con punteggio). Il numero che viene infine segnalato è la media aritmetica per tutti gli utenti di interesse nel set di dati con punteggio, ovvero le relative righe.

Per fare una valutazione, il modulo di punteggio del sistema di raccomandazione deve solo prevedere gli utenti correlati che hanno elementi con classificazioni verificate (nel set di dati di test).

Valutare le stime degli elementi correlati

Quando si valuta la stima degli elementi correlati, usare un set di dati con punteggio contenente gli elementi correlati per ogni elemento di interesse:

  • La prima colonna deve contenere identificatori per gli elementi di interesse.

  • Tutte le colonne successive devono contenere identificatori per gli elementi correlati stimati, ordinati in base al modo in cui sono correlati all'elemento di interesse (prima l'elemento più correlato).

  • Per il funzionamento di Evaluate Recommender, i nomi delle colonne devono essere Item, Related Item 1, Related Item 2Related Item 3, e così via.

Suggerimento

È possibile influenzare la valutazione impostando il numero minimo di utenti che un elemento di interesse e gli elementi correlati devono avere in comune.

Evaluate Recommender calcola le distanze medie del guadagno cumulativo scontato normalizzato (NDCG) in base alle distanze Disanzite Disegne (L1 Sim NDCG) ed Euclideo (L2 Sim NDCG) e restituisce entrambi i valori nel set di dati di output. Poiché non esiste alcuna verità reale per gli elementi correlati, Evaluate Recommender calcola i NDCG medi come indicato di seguito:

Per ogni elemento di interesse nel set di dati con punteggio:

  1. Trovare tutti gli utenti del set di dati di test che hanno valutato l'elemento di interesse e l'elemento correlato presi in considerazione.

  2. Creare due vettori dalle classificazioni di questi utenti, una per l'elemento di interesse e l'altra per l'elemento correlato presi in considerazione.

  3. Calcolare il guadagno come la somiglianza dei due vettori di classificazione risultanti in rapporto alla distanza di Manhattan (L1) ed euclidea (L2).

  4. Calcolare L1 Sim NDCG e L2 Sim NDCG, usando i guadagni di tutti gli elementi correlati.

  5. Media dei valori NDCG su tutti gli elementi di interesse nel set di dati con punteggio.

In altre parole, il guadagno viene calcolato come somiglianza (distanze normalizzate Distorsioni euclianie) tra un elemento di interesse (la voce nella prima colonna del set di dati con punteggio) e un determinato elemento correlato (la voce nella colonna n-esima del set di dati con punteggio). Il guadagno di questa coppia di elementi viene calcolato usando tutti gli utenti che hanno valutato entrambi questi elementi nei dati originali (set di test). Il gruppo NDCG viene quindi calcolato aggregando i singoli utili per un singolo elemento di interesse e tutti gli elementi correlati, usando lo sconto logaritmico. Ovvero, viene calcolato un valore NDCG per ogni elemento di interesse (ogni riga nel set di dati con punteggio). Il numero che viene infine segnalato è la media aritmetica su tutti gli elementi di interesse nel set di dati con punteggio,ad esempio le relative righe.

Pertanto, per valutare, il modulo di assegnazione dei punteggi dello raccomandazione deve prevedere solo gli elementi correlati con classificazioni di verità di base (nel set di dati di test).

Esempio

Per esempi di come vengono usati i modelli di raccomandazione Machine Learning, vedere l'Azure AI Gallery:

Input previsti

Nome Tipo Descrizione
Set di dati di test Tabella dati Set di dati di test
Set di dati con punteggio Tabella dati Set di dati con punteggio

Parametri del modulo

Nome Intervallo Type Predefinito Descrizione
Minimum number of items that the query user and the related user must have rated in common >=1 Integer 2 Specifica il numero minimo di elementi che devono essere stati classificati sia dall'utente della query che dall'utente correlato

Questo parametro è facoltativo
Minimum number of users that the query item and the related item must have been rated by in common >=1 Integer 2 Specifica il numero minimo di utenti che devono aver classificato sia l'elemento della query che l'elemento correlato

Questo parametro è facoltativo

Output

Nome Tipo Descrizione
Metrica Tabella dati Tabella di metriche di valutazione

Eccezioni

Eccezione Descrizione
Errore 0022 L'eccezione si verifica se il numero di colonne selezionate nel set di dati di input non corrisponde al numero previsto.
Errore 0003 L'eccezione si verifica se uno o più input sono null o vuoti.
Errore 0017 Si verifica un'eccezione se il tipo di una o più colonne specificate non è supportato dal modulo attuale.
Errore 0034 L'eccezione si verifica se esiste più di una classificazione per una determinata coppia utente-elemento.
Errore 0018 L'eccezione si verifica se il set di dati di input non è valido.
Errore 0002 L'eccezione si verifica se non è stato possibile analizzare o convertire uno o più parametri dal tipo specificato nel tipo richiesto dal metodo di destinazione.

Per un elenco di errori specifici dei moduli di Studio (versione classica), vedere l'Machine Learning codici di errore.

Per un elenco delle eccezioni API, vedere l'Machine Learning di errore dell'API REST.

Vedi anche

Train Matchbox Recommender
Score Matchbox Recommender