Aanbevelingsfunctie voor SVD-score

In dit artikel wordt beschreven hoe u het onderdeel Score SVD Recommender gebruikt in azure Machine Learning Designer. Gebruik dit onderdeel om voorspellingen te maken met behulp van een getraind aanbevelingsmodel op basis van het SVD-algoritme (Single Value Decomposition).

De SVD-aanbevelingsfunctie kan twee verschillende soorten voorspellingen genereren:

Wanneer u het tweede type voorspellingen maakt, kunt u werken in een van deze modi:

  • In de productiemodus wordt rekening gehouden met alle gebruikers of items. Deze wordt meestal gebruikt in een webservice.

    U kunt scores maken voor nieuwe gebruikers, niet alleen voor gebruikers die tijdens de training worden gezien. Zie de technische opmerkingen voor meer informatie.

  • De evaluatiemodus werkt op een beperkte set gebruikers of items die kunnen worden geëvalueerd. Het wordt meestal gebruikt tijdens pijplijnbewerkingen.

Zie het onderzoeksdocument Matrix factorization techniques for recommender systems (Matrixfactorisatietechnieken voor aanbevelingssystemen) voor meer informatie over het SVD-aanbevelings-algoritme.

Score SVD Recommender configureren

Dit onderdeel ondersteunt twee typen voorspellingen, elk met verschillende vereisten.

Voorspelling van classificaties

Wanneer u beoordelingen voorspelt, berekent het model hoe een gebruiker op een bepaald item reageert, op basis van de trainingsgegevens. De invoergegevens voor scoren moeten zowel een gebruiker als het item bevatten om te beoordelen.

  1. Voeg een getraind aanbevelingsmodel toe aan uw pijplijn en verbind dit met getrainde SVD-aanbevelingsfunctie. U moet het model maken met behulp van het onderdeel Train SVD Recommender .

  2. Selecteer bij Type aanbevelingsvoorspellingde optie Classificatievoorspelling. Er zijn geen andere parameters vereist.

  3. Voeg de gegevens toe waarvoor u voorspellingen wilt doen en koppel deze aan Gegevensset om te scoren.

    Voor het model om beoordelingen te voorspellen, moet de invoergegevensset paren gebruiker-item bevatten.

    De gegevensset kan een optionele derde kolom met classificaties bevatten voor het paar gebruiker en item in de eerste en tweede kolom. Maar de derde kolom wordt genegeerd tijdens de voorspelling.

  4. Verzend de pijplijn.

Resultaten voor beoordelingsvoorspellingen

De uitvoergegevensset bevat drie kolommen: gebruikers, items en de voorspelde classificatie voor elke invoergebruiker en elk item.

Aanbevelingen voor gebruikers

