Aanbevelingsfunctie voor evaluatie
Belangrijk
De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.
Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.
- Zie informatie over het verplaatsen machine learning van ML Studio (klassiek) naar Azure Machine Learning.
- Meer informatie over Azure Machine Learning.
De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.
Evalueert de nauwkeurigheid van aanbevelingenmodelvoorspellingen
Categorie: Machine Learning/evalueren
Notitie
Van toepassing op: Machine Learning Studio (klassiek)
Vergelijkbare modules met slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.
Moduleoverzicht
In dit artikel wordt beschreven hoe u de module Evaluate Recommender in Machine Learning Studio (klassiek) gebruikt om de nauwkeurigheid te meten van voorspellingen die door een aanbevelingsmodel worden gedaan. Met behulp van deze module kunt u vier verschillende soorten aanbevelingen evalueren:
Beoordelingen die zijn voorspeld voor een bepaalde gebruiker en een bepaald item
Aanbevolen items voor een bepaalde gebruiker
Een lijst met gebruikers die aan een bepaalde gebruiker zijn gerelateerd
Een lijst met items die aan een bepaald item zijn gerelateerd
Wanneer u voorspellingen maakt met behulp van een aanbevelingsmodel, worden er iets andere resultaten geretourneerd voor elk van deze ondersteunde voorspellingstypen. De module Evaluate Recommender deduceert het soort voorspelling op basis van de kolomindeling van de beoordeelde gegevensset. De gegevensset met een score kan bijvoorbeeld het volgende bevatten:
- gebruikersitemclassificatie verdrievoudigt
- gebruikers en hun aanbevolen items
- gebruikers en hun gerelateerde gebruikers
- items en de bijbehorende items
In de module worden ook de juiste prestatiemetrieken toegepast, op basis van het type voorspelling dat wordt gemaakt.
Tip
Meer informatie over de end-to-end ervaring van het bouwen van een aanbevelingssysteem in deze zelfstudie van het .NET-ontwikkelteam. Bevat voorbeeldcode en bespreking van het aanroepen van Machine Learning vanuit een toepassing.
Aanbevelingsent engine bouwen voor .NET-toepassingen met Machine Learning
Evaluate Recommender configureren
De module Evaluate Recommender vergelijkt de uitvoer van voorspellingen door een aanbevelingsmodel met de bijbehorende 'grond-waarheid'-gegevens. De module Score Matchbox Recommender produceert bijvoorbeeld beoordeelde gegevenssets die kunnen worden geanalyseerd met Evaluate Recommender.
Vereisten
Evaluate Recommender vereist de volgende gegevenssets als invoer.
Gegevensset testen
De testgegevensset bevat de 'grond-waarheid'-gegevens in de vorm van drie keer dezelfde gebruikersitemclassificatie.
Als u al een gegevensset hebt met drie keer dezelfde gebruikersitemclassificatie, kunt u de module Split Data toepassen met behulp van de optie RecommenderSplit om een trainingsgegevensset en een gerelateerde testset te maken op basis van de bestaande gegevensset.
Scored dataset
De scored gegevensset bevat de voorspellingen die zijn gegenereerd door het aanbevelingsmodel.
De kolommen in deze tweede gegevensset zijn afhankelijk van het soort voorspelling dat u tijdens het scoren hebt gedaan. De gegevensset met een score kan bijvoorbeeld het volgende bevatten:
- Gebruikers, items en de beoordelingen die de gebruiker waarschijnlijk voor het item zou geven
- Een lijst met gebruikers en items die voor hen worden aanbevolen
- Een lijst met gebruikers, met gebruikers die er waarschijnlijk op lijken
- Een lijst met items, samen met smiliar-items
Metrische gegevens
Metrische prestatiegegevens voor het model worden gegenereerd op basis van het type invoer. Zie de volgende secties voor meer informatie:
- Voorspelde beoordelingen evalueren
- Aanbevelingen voor items evalueren
- Voorspellingen van gerelateerde gebruikers evalueren
- Voorspellingen van gerelateerde items evalueren
Voorspelde beoordelingen evalueren
Bij het evalueren van voorspelde beoordelingen moet de beoordeelde gegevensset (de tweede invoer voor Evaluate Recommender) drie keer dezelfde waarden voor gebruikersitemclassificatie bevatten, om te voldoen aan deze vereisten:
De eerste kolom van de gegevensset bevat gebruikers-id's.
De tweede kolom bevat de item-id's.
De derde kolom bevat de bijbehorende gebruikersitemclassificaties.
Belangrijk
Om de evaluatie te laten slagen, moeten de kolomnamen User
respectievelijk , Item
en Rating
zijn.
Evaluate Recommender vergelijkt de classificaties in de ground truth-gegevensset met de voorspelde classificaties van de beoordeelde gegevensset en berekent de gemiddelde absolute fout (MAE) en de wortel van de gemiddelde kwadraatfout (RMSE).
De andere parameters van Evaluate Recommender hebben geen effect op de evaluatie van classificatievoorspellingen.
Aanbevelingen voor items evalueren
Wanneer u de itemaanbeveling evalueert, gebruikt u een gegevensset met een score die de aanbevolen items voor elke gebruiker bevat:
De eerste kolom van de gegevensset moet de gebruikers-id bevatten.
Alle volgende kolommen moeten de bijbehorende aanbevolen item-id's bevatten, geordend op hoe relevant een item voor de gebruiker is.
Voordat u verbinding maakt met deze gegevensset, raden we u aan de gegevensset te sorteren zodat de meest relevante items op de eerste plaats komen.
De andere parameters van Evaluate Recommender hebben geen effect op de evaluatie van itemaanbevelingen.
Belangrijk
Om Evaluate Recommender te laten werken, moeten de kolomnamen User
, Item 1
, Item 2
, enzovoort Item 3
zijn.
Evaluate Recommender berekent de gemiddelde genormaliseerde cumulatieve winst (NDCG) met korting en retourneert deze in de uitvoerset.
Omdat het onmogelijk is om de werkelijke 'grond waarheid' voor de aanbevolen items te weten, gebruikt Evaluate Recommender de classificaties van gebruikersitems in de testgegevensset als winst in de berekening van de NDCG. Om te evalueren, moet de aanbevelingsscoremodule alleen aanbevelingen opleveren voor items met classificaties voor de basis-waarheid (in de test-gegevensset).
Voorspellingen van gerelateerde gebruikers evalueren
Wanneer u voorspellingen van gerelateerde gebruikers evalueert, gebruikt u een gegevensset met een score die de gerelateerde gebruikers bevat voor elke gebruiker die van belang is:
De eerste kolom moet de id's voor elke gebruiker van belang bevatten.
Alle volgende kolommen bevatten de id's voor de voorspelde gerelateerde gebruikers. Gerelateerde gebruikers worden geordend op de sterkte van de relatie (meest gerelateerde gebruiker eerst).
Om Evaluate Recommender te laten werken, moeten de kolomnamen
User
,Related User 1
,Related User 2
,Related User 3
, enzovoort zijn.
Tip
U kunt invloed hebben op de evaluatie door het minimum aantal items in te stellen dat een gebruiker van belang is en de bijbehorende gebruikers gemeenschappelijk moeten hebben.
Evaluate Recommender berekent de gemiddelde genormaliseerde cumulatieve winst (NDCG) met korting op basis van de afstanden Van Nu (L1 Sim NDCG) en Euclidean (L2 Sim NDCG) en retourneert beide waarden in de uitvoerset. Omdat er geen werkelijke basis-waarheid is voor de gerelateerde gebruikers, gebruikt Evaluate Recommender de volgende procedure om de gemiddelde NDCG's te berekenen.
Voor elke gebruiker die geïnteresseerd is in de scorende gegevensset:
Zoek alle items in de testgegevensset die zijn beoordeeld door zowel de gebruiker van belang als de bijbehorende gebruiker die in overweging is genomen.
Maak twee vectoren van de classificaties van deze items: één voor de gebruiker van belang en één voor de gerelateerde gebruiker die in overweging is.
Bereken de winst als de overeenkomst van de resulterende twee classificatievectoren, in termen van hun Afstand tussen Den Haag (L1) of Euclidean (L2).
Bereken de L1 Sim NDCG en de L2 Sim NDCG met behulp van de voordelen van alle gerelateerde gebruikers.
Gemiddelde van de NDCG-waarden voor alle gebruikers in de gegevensset met een score.
Met andere woorden, winst wordt berekend als de overeenkomst (genormaliseerde Of Euclidische afstanden) tussen een gebruiker van belang (de vermelding in de eerste kolom van de scored dataset) en een bepaalde gerelateerde gebruiker (de vermelding in de kolom n-th van de scored dataset). De winst van dit gebruikerspaar wordt berekend met behulp van alle items waarvoor beide items zijn beoordeeld in de oorspronkelijke gegevens (testset). De NDCG wordt vervolgens berekend door het samenvoegen van de afzonderlijke voordelen voor één gebruiker van belang en alle gerelateerde gebruikers, met behulp van logaritme korting. Dat wil zeggen dat er één NDCG-waarde wordt berekend voor elke gebruiker die van belang is (elke rij in de scored dataset). Het getal dat ten slotte wordt gerapporteerd, is het rekenkundige gemiddelde van alle gebruikers die geïnteresseerd zijn in de scorende gegevensset (dat wil zeggen de rijen).
Daarom moet de beoordelingsmodule voor aanbevelingsgebruikers alleen gerelateerde gebruikers voorspellen die items hebben met classificaties voor de grond-waarheid (in de test-gegevensset).
Voorspellingen van gerelateerde items evalueren
Wanneer u de voorspelling van gerelateerde items evalueert, gebruikt u een gegevensset met een score die de gerelateerde items voor elk interessant item bevat:
De eerste kolom moet id's bevatten voor de verantwoordelijke items.
Alle volgende kolommen moeten id's bevatten voor de voorspelde gerelateerde items, geordend op hoe gerelateerd ze zijn aan het verantwoordelijke item (het meest gerelateerde item eerst).
Om Evaluate Recommender te laten werken, moeten de kolomnamen
Item
,Related Item 1
,Related Item 2
,Related Item 3
, enzovoort zijn.
Tip
U kunt invloed hebben op de evaluatie door het minimum aantal gebruikers in te stellen dat een belangrijk item en de bijbehorende items gemeenschappelijk moeten hebben.
Evaluate Recommender berekent de gemiddelde genormaliseerde cumulatieve winst (NDCG) die is genormaliseerd op basis van de afstanden L1 Sim NDCG (L1 Sim NDCG) en Euclidean (L2 Sim NDCG) en retourneert beide waarden in de uitvoerset. Omdat er geen werkelijke basis-waarheid is voor de gerelateerde items, berekent Evaluate Recommender de gemiddelde NDCG's als volgt:
Voor elk interesse-item in de scorende gegevensset:
Zoek alle gebruikers in de testset die zowel het gewogen item als het bijbehorende item hebben beoordeeld.
Maak twee vectoren van de classificaties van deze gebruikers, één voor het verantwoordelijke item en voor het gerelateerde item dat in overweging is.
Bereken de winst als de overeenkomst van de resulterende twee beoordelingsvectoren in termen van hun Afstand tussen Hen (L1) of Euclidean (L2).
Bereken de NDCG voor L1 Sim en de NDCG van L2 Sim met behulp van de voordelen van alle gerelateerde items.
Gemiddelde van de NDCG-waarden voor alle items die van belang zijn in de scorende gegevensset.
Met andere woorden, winst wordt berekend als de overeenkomst (genormaliseerde Of Euclidische afstanden) tussen een belangrijk item (de vermelding in de eerste kolom van de scorede gegevensset) en een bepaald gerelateerd item (de vermelding in de kolom n-th van de scored gegevensset). De winst van dit itempaar wordt berekend met behulp van alle gebruikers die beide items in de oorspronkelijke gegevens hebben beoordeeld (testset). De NDCG wordt vervolgens berekend door het samenvoegen van de afzonderlijke voordelen voor één interessant item en alle bijbehorende items, met behulp van logaritme korting. Dat wil zeggen dat er één NDCG-waarde wordt berekend voor elk belangrijk item (elke rij in de scored dataset). Het getal dat ten slotte wordt gerapporteerd, is het rekenkundige gemiddelde over alle items die van belang zijn in de scorende gegevensset (dat wil zeggen de rijen).
Daarom moet de beoordelingsmodule voor aanbevelingsscores alleen gerelateerde items voorspellen met classificaties van de grond-waarheid (in de test-gegevensset).
Voorbeelden
Voor voorbeelden van hoe aanbevelingsmodellen worden gebruikt in Machine Learning, zie de Azure AI Gallery:
Voorbeeld van filmaanbeveling: demonstreert hoe u traint, evalueert en beoordeelt met behulp van een aanbevelingsmodel.
Aanbevelingsent engine bouwen voor .NET-toepassingen met Machine Learning: in dit blog vindt u een gedetailleerde beschrijving van het bouwen van een filmaanbevelingsmodel.
Verwachte invoer
Naam | Type | Description |
---|---|---|
Gegevensset testen | Gegevenstabel | Gegevensset testen |
Scored dataset | Gegevenstabel | Scored dataset |
Moduleparameters
Name | Bereik | Type | Standaard | Beschrijving |
---|---|---|---|---|
Minimum aantal items dat de querygebruiker en de gerelateerde gebruiker gemeenschappelijk moeten hebben | >= 1 | Geheel getal | 2 | Geef het minimum aantal items op dat moet worden beoordeeld door zowel de querygebruiker als de bijbehorende gebruiker Deze parameter is optioneel |
Minimum aantal gebruikers dat het query-item en het bijbehorende item gemeenschappelijk moeten hebben beoordeeld | >= 1 | Geheel getal | 2 | Geef het minimale aantal gebruikers op dat zowel het query-item als het bijbehorende item moet hebben beoordeeld Deze parameter is optioneel |
Uitvoerwaarden
Naam | Type | Description |
---|---|---|
Metrisch | Gegevenstabel | Een tabel met metrische evaluatiegegevens |
Uitzonderingen
Uitzondering | Description |
---|---|
Fout 0022 | Uitzondering treedt op als het aantal geselecteerde kolommen in de invoerset niet gelijk is aan het verwachte aantal. |
Fout 0003 | Uitzondering treedt op als een of meer invoer null of leeg zijn. |
Fout 0017 | Uitzondering treedt op als een of meer opgegeven kolommen het type niet ondersteund hebben door de huidige module. |
Fout 0034 | Uitzondering treedt op als er meer dan één classificatie bestaat voor een bepaald gebruikersitempaar. |
Fout 0018 | Er treedt een uitzondering op als de invoerset ongeldig is. |
Fout 0002 | Uitzondering treedt op als een of meer parameters niet kunnen worden geparseerd of geconverteerd van het opgegeven type naar vereist door het doelmethodetype. |
Zie Foutcodes voor een lijst met fouten die specifiek zijn Machine Learning voor Studio-modules (klassiek).
Zie Foutcodes voor een lijst Machine Learning REST API API-uitzonderingen.
Zie ook
Aanbevelingser voor Matchbox trainen
Aanbevelings voor scorematchbox