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.
- További információ a gépi tanulási projektek a ML Studióból a klasszikusból a Azure Machine Learning.
- További információ a Azure Machine Learning.
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
- Elemekkel kapcsolatos javaslatok kiértékelése
- Kapcsolódó felhasználók előrejelzésének értékelése
- Kapcsolódó elemek előrejelzésének értékelése
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 User
oszlopneveknek , é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, User
az 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,
User
az 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:
Megkeresi a tesztadatkészlet összes olyan elemét, amelyet az érdekelt felhasználó és a kapcsolódó felhasználó is minősített.
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.
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.
Számítsa ki az L1 Sim NDCG-t és az L2 Sim NDCG-t az összes kapcsolódó felhasználóval együtt.
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,
Item
az 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:
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.
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.
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.
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.
Á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:
Filmajátító minta: Bemutatja, hogyan lehet betanítni, kiértékelni és pontozást használni egy javaslati modellel.
Javaslati motor létrehozása .NET-alkalmazásokhoz a Machine Learning használatával: Ez a blog részletes leírást nyújt a filmajánlékmodellek felépítéséről.
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.