Als u items wilt aanbevelen voor gebruikers, geeft u een lijst met gebruikers en items op als invoer. Op basis van deze gegevens gebruikt het model zijn kennis over bestaande items en gebruikers om een lijst met items te genereren die waarschijnlijk elke gebruiker aanspreekt. U kunt het aantal geretourneerde aanbevelingen aanpassen. En u kunt een drempelwaarde instellen voor het aantal eerdere aanbevelingen dat nodig is om een aanbeveling te genereren.

  1. Voeg een getraind aanbevelingsmodel toe aan uw pijplijn en verbind dit met getrainde SVD-aanbevelingsfunctie. U moet het model maken met behulp van het onderdeel Train SVD Recommender .

  2. Als u items wilt aanbevelen voor een lijst met gebruikers, stelt u Het type aanbevelingsvoorspelling van aanbeveling in op Itemaanbeveling.

  3. Geef bij Aanbevolen itemselectie aan of u het scoreonderdeel gebruikt in productie of voor modelevaluatie. Kies een van deze waarden:

    • Van alle items: selecteer deze optie als u een pijplijn instelt voor gebruik in een webservice of in productie. Met deze optie schakelt u de productiemodus in. Het onderdeel doet aanbevelingen van alle items die tijdens de training worden gezien.

    • Van geclassificeerde items (voor modelevaluatie): selecteer deze optie als u een model ontwikkelt of test. Met deze optie schakelt u de evaluatiemodus in. Het onderdeel doet alleen aanbevelingen van de items in de invoergegevensset die zijn beoordeeld.

    • Van niet-geclassificeerde items (om nieuwe items aan gebruikers voor te stellen): selecteer deze optie als u wilt dat het onderdeel alleen aanbevelingen doet op basis van de items in de trainingsgegevensset die niet zijn beoordeeld.

  4. Voeg de gegevensset toe waarvoor u voorspellingen wilt doen en koppel deze aan Gegevensset om te scoren.

    • Voor Van alle items moet de invoergegevensset uit één kolom bestaan. Het bevat de id's van gebruikers waarvoor aanbevelingen moeten worden doen.

      De gegevensset kan twee extra kolommen met item-id's en classificaties bevatten, maar deze twee kolommen worden genegeerd.

    • Voor Van geclassificeerde items (voor modelevaluatie) moet de invoergegevensset bestaan uit gebruikers-itemparen. De eerste kolom moet de gebruikers-id bevatten. De tweede kolom moet de bijbehorende item-id's bevatten.

      De gegevensset kan een derde kolom met classificaties van gebruikersitems bevatten, maar deze kolom wordt genegeerd.

    • Voor Van niet-geclassificeerde items (om nieuwe items aan gebruikers voor te stellen) moet de invoergegevensset bestaan uit gebruikers-itemparen. De eerste kolom moet de gebruikers-id bevatten. De tweede kolom moet de bijbehorende item-id's bevatten.

    De gegevensset kan een derde kolom met classificaties van gebruikersitems bevatten, maar deze kolom wordt genegeerd.

  5. Maximum aantal items dat moet worden aanbevolen aan een gebruiker: voer het aantal items in dat voor elke gebruiker moet worden geretourneerd. Standaard worden in het onderdeel vijf items aanbevolen.

  6. Minimale grootte van de aanbevelingsgroep per gebruiker: Voer een waarde in die aangeeft hoeveel eerdere aanbevelingen vereist zijn. Deze parameter is standaard ingesteld op 2, wat betekent dat ten minste twee andere gebruikers het item hebben aanbevolen.

    Gebruik deze optie alleen als u scoren in de evaluatiemodus. De optie is niet beschikbaar als u Uit alle items of Uit niet-geclassificeerde items (om nieuwe items aan gebruikers voor te stellen) selecteert.

  7. Voor Van niet-geclassificeerde items (om nieuwe items aan gebruikers voor te stellen) gebruikt u de derde invoerpoort, met de naam Trainingsgegevens, om items te verwijderen die al zijn geclassificeerd uit de voorspellingsresultaten.

    Als u dit filter wilt toepassen, verbindt u de oorspronkelijke trainingsgegevensset met de invoerpoort.

  8. Verzend de pijplijn.

Resultaten van aanbeveling voor item

De scoregegevensset die wordt geretourneerd door Score SVD Recommender bevat de aanbevolen items voor elke gebruiker:

  • De eerste kolom bevat de gebruikers-id's.
  • Er worden een aantal extra kolommen gegenereerd, afhankelijk van de waarde die u instelt voor Maximum aantal items dat aan een gebruiker moet worden aanbevolen. Elke kolom bevat een aanbevolen item (op id). De aanbevelingen zijn geordend op affiniteit tussen gebruikers en items. Het item met de hoogste affiniteit wordt in kolom Item 1 geplaatst.

Technische opmerkingen

Als u een pijplijn hebt met de SVD-aanbevelingsfunctie en u het model naar productie verplaatst, moet u er rekening mee houden dat er belangrijke verschillen zijn tussen het gebruik van de aanbevelingsfunctie in de evaluatiemodus en het gebruik ervan in de productiemodus.

Evaluatie vereist per definitie voorspellingen die kunnen worden geverifieerd op basis van de grondwaarheden in een testset. Wanneer u de aanbevelingsfunctie evalueert, moet deze alleen items voorspellen die in de testset zijn beoordeeld. Dit beperkt de mogelijke waarden die worden voorspeld.

Wanneer u het model operationeel maakt, wijzigt u doorgaans de voorspellingsmodus om aanbevelingen te doen op basis van alle mogelijke items om de beste voorspellingen te krijgen. Voor veel van deze voorspellingen is er geen overeenkomstige grondwaarheid. De nauwkeurigheid van de aanbeveling kan dus niet op dezelfde manier worden geverifieerd als tijdens pijplijnbewerkingen.

Volgende stappen

Bekijk de set onderdelen die beschikbaar zijn voor Azure Machine Learning.