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 datauppsättningen. Till exempel kan den poängsatta datauppsättningen 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 "grundsanningsdata". Till exempel producerar komponenten Score SVD Recommender poängsatta datauppsättningar som du kan analysera med hjälp av Utvärdera rekommenderare.

Krav

Evaluate Recommender kräver följande datauppsättningar som indata.

Testa datauppsättning

Testdatamängden innehåller "grundsanningsdata" 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 här andra datamängden beror på vilken typ av förutsägelse du utförde under bedömningsprocessen. Till exempel kan den poängsatta datauppsättningen innehålla något av följande:

  • Användare, objekt och 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 omdömen

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 klassificeringar av användarobjekt.

Viktigt

För att utvärderingen ska lyckas måste kolumnnamnen vara User, Itemrespektive Rating.

Evaluate Recommender jämför klassificeringarna i datauppsättningen "grund sanning" med de förutsagda klassificeringarna för den poängsatta datamängden. Den beräknar sedan 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 datauppsättningen 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 datauppsättningen så att de mest relevanta objekten kommer först.

Viktigt

För att Evaluate Recommender ska fungera måste kolumnnamnen vara User, Item 1, Item 2Item 3 och 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 klassificeringarna av användarobjekt 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 "grundsanning" (i testdatamängden).

Nästa steg

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