Aanbevelingsfunctie voor SVD-score
In dit artikel wordt beschreven hoe u het component 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:
- Classificaties voorspellen voor een bepaalde gebruiker en een bepaald item
- Items aanbevelen aan een gebruiker
Wanneer u het tweede type voorspellingen maakt, kunt u in een van deze modi werken:
In de productiemodus worden alle gebruikers of items in overweging genomen. Deze wordt meestal gebruikt in een webservice.
U kunt scores maken voor nieuwe gebruikers, niet alleen 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. Deze wordt meestal gebruikt tijdens pijplijnbewerkingen.
Zie het onderzoeksdocument matrixfactorisatietechnieken voor aanbevelingssystemen voor meer informatie over het SVD-aanbevelingsalgoritmen.
SvD-aanbevelingsfunctie voor score configureren
Dit onderdeel ondersteunt twee typen voorspellingen, elk met verschillende vereisten.
Voorspelling van beoordelingen
Wanneer u beoordelingen voorspelt, berekent het model hoe een gebruiker reageert op een bepaald item, op basis van de trainingsgegevens. De invoergegevens voor scoren moeten zowel een gebruiker als het item bieden om te beoordelen.
Voeg een getraind aanbevelingsmodel toe aan uw pijplijn en verbind het met de getrainde SVD-aanbevelingsfunctie. U moet het model maken met behulp van het component Train SVD Recommender .
Selecteer Beoordelingsvoorspelling voor type aanbevelingsvoorspelling. Er zijn geen andere parameters vereist.
Voeg de gegevens toe waarvoor u voorspellingen wilt doen en koppel deze aan gegevensset om te scoren.
Om beoordelingen te kunnen voorspellen, moet de invoergegevensset paren van gebruikersitems bevatten.
De gegevensset kan een optionele derde kolom met classificaties bevatten voor het paar gebruikersitems in de eerste en tweede kolommen. Maar de derde kolom wordt tijdens de voorspelling genegeerd.
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 voor gebruikers wilt aanbevelen, 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 met waarschijnlijke aantrekkingskracht op elke gebruiker. 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.
Voeg een getraind aanbevelingsmodel toe aan uw pijplijn en verbind het met de getrainde SVD-aanbevelingsfunctie. U moet het model maken met behulp van het component Train SVD Recommender .
Als u items wilt aanbevelen voor een lijst met gebruikers, stelt u het type Aanbeveling van de aanbeveling voor aanbevolen aanbevelingen in.
Geef voor aanbevolen itemselectie aan of u het scoreonderdeel in productie of voor modelevaluatie gebruikt. Kies een van deze waarden:
Selecteer deze optie als u een pijplijn instelt voor gebruik in een webservice of in productieomgeving. 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 die items in de invoergegevensset die zijn geclassificeerd.
Van Niet-geclassificeerde items (om nieuwe items aan gebruikers voor te stellen): selecteer deze optie als u wilt dat het onderdeel alleen aanbevelingen doet van die items in de trainingsgegevensset die niet zijn beoordeeld.
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 extra twee kolommen met item-id's en classificaties bevatten, maar deze twee kolommen worden genegeerd.
Voor From Rated Items (voor modelevaluatie) moet de invoergegevensset bestaan uit gebruikersitemparen. 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 voor gebruikersitems bevatten, maar deze kolom wordt genegeerd.
Voor Niet-geclassificeerde items (om nieuwe items voor te stellen aan gebruikers), moet de invoergegevensset bestaan uit paren van gebruikersitems. 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 voor gebruikersitems bevatten, maar deze kolom wordt genegeerd.
Maximum aantal items dat aan een gebruiker moet worden aanbevolen: voer het aantal items in dat voor elke gebruiker moet worden geretourneerd. Standaard raadt het onderdeel vijf items aan.
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 Van alle items of Van niet-geclassificeerde items selecteert (om nieuwe items aan gebruikers voor te stellen).
Voor 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 beoordeeld uit de voorspellingsresultaten.
Als u dit filter wilt toepassen, verbindt u de oorspronkelijke trainingsgegevensset met de invoerpoort.
Verzend de pijplijn.
Resultaten van aanbeveling voor items
De scored gegevensset die wordt geretourneerd door score SVD Recommender geeft de aanbevolen items voor elke gebruiker weer:
- De eerste kolom bevat de gebruikers-id's.
- Er worden een aantal extra kolommen gegenereerd, afhankelijk van de waarde die u instelt voor het maximum aantal items dat u aan een gebruiker wilt aanbevelen. Elke kolom bevat een aanbevolen item (op id). De aanbevelingen worden gerangschikt op gebruikersitemaffiniteit. Het item met de hoogste affiniteit wordt in kolom Item 1 geplaatst.
Technische notities
Als u een pijplijn met de SVD-aanbevelingsfunctie hebt 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 grondwaar in een testset. Wanneer u de aanbevelingsfunctie evalueert, moet deze alleen items voorspellen die in de testset zijn beoordeeld. Hiermee worden de mogelijke waarden beperkt 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 grondwaar. 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.