Poäng för SVD-rekommenderare

Den här artikeln beskriver hur du använder komponenten Poängsätta SVD-rekommenderare i Azure Machine Learning-designern. Använd den här komponenten för att skapa förutsägelser med hjälp av en tränad rekommendationsmodell baserat på SVD-algoritmen (Single Value Decomposition).

SVD-rekommenderaren kan generera två olika typer av förutsägelser:

När du skapar den andra typen av förutsägelser kan du arbeta i något av följande lägen:

  • Produktionsläget tar hänsyn till alla användare eller objekt. Den används vanligtvis i en webbtjänst.

    Du kan skapa poäng för nya användare, inte bara användare som visas under träningen. Mer information finns i de tekniska anteckningarna.

  • Utvärderingsläget fungerar på en reducerad uppsättning användare eller objekt som kan utvärderas. Den används vanligtvis under pipelineåtgärder.

Mer information om SVD-rekommendationsalgoritmen finns i forskningsartikeln Matrix factorization techniques for recommender systems (Matrisfaktoriseringstekniker för rekommenderade system).

Så här konfigurerar du poängrekommendare för SVD

Den här komponenten stöder två typer av förutsägelser, var och en med olika krav.

Förutsägelse av klassificeringar

När du förutsäger klassificeringar beräknar modellen hur en användare reagerar på ett visst objekt, med tanke på träningsdata. Indata för bedömning måste ge både en användare och objektet att betygsätta.

  1. Lägg till en tränad rekommendationsmodell i pipelinen och anslut den till en tränad SVD-rekommenderare. Du måste skapa modellen med hjälp av komponenten Träna SVD-rekommenderare .

  2. För Förutsägelsetyp för rekommenderare väljer du Omdömesförutsägelse. Inga andra parametrar krävs.

  3. Lägg till de data som du vill göra förutsägelser för och anslut dem till Datauppsättning för att poängsätta.

    För att modellen ska kunna förutsäga klassificeringar måste indatauppsättningen innehålla användarobjektpar.

    Datauppsättningen kan innehålla en valfri tredje kolumn med klassificeringar för användarobjektparet i de första och andra kolumnerna. Men den tredje kolumnen ignoreras under förutsägelsen.

  4. Skicka pipelinen.

Resultat för omdömesförutsägelser

Utdatauppsättningen innehåller tre kolumner: användare, objekt och den förväntade klassificeringen för varje indataanvändare och objekt.

Rekommendationer för användare

Om du vill rekommendera objekt för användare anger du en lista över användare och objekt som indata. Från dessa data använder modellen sin kunskap om befintliga objekt och användare för att generera en lista över objekt med sannolika överklaganden till varje användare. Du kan anpassa antalet rekommendationer som returneras. Och du kan ange ett tröskelvärde för antalet tidigare rekommendationer som krävs för att generera en rekommendation.

  1. Lägg till en tränad rekommendationsmodell i pipelinen och anslut den till en tränad SVD-rekommenderare. Du måste skapa modellen med hjälp av komponenten Träna SVD-rekommenderare .

  2. Om du vill rekommendera objekt för en lista över användare anger du Förutsägelsetyp för rekommenderare till Objektrekommendering.

  3. För Rekommenderat objektval anger du om du använder bedömningskomponenten i produktion eller för modellutvärdering. Välj något av följande värden:

    • Från Alla objekt: Välj det här alternativet om du konfigurerar en pipeline som ska användas i en webbtjänst eller i produktion. Det här alternativet aktiverar produktionsläge. Komponenten ger rekommendationer från alla objekt som visas under träningen.

    • Från Klassificerade objekt (för modellutvärdering): Välj det här alternativet om du utvecklar eller testar en modell. Det här alternativet aktiverar utvärderingsläge. Komponenten ger endast rekommendationer från de objekt i indatauppsättningen som har klassificerats.

    • Från Oklassificerade objekt (för att föreslå nya objekt för användare): Välj det här alternativet om du vill att komponenten endast ska ge rekommendationer från de objekt i träningsdatauppsättningen som inte har klassificerats.

  4. Lägg till den datauppsättning som du vill göra förutsägelser för och anslut den till Datauppsättning för att poängsätta.

    • För Från alla objekt bör indatauppsättningen bestå av en kolumn. Den innehåller identifierare för användare för vilka rekommendationer ska ges.

      Datauppsättningen kan innehålla ytterligare två kolumner med objektidentifierare och klassificeringar, men dessa två kolumner ignoreras.

    • För Från klassificerade objekt (för modellutvärdering) bör indatauppsättningen bestå av användarobjektpar. Den första kolumnen ska innehålla användaridentifieraren. Den andra kolumnen ska innehålla motsvarande objektidentifierare.

      Datauppsättningen kan innehålla en tredje kolumn med klassificeringar av användarobjekt, men den här kolumnen ignoreras.

    • För Från oklassificerade objekt (för att föreslå nya objekt till användare)bör indatauppsättningen bestå av användarobjektpar. Den första kolumnen ska innehålla användaridentifieraren. Den andra kolumnen ska innehålla motsvarande objektidentifierare.

    Datauppsättningen kan innehålla en tredje kolumn med klassificeringar av användarobjekt, men den här kolumnen ignoreras.

  5. Maximalt antal objekt att rekommendera till en användare: Ange det antal objekt som ska returneras för varje användare. Som standard rekommenderar komponenten fem objekt.

  6. Minsta storlek på rekommendationspoolen per användare: Ange ett värde som anger hur många tidigare rekommendationer som krävs. Som standard är den här parametern inställd på 2, vilket innebär att minst två andra användare har rekommenderat objektet.

    Använd endast det här alternativet om du bedömer i utvärderingsläge. Alternativet är inte tillgängligt om du väljer Från alla objekt eller Från oklassificerade objekt (för att föreslå nya objekt för användare).

  7. För Från oklassificerade objekt (för att föreslå nya objekt för användare)använder du den tredje indataporten med namnet Träningsdata för att ta bort objekt som redan har klassificerats från förutsägelseresultaten.

    Om du vill använda det här filtret ansluter du den ursprungliga träningsdatauppsättningen till indataporten.

  8. Skicka pipelinen.

Resultat av objektrekommendering

Den poängsatta datauppsättningen som returneras av Score SVD Recommender visar de rekommenderade objekten för varje användare:

  • Den första kolumnen innehåller användaridentifierare.
  • Ett antal ytterligare kolumner genereras, beroende på vilket värde du anger för Maximalt antal objekt att rekommendera till en användare. Varje kolumn innehåller ett rekommenderat objekt (efter identifierare). Rekommendationerna sorteras efter mappning mellan användare och objekt. Objektet med högsta tillhörighet placeras i kolumnobjekt 1.

Tekniska anteckningar

Om du har en pipeline med SVD-rekommenderaren och du flyttar modellen till produktion bör du vara medveten om att det finns viktiga skillnader mellan att använda rekommenderaren i utvärderingsläge och att använda den i produktionsläge.

Utvärdering kräver per definition förutsägelser som kan verifieras mot den grundläggande sanningen i en testuppsättning. När du utvärderar rekommendationen måste den endast förutsäga objekt som har klassificerats i testuppsättningen. Detta begränsar de möjliga värden som förutsägs.

När du operationaliserar modellen ändrar du vanligtvis förutsägelseläget för att ge rekommendationer baserat på alla möjliga objekt för att få bästa möjliga förutsägelser. För många av dessa förutsägelser finns det ingen motsvarande grundsanning. Rekommendationens noggrannhet kan därför inte verifieras på samma sätt som vid pipelineåtgärder.

Nästa steg

Se den uppsättning komponenter som är tillgängliga för Azure Machine Learning.