Score SVD Recommender (Punteggio modulo di raccomandazione SVD)

Questo articolo descrive come usare il componente Score SVD Recommender nella finestra di progettazione di Azure Machine Learning. Usare questo componente per creare stime usando un modello di raccomandazione con training basato sull'algoritmo SVD (Single Value Decomposition).

Il consigliatore SVD può generare due diversi tipi di stime:

Quando si crea il secondo tipo di stime, è possibile operare in una delle modalità seguenti:

  • La modalità di produzione considera tutti gli utenti o gli elementi. Viene in genere usato in un servizio Web.

    È possibile creare punteggi per i nuovi utenti, non solo per gli utenti visualizzati durante il training. Per altre informazioni, vedere le note tecniche.

  • La modalità di valutazione opera su un set ridotto di utenti o elementi che possono essere valutati. Viene in genere usato durante le operazioni della pipeline.

Per altre informazioni sull'algoritmo di raccomandazione SVD, vedere il documento relativo alle tecniche di fattorizzazione matrix per i sistemi di raccomandazione.

Come configurare score SVD Recommender

Questo componente supporta due tipi di stime, ognuna con requisiti diversi.

Stima delle valutazioni

Quando si stimano le classificazioni, il modello calcola il modo in cui un utente reagisce a un determinato elemento, in base ai dati di training. I dati di input per l'assegnazione dei punteggi devono fornire sia un utente che l'elemento da valutare.

  1. Aggiungere un modello di raccomandazione sottoposto a training alla pipeline e connetterlo allo strumento di raccomandazione SVD sottoposto a training. È necessario creare il modello usando il componente Train SVD Recommender .

  2. Per Recommender prediction kind (Tipo di stima consigliato) selezionare Rating Prediction (Stima valutazione). Non sono necessari altri parametri.

  3. Aggiungere i dati per i quali si desidera eseguire stime e connetterli al set di dati per assegnare un punteggio.

    Per consentire al modello di stimare le classificazioni, il set di dati di input deve contenere coppie di elementi utente.

    Il set di dati può contenere una terza colonna facoltativa di classificazioni per la coppia di elementi utente nelle prime e nelle seconde colonne. Tuttavia, la terza colonna verrà ignorata durante la stima.

  4. Inviare la pipeline.

Risultati per le stime delle valutazioni

Il set di dati di output contiene tre colonne: utenti, elementi e valutazione stimata per ogni utente e elemento di input.

Raccomandazioni per gli utenti

Per consigliare gli elementi per gli utenti, fornire un elenco di utenti ed elementi come input. Da questi dati, il modello usa le proprie conoscenze sugli elementi e sugli utenti esistenti per generare un elenco di elementi con probabile interesse per ogni utente. È possibile personalizzare il numero di raccomandazioni restituite. È anche possibile impostare una soglia per il numero di raccomandazioni precedenti necessarie per generare una raccomandazione.

  1. Aggiungere un modello di raccomandazione sottoposto a training alla pipeline e connetterlo allo strumento di raccomandazione SVD sottoposto a training. È necessario creare il modello usando il componente Train SVD Recommender .

  2. Per consigliare elementi per un elenco di utenti, impostare Recommender prediction kind (Tipo di stima consigliato) su Item Recommendation (Raccomandazione elemento).

  3. Per La selezione di elementi consigliati, indicare se si usa il componente di assegnazione dei punteggi nell'ambiente di produzione o per la valutazione del modello. Scegliere uno dei valori seguenti:

    • Da Tutti gli elementi: selezionare questa opzione se si configura una pipeline da usare in un servizio Web o in produzione. Questa opzione abilita la modalità di produzione. Il componente crea raccomandazioni da tutti gli elementi visualizzati durante il training.

    • Da Elementi classificati (per la valutazione del modello) : selezionare questa opzione se si sta sviluppando o testando un modello. Questa opzione abilita la modalità di valutazione. Il componente crea raccomandazioni solo da tali elementi nel set di dati di input valutato.

    • Da Elementi non classificati (per suggerire nuovi elementi agli utenti): selezionare questa opzione se si vuole che il componente faccia raccomandazioni solo da tali elementi nel set di dati di training che non sono stati valutati.

  4. Aggiungere il set di dati per il quale si desidera eseguire stime e connetterlo al set di dati per assegnare un punteggio.

    • Per From All Items (Da tutti gli elementi), il set di dati di input deve essere costituito da una colonna. Contiene gli identificatori degli utenti per i quali effettuare raccomandazioni.

      Il set di dati può includere due colonne aggiuntive di identificatori di elemento e classificazioni, ma queste due colonne vengono ignorate.

    • Per From Rated Items (per la valutazione del modello) il set di dati di input deve essere costituito da coppie di elementi utente. La prima colonna deve contenere l'identificatore utente. La seconda colonna deve contenere gli identificatori di elemento corrispondenti.

      Il set di dati può includere una terza colonna di classificazioni degli elementi utente, ma questa colonna viene ignorata.

    • Per From Unrated Items (per suggerire nuovi elementi agli utenti), il set di dati di input deve essere costituito da coppie di elementi utente. La prima colonna deve contenere l'identificatore utente. La seconda colonna deve contenere gli identificatori di elemento corrispondenti.

    Il set di dati può includere una terza colonna di classificazioni degli elementi utente, ma questa colonna viene ignorata.

  5. Numero massimo di elementi da consigliare a un utente: immettere il numero di elementi da restituire per ogni utente. Per impostazione predefinita, il componente consiglia cinque elementi.

  6. Dimensioni minime del pool di raccomandazioni per utente: immettere un valore che indica il numero di raccomandazioni precedenti necessarie. Per impostazione predefinita, questo parametro è impostato su 2, ovvero almeno due altri utenti hanno consigliato l'elemento.

    Usare questa opzione solo se si esegue l'assegnazione dei punteggi in modalità di valutazione. L'opzione non è disponibile se si seleziona Da tutti gli elementi o Da elementi non classificati (per suggerire nuovi elementi agli utenti).

  7. Per From Unrated Items (to suggest new items to users), use the third input port, named Training Data, to remove items that have already rated from the prediction results.For From Unrated Items (To suggest new items to users), use the third input port, named Training Data, to remove items that have already rated from the prediction results.

    Per applicare questo filtro, connettere il set di dati di training originale alla porta di input.

  8. Inviare la pipeline.

Risultati della raccomandazione dell'elemento

Il set di dati con punteggio restituito da Score SVD Recommender elenca gli elementi consigliati per ogni utente:

  • La prima colonna contiene gli identificatori utente.
  • Vengono generate diverse colonne aggiuntive, a seconda del valore impostato per Numero massimo di elementi da consigliare a un utente. Ogni colonna contiene un elemento consigliato (per identificatore). Le raccomandazioni vengono ordinate in base all'affinità utente-elemento. L'elemento con affinità più elevata viene inserito nella colonna Item 1.

Note tecniche

Se si dispone di una pipeline con lo strumento di raccomandazione SVD e si sposta il modello in produzione, tenere presente che esistono differenze principali tra l'uso del consigliatore in modalità di valutazione e l'uso in modalità di produzione.

La valutazione, per definizione, richiede stime che possono essere verificate in base alla verità sul terreno in un set di test. Quando si valuta il metodo di raccomandazione, è necessario stimare solo gli elementi che sono stati valutati nel set di test. In questo modo vengono limitati i valori possibili stimati.

Quando si opera il modello, in genere si modifica la modalità di stima per fare raccomandazioni in base a tutti gli elementi possibili, per ottenere le stime migliori. Per molte di queste stime, non c'è alcuna verità di terra corrispondente. Pertanto, l'accuratezza della raccomandazione non può essere verificata nello stesso modo di durante le operazioni della pipeline.

Passaggi successivi

Vedere il set di componenti disponibili per Azure Machine Learning.