Ajánló értékelése

Fontos

A (klasszikus) Machine Learning Studio támogatása 2024. augusztus 31-én megszűnik. Javasoljuk, hogy addig térjen át az Azure Machine Learning használatára.

2021. december 1-től kezdve nem fog tudni létrehozni új (klasszikus) Machine Learning Studio-erőforrásokat. 2024. augusztus 31-ig továbbra is használhatja a meglévő (klasszikus) Machine Learning Studio-erőforrásokat.

A (klasszikus) ML Studio dokumentációjának kivezetése folyamatban van, és a jövőben nem várható a frissítése.

Kiértékeli az ajánló modell előrejelzésének pontosságát

Kategória: Machine Learning / Értékelés

Megjegyzés

A következőkre vonatkozik: Machine Learning Studio (klasszikus)

Hasonló húzással használható modulok érhetők el Azure Machine Learning tervezőben.

A modul áttekintése

Ez a cikk azt ismerteti, hogyan használható a Machine Learning Studio (klasszikus) Evaluate Recommender (Ajánló kiértékelése) modulja egy javaslatmodell által készített előrejelzések pontosságának mérésére. Ezzel a modullal négyféle javaslatot értékelhet ki:

  • Egy adott felhasználóra és elemre előrejelezni kívánt értékelések

  • Egy adott felhasználóhoz ajánlott elemek

  • Egy adott felhasználóhoz kapcsolódó felhasználók listája

  • Egy adott elemhez kapcsolódó elemek listája

Ha javaslatmodell használatával hoz létre előrejelzéseket, a támogatott előrejelzési típusokhoz némileg eltérő eredményeket ad vissza a rendszer. Az Evaluate Recommender (Ajánló kiértékelése) modul a pontozási adatkészlet oszlopformátumának előrejelzési fajtáját dedukció. A pontozási adatkészlet például a következőket tartalmazhatja:

  • felhasználóelem-minősítési tripla
  • felhasználók és ajánlott elemeik
  • felhasználók és kapcsolódó felhasználóik
  • elemek és kapcsolódó elemeik

A modul a megfelelő teljesítménymetrikákat is alkalmazza az alkalmazott előrejelzés típusa alapján.

Tipp

Ebben az oktatóanyagban a .NET fejlesztői csapattól megtudhatja, hogy mit kell tudni a javaslati rendszer teljes fejlesztéséhez szükséges teljes élményről. Mintakódot és az alkalmazásból Machine Learning hívásának mintáját tartalmazza.

Javaslati motor kiépítése .NET-alkalmazásokhoz a Machine Learning

Az Evaluate Recommender konfigurálása

Az Evaluate Recommender (Ajánló kiértékelése) modul összehasonlítja egy javaslatmodell előrejelzéseit a megfelelő "alap igazság" adatokkal. A Score Matchbox Recommender (Matchbox-ajánló pontozása) modul például pontozással előállított adatkészleteket hoz létre, amelyek elemezhetők az Evaluate Recommenderrel.

Követelmények

Az Ajánló kiértékelése a következő adatkészleteket igényli bemenetként.

Adatkészlet tesztelése

A tesztadatkészlet a "valóság" adatokat tartalmazza felhasználóelem-minősítési tripla formájában.

Ha már rendelkezik egy felhasználóelem-minősítési háromszoros értékeket tartalmazó adatkészletgel, a RecommenderSplit lehetőséggel alkalmazhatja az Adatok felosztása modult egy betanítás adatkészlet és egy kapcsolódó tesztelési készlet létrehozásához a meglévő adatkészletből.

Pontozásos adatkészlet

A pontozási adatkészlet tartalmazza a javaslatmodell által létrehozott előrejelzéseket.

A második adatkészlet oszlopai a pontozás során kapott előrejelzés típusától függenek. A pontozási adatkészlet például a következők bármelyikét tartalmazhatja:

  • Felhasználók, elemek és a felhasználó által valószínűleg az adott elemhez adott értékelések
  • A számukra ajánlott felhasználók és elemek listája
  • Felhasználók listája, olyan felhasználókkal, akik valószínűleg hasonlítanak rájuk
  • Elemek listája és smiliar elemek

Mérőszámok

A modell teljesítménymetrikák a bemenet típusa alapján jönnek létre. Részletekért tekintse meg a következő szakaszokat:

Előrejel jelzett értékelések kiértékelése

Az előrejelelt értékelések kiértékelése során a pontozható adatkészletnek (az Ajánló értékelése második bemenete) tartalmaznia kell a felhasználó elemértékelési háromszorosát, az alábbi követelményeknek megfelelően:

  • Az adatkészlet első oszlopa felhasználói azonosítókat tartalmaz.

  • A második oszlop az elemazonosítókat tartalmazza.

  • A harmadik oszlop a megfelelő felhasználóielem-értékeléseket tartalmazza.

Fontos

A kiértékelés sikeréhez az Useroszlopneveknek , és Item, és Ratingértéknek kell lennie.

Az Evaluate Recommender összehasonlítja az alapesetben található értékeléseket a pontozási adatkészlet előrejelelt minősítéseivel, és kiszámítja az átlagos abszolút hibát ( MAE) és a gyökér-emuláti négyzetes hibát ( RMSE).

Az Evaluate Recommender többi paramétere nincs hatással a minősítési előrejelzések értékelésére.

Elemekkel kapcsolatos javaslatok kiértékelése

Elema javaslat kiértékelése során használjon pontozással megadott adatkészletet, amely tartalmazza az egyes felhasználókhoz ajánlott elemeket:

  • Az adatkészlet első oszlopának tartalmaznia kell a felhasználói azonosítót.

  • Minden további oszlopnak tartalmaznia kell a megfelelő ajánlott elemazonosítókat, a felhasználó számára releváns elemek alapján rendezetten.

    Az adatkészlet csatlakoztatása előtt javasoljuk, hogy rendezi az adatkészletet úgy, hogy a legfontosabb elemek jöjjenek előrébb.

Az Evaluate Recommender többi paramétere nincs hatással az elemekre vonatkozó javaslatok értékelésére.

Fontos

Ahhoz , hogy az Ajánló kiértékelése működjön, Useraz oszlopneveknek , Item 1, Item 2és Item 3 így tovább kell lennie.

Az Evaluate Recommender kiszámítja az átlagos normalizált diszkont halmozott nyereséget (NDCG), és visszaadja a kimeneti adatkészletben.

Mivel a javasolt elemek tényleges "alapvalóságát" nem lehet tudni, az Evaluate Recommender a tesztadatkészletben lévő felhasználói elemek minősítését használja az NDCG számításának növeléseként. Az értékeléshez az ajánló pontozási modulnak csak az alapszint-minősítéssel (a tesztadatkészletben) kapcsolatos javaslatokat kell előállítania.

Kapcsolódó felhasználók előrejelzésének értékelése

A kapcsolódó felhasználók előrejelzésének kiértékeléskor pontozási adatkészletet használjon, amely az egyes érdekelt felhasználókhoz tartozó felhasználókat tartalmazza:

  • Az első oszlopnak tartalmaznia kell az egyes fontos felhasználók azonosítóit.

  • Minden további oszlop tartalmazza az előrejel jelzett kapcsolódó felhasználók azonosítóit. A kapcsolódó felhasználók az realtionship erőssége alapján vannak megrendelve (először a legtöbb kapcsolódó felhasználó).

  • Ahhoz , hogy az Ajánló kiértékelése működjön, Useraz oszlopneveknek , Related User 1, Related User 2, Related User 3és így tovább kell lennie.

Tipp

Az értékelést úgy befolyásolhatja, hogy a felhasználó és a kapcsolódó felhasználók közös elemeinek minimális számát használhatja.

Az Evaluate Recommender kiszámítja az átlagos normalizált diszkont halmozott nyereséget (NDCG) a Rendszer (L1 Sim NDCG) és az euklideán (L2 Sim NDCG) távolságok alapján, és visszaadja a kimeneti adatkészlet mindkét értékét. Mivel a kapcsolódó felhasználóknak nincs valós alapjuk, az Evaluate Recommender az alábbi eljárással számítja ki az átlagos NDCG-ket.

A pontozási adatkészlet minden érdekelt felhasználója számára:

  1. Megkeresi a tesztadatkészlet összes olyan elemét, amelyet az érdekelt felhasználó és a kapcsolódó felhasználó is minősített.

  2. Hozzon létre két vektort ezen elemek minősítései alapján: egyet a fontos felhasználónak, egyet pedig a kapcsolódó felhasználónak.

  3. Az eredményül kapott két értékelő vektor hasonlóságaként számítja ki a nyereséget a Következő 1. vagy Euklideán (L2) távolság alapján.

  4. Számítsa ki az L1 Sim NDCG-t és az L2 Sim NDCG-t az összes kapcsolódó felhasználóval együtt.

  5. Az NDCG-értékek átlaga a pontozási adatkészlet összes felhasználója alapján.

Más szóval a nyereség kiszámítása a fontos felhasználó (a pontozási adatkészlet első oszlopának bejegyzése) és egy adott kapcsolódó felhasználó (a pontzott adatkészlet n-edik oszlopában található bejegyzés) közötti hasonlóságként (normalizált Beli vagy euklciabeli távolságok) számítható ki. Ennek a felhasználói párnak a nyereségét az összes olyan elem alapján számítjuk ki, amelynek mindkét elemét az eredeti adatok (tesztkészlet) minősítették. Az NDCG kiszámítása ezután egyetlen érdekelt felhasználó és az összes kapcsolódó felhasználó egyéni nyereségének összesítésével, logaritmikus kedvezményekkel. Ez azt jelenti, hogy a rendszer egy NDCG-értéket számít ki minden fontos felhasználóhoz (a pontozási adatkészlet minden sorára). A végül jelentett szám az aritmetikai átlag a pontozási adathalmaz összes érdekelt felhasználója (azaz a sorai) alapján.

Ezért az értékeléshez az ajánló pontozási modulnak csak olyan kapcsolódó felhasználókat kell előrejeleznie, akik alapszint-minősítéssel (a tesztadatkészletben) vannak elemekkel.

Kapcsolódó elemek előrejelzésének értékelése

A kapcsolódó elemek előrejelzésének kiértékeléskor pontozásos adatkészletet használjon, amely az egyes fontos elemek kapcsolódó elemeit tartalmazza:

  • Az első oszlopnak tartalmaznia kell a fontos elemek azonosítóit.

  • Minden további oszlopnak tartalmaznia kell az előrejelezni kívánt kapcsolódó elemek azonosítóit, az alapján rendezetten, hogy mennyire kapcsolódnak a kívánt elemhez (először a legtöbb kapcsolódó elem).

  • Ahhoz , hogy az Ajánló kiértékelése működjön, Itemaz oszlopneveknek , Related Item 1, Related Item 2, Related Item 3és így tovább kell lennie.

Tipp

Az értékelésre úgy lehet hatással, hogy megszabadja, hogy egy adott elemnek és a kapcsolódó elemeknek hány felhasználóval kell közösnek lennie.

Az Evaluate Recommender kiszámítja az átlagos normalizált diszkont halmozott nyereséget (NDCG) a Rendszer (L1 Sim NDCG) és az euklideán (L2 Sim NDCG) távolságok alapján, és visszaadja a kimeneti adatkészlet mindkét értékét. Mivel a kapcsolódó elemeknek nincs valós alapjuk, az Evaluate Recommender az alábbi módon számítja ki az átlagos NDCG-ket:

A pontozási adatkészlet minden egyes érdekes eleméhez:

  1. Megkeresi a tesztadatkészlet összes olyan felhasználóját, aki a kívánt elemet és a kapcsolódó elemet is minősítette.

  2. Hozzon létre két vektort ezen felhasználók minősítései alapján, egyet a kívánt elemhez és a kapcsolódó elemhez.

  3. Az eredményül kapott két értékelési vektor hasonlóságaként számítsa ki a nyereséget a 1. szintű Vagy euklideán (L2) távolság alapján.

  4. Számítsa ki az L1 Sim NDCG-t és az L2 Sim NDCG-t az összes kapcsolódó elem nyereségének felhasználásával.

  5. Átlagozza az NDCG-értékeket a pontozási adatkészlet összes érdekes elemére.

Más szóval a nyereség kiszámítása a kívánt elem (a pontozási adatkészlet első oszlopának bejegyzése) és egy adott kapcsolódó elem (a pontzott adatkészlet n-edik oszlopában lévő tétel) közötti hasonlóságként (normalizáltSégi vagy euklciabeli távolságok) számítható ki. Ennek az elempárnak a nyereségét az összes olyan felhasználó alapján számítjuk ki, aki az eredeti adatokban (tesztkészletben) mindkét elemet minősítette. Az NDCG számítása ezután egyetlen fontos elem és az összes kapcsolódó elem egyéni nyereségének összesítésével, logaritmikus kedvezmény használatával. Ez azt jelenti, hogy a rendszer minden fontos elemhez (a pontozási adatkészlet minden sorára) egy NDCG-értéket számít ki. A végül jelentett szám az aritmetikai átlag a pontozási adathalmaz összes fontos elemére (vagyis a soraira) vetve.

Ezért az értékeléshez az ajánló pontozási modulnak csak a kapcsolódó elemeket kell előrejeleznie az alapszint-minősítésekkel (a tesztadatkészletben).

Példák

A javaslatmodellek a Machine Learning a következő Azure AI Gallery:

Várt bemenetek

Név Típus Description
Adatkészlet tesztelése Adattábla Adatkészlet tesztelése
Pontozásos adatkészlet Adattábla Pontozásos adatkészlet

Modulparaméterek

Name Tartomány Típus Alapértelmezett Description
A lekérdezés felhasználója és a kapcsolódó felhasználó által közösként értékelt elemek minimális száma >=1 Egész szám 2 Adja meg a lekérdezési felhasználó és a kapcsolódó felhasználó által minősített elemek minimális számát

Ez a paraméter nem kötelező
Azon felhasználók minimális száma, akik szerint a lekérdezési elemet és a kapcsolódó elemet közös minősítéssel kellett minősítetni >=1 Egész szám 2 Azon felhasználók minimális számának megadása, akik a lekérdezési elemet és a kapcsolódó elemet is minősítették

Ez a paraméter nem kötelező

Kimenetek

Név Típus Description
Metric Adattábla Kiértékelési metrikák táblázata

Kivételek

Kivétel Description
0022-es hiba Kivétel akkor fordul elő, ha a bemeneti adatkészlet kiválasztott oszlopainak száma nem egyenlő a várt számmal.
0003-as hiba Kivétel történik, ha egy vagy több bemenet null vagy üres.
0017-es hiba Kivétel akkor fordul elő, ha egy vagy több megadott oszlop típusa az aktuális modul által nem támogatott.
0034-es hiba Kivétel akkor fordul elő, ha egy adott felhasználóelempárhoz egynél több minősítés is létezik.
0018-as hiba Kivétel történik, ha a bemeneti adatkészlet érvénytelen.
0002-es hiba Kivétel akkor fordul elő, ha egy vagy több paramétert nem lehetett egy adott típusból a cél metódustípus által megkövetelt típusra átalakítani.

A Studio (klasszikus) moduljaival kapcsolatos hibák listájáért tekintse meg a Machine Learning hibakódokat.

Az API-kivételek listájáért tekintse meg a Machine Learning REST API hibakódokat.

Lásd még

Matchbox-ajánló betanítás
Matchbox ajánló pontozása