Utvärdera rekommenderare
I den här artikeln beskrivs hur du använder komponenten Utvärdera rekommenderare i Azure Machine Learning-designern. Målet är att mäta noggrannheten för förutsägelser som en rekommendationsmodell har gjort. Med den här komponenten kan du utvärdera olika typer av rekommendationer:
- Klassificeringar som förutsägs för en användare och ett objekt
- Objekt som rekommenderas för en användare
När du skapar förutsägelser med hjälp av en rekommendationsmodell returneras något olika resultat för var och en av dessa förutsägelsetyper som stöds. Komponenten Evaluate Recommender härleder typen av förutsägelse från kolumnformatet för den poängsatta datamängden. Till exempel kan den poängsatta datamängden innehålla:
- Trippelklassificering av användarobjekt
- Användare och deras rekommenderade objekt
Komponenten tillämpar också lämpliga prestandamått baserat på vilken typ av förutsägelse som görs.
Så här konfigurerar du Utvärdera rekommenderare
Komponenten Evaluate Recommender jämför förutsägelseutdata med hjälp av en rekommendationsmodell med motsvarande "ground truth"-data. Komponenten Poängsätta SVD-rekommenderare genererar till exempel poängsatta datamängder som du kan analysera med hjälp av Utvärdera rekommenderare.
Krav
Utvärdera rekommenderare kräver följande datauppsättningar som indata.
Testa datauppsättning
Testdatamängden innehåller "ground truth"-data i form av trippelklassificering av användarobjekt.
Poängsatt datauppsättning
Den poängsatta datamängden innehåller de förutsägelser som rekommendationsmodellen genererade.
Kolumnerna i den andra datamängden beror på vilken typ av förutsägelse du utförde under bedömningsprocessen. Den poängsatta datamängden kan till exempel innehålla något av följande:
- Användare, objekt och de klassificeringar som användaren sannolikt skulle ge för objektet
- En lista över användare och objekt som rekommenderas för dem
Mått
Prestandamått för modellen genereras baserat på typen av indata. Följande avsnitt innehåller information.
Utvärdera förutsagda klassificeringar
När du utvärderar förutsagda klassificeringar måste den poängsatta datamängden (den andra indatan till Utvärdera rekommenderare) innehålla trippelklassificering av användarobjekt som uppfyller dessa krav:
- Den första kolumnen i datamängden innehåller användaridentifierarna.
- Den andra kolumnen innehåller objektidentifierarna.
- Den tredje kolumnen innehåller motsvarande användarobjektsklassificeringar.
Viktigt!
För att utvärderingen ska lyckas måste kolumnnamnen vara User
, Item
respektive Rating
.
Evaluate Recommender jämför klassificeringarna i datauppsättningen "ground truth" med de förutsagda klassificeringarna för den poängsatta datamängden. Sedan beräknas det genomsnittliga absoluta felet (MAE) och rmse (root mean squared error).
Utvärdera objektrekommendationer
När du utvärderar objektrekommendationer använder du en poängsatt datauppsättning som innehåller de rekommenderade objekten för varje användare:
- Den första kolumnen i datamängden måste innehålla användaridentifieraren.
- Alla efterföljande kolumner ska innehålla motsvarande rekommenderade objektidentifierare, ordnade efter hur relevant ett objekt är för användaren.
Innan du ansluter den här datauppsättningen rekommenderar vi att du sorterar datamängden så att de mest relevanta objekten kommer först.
Viktigt!
För att Utvärdera rekommenderare ska fungera måste kolumnnamnen vara User
, Item 1
, Item 2
och Item 3
så vidare.
Evaluate Recommender beräknar den genomsnittliga normaliserade rabatterade kumulativa vinsten (NDCG) och returnerar den i utdatauppsättningen.
Eftersom det är omöjligt att känna till den faktiska "grundsanningen" för de rekommenderade objekten använder Evaluate Recommender användarobjektsklassificeringarna i testdatauppsättningen som vinster i beräkningen av NDCG. För att utvärdera får rekommendationskomponenten endast ge rekommendationer för objekt med "ground truth"-klassificeringar (i testdatauppsättningen).
Nästa steg
Se den uppsättning komponenter som är tillgängliga för Azure Machine Learning.