Share via


Evaluate Recommender

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

Wertet die Genauigkeit der Vorhersagen eines Empfehlungsmodells aus.

Kategorie: Machine Learning/Auswerten

Hinweis

Gilt für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das Modul Evaluate Recommender in Machine Learning Studio (klassisch) verwenden, um die Genauigkeit von Vorhersagen zu messen, die von einem Empfehlungsmodell getroffen wurden. Mit diesem Modul können Sie vier verschiedene Arten von Empfehlungen evaluieren:

  • Bewertungen, die für einen bestimmten Benutzer und ein bestimmtes Element vorhergesagt werden

  • Elemente, die für einen bestimmten Benutzer empfohlen werden

  • Eine Liste von Benutzern, die in Zusammenhang mit einem gegebenen Benutzer stehen sollen.

  • Eine Liste von Elementen, die in Zusammenhang mit einem gegebenen Element stehen sollen.

Wenn Sie Vorhersagen mit einem Empfehlungsmodell erstellen, werden für jeden dieser unterstützten Vorhersagetypen geringfügig andere Ergebnisse zurückgegeben. Das Modul Evaluate Recommender (Empfehlung auswerten) kann die Art der Vorhersage aus dem Spaltenformat des bewerteten Datasets ableiten. Das berechnete Dataset kann z . B. Folgendes enthalten:

  • Dreiergruppe aus Benutzer-Element-Bewertung
  • Benutzer und deren empfohlenen Elemente
  • Benutzer und deren verwandte Benutzer
  • Elemente und zugehörige Elemente

Im Modul werden außerdem die entsprechenden Leistungsmetriken anhand des Typs der Vorhersage angewendet, die erstellt wird.

Tipp

Erfahren Sie in diesem Tutorial vom .NET-Entwicklungsteam alles, was Sie über die End-to-End-Erfahrung beim Erstellen eines Empfehlungssystems wissen müssen. Enthält Beispielcode und eine Erörterung, wie Sie Machine Learning aus einer Anwendung aufrufen.

Erstellen einer Empfehlungs-Engine für .NET-Anwendungen mit Machine Learning

Konfigurieren von „Evaluate Recommender“

Im Modul Evaluate Recommender werden die Vorhersagen, die von einem Empfehlungsmodell ausgegeben wurden, mit den entsprechenden „Ground Truth“-Daten verglichen. Beispielsweise erzeugt das Modul Score Matchbox Recommender bewertete Datasets, die mit Evaluate Recommender analysiert werden können.

Anforderungen

Evaluate Recommender erfordert die folgenden Datasets als Eingabe.

Testdataset

Das Test-Dataset enthält die "Ground Truth"-Daten in Form von User-Item-Rating-Triples.

Wenn Sie bereits über ein Dataset mit Benutzer-Elementbewertungs-Triples verfügen, können Sie das Modul Split Data mit der Option RecommenderSplit anwenden, um ein Trainings-Dataset und einen zugehörigen Testsatz aus dem vorhandenen Dataset zu erstellen.

Bewertetes Dataset

Das bewertete Dataset enthält die Vorhersagen, die vom Empfehlungsmodell generiert wurden.

Die Spalten in diesem zweiten Dataset hängen von der Art der Vorhersage ab, die Sie während der Bewertung ausgeführt haben. Beispielsweise kann das bewertete Dataset eine der folgenden Zusammenstellungen enthalten:

  • Benutzer, Elemente und die Bewertungen, die der Benutzer wahrscheinlich für das jeweilige Element vergeben würde
  • Eine Liste der Benutzer und der für sie empfohlenen Elemente
  • Eine Liste von Benutzern mit Benutzern, die ihnen wahrscheinlich ähnlich sind
  • Eine Liste von Elementen, zusammen mit Smilierelementen

Metriken

Leistungsmetriken für das Modell werden basierend auf dem Typ der Eingabe generiert. Ausführliche Informationen finden Sie in diesen Abschnitten:

Evaluieren von vorhergesagten Bewertungen

Beim Auswerten von vorhergesagten Bewertungen muss das bewertete Dataset (die zweite Eingabe für Evaluate Recommender) Dreiergruppen aus Benutzer-Element-Bewertung enthalten, die folgende Anforderungen erfüllen:

  • Die erste Spalte des Datasets enthält Benutzer-IDs.

  • Die zweite Spalte enthält die Element-IDs.

  • Die dritte Spalte enthält die entsprechenden Bewertungen für die Benutzer-Element-Kombinationen.

Wichtig

Damit die Auswertung erfolgreich sein kann, müssen die Spalten die Namen User, Item bzw. Rating haben.

Evaluate Recommender vergleicht die Bewertungen im „Ground Truth“-Dataset mit den vorhergesagten Bewertungen des bewerteten Datasets und berechnet den mittleren absoluten Fehler (Mean Absolute Error, MAE) und den Standardfehler der Regression (Root Mean Squared Error, RMSE).

Die anderen Parameter von Evaluate Recommender haben keine Auswirkungen auf die Auswertung von Bewertungsvorhersagen.

Evaluieren von Elementempfehlungen

Wenn Sie eine Elementempfehlung evaluieren, sollten Sie ein bewertetes Dataset verwenden, das die empfohlenen Elemente für jeden Benutzer enthält:

  • Die erste Spalte des Datasets muss die Benutzer-ID enthalten.

  • Alle nachfolgenden Spalten sollten die entsprechenden empfohlenen Element-IDs enthalten, die danach geordnet sind, wie relevant ein Element für den Benutzer ist.

    Bevor Sie dieses Dataset einbinden, empfiehlt es sich, das Dataset so zu sortieren, dass die relevantesten Elemente zuerst kommen.

Die anderen Parameter von Evaluate Recommender haben keine Auswirkungen auf die Auswertung von Elementempfehlungen.

Wichtig

Damit Evaluate Recommender funktioniert, müssen die Spaltennamen User, Item 1, Item 2usw Item 3 . sein.

Evaluate Recommender berechnet den durchschnittlichen normalisierten rabattierten kumulativen Gewinn (NDCG) und gibt ihn im Ausgabe-Dataset zurück.

Da es nicht möglich ist, die tatsächlichen „Ground Truth“-Werte für die empfohlenen Elemente zu wissen, verwendet Evaluate Recommender die Benutzer-Element-Bewertungen im Testdataset als Nutzen (Gains) in der Berechnung von NDCG. Für eine Evaluierung muss das Modul „Evaluate Recommender“ nur Empfehlungen für Elemente mit „Ground Truth“-Bewertungen (im Testdataset) generieren.

Auswerten von Vorhersagen verwandter Benutzer

Verwenden Sie beim Auswerten von Vorhersagen verwandter Benutzer ein bewertetes Dataset, das die entsprechenden Benutzer für jeden benutzerrelevanten Benutzer enthält:

  • Die erste Spalte muss die Bezeichner für jeden benutzer von Interesse enthalten.

  • Alle nachfolgenden Spalten enthalten die Bezeichner für die vorhergesagten verwandten Benutzer. Verwandte Benutzer werden nach der Stärke der Realität (die meisten verwandten Benutzer zuerst) geordnet.

  • Damit Evaluate Recommender funktioniert, müssen die Spaltennamen User, Related User 1, Related User 2, Related User 3usw. sein.

Tipp

Sie können die Auswertung beeinflussen, indem Sie die Mindestanzahl von Elementen festlegen, die ein zu berücksichtigender Benutzer und sein zugehöriger Benutzer gemeinsam haben müssen.

Evaluate Recommender berechnet den durchschnittlichen, standardisierten, reduzierten, kumulativen Gewinn (NDCG) auf Basis des Manhattan- (L1 Sim NDCG) und euklidischen (L2 Sim NDCG) Abstands und gibt beide Werte im Ausgabedataset zurück. Da es keine tatsächliche Grundlage für die entsprechenden Benutzer gibt, verwendet Evaluate Recommender das folgende Verfahren, um die durchschnittlichen NDCGs zu berechnen.

Für jeden zu berücksichtigenden Benutzer im bewerteten Dataset:

  1. Suchen Sie alle Elemente im Testdataset, die sowohl durch den zu berücksichtigenden Benutzer als auch durch den zu berücksichtigenden zugehörigen Benutzer bewertet wurden.

  2. Erstellen Sie zwei Vektoren aus den Bewertungen dieser Elemente: einen für den benutzerrelevanten Benutzer und einen für den entsprechenden Benutzer, der berücksichtigt wird.

  3. Berechnen Sie den Gewinn als Ähnlichkeit der sich ergebenden beiden Bewertungsvektoren im Hinblick auf ihren Manhattan- (L1) oder euklidischen (L2) Abstand.

  4. Berechnen Sie den L1 Sim NDCG und den L2 Sim NDCG, wobei Sie die Gewinne aller zugehörigen Benutzer verwenden.

  5. Durchschnittliche NDCG-Werte für alle Benutzer im bewertungsgewerteten Dataset.

Das heißt, der Gewinn wird als Ähnlichkeit (normalisierte Abstände zwischen einem Benutzer von Interesse (dem Eintrag in der ersten Spalte des bewertungsbezogenen Datasets) und einem entsprechenden Benutzer (dem Eintrag in der n-th-Spalte des bewertungsbezogenen Datasets) berechnet. Der Gewinn dieses Benutzerpaars wird mit allen Elementen berechnet, für die beide Elemente in den ursprünglichen Daten (Testsatz) bewertet wurden. Die NDCG wird dann berechnet, indem die einzelnen Vorteile für einen einzelnen benutzer von Interesse und alle zugehörigen Benutzer mit logarithmischem Rabatt aggregiert werden. Das heißt, ein NDCG-Wert wird für jeden Benutzer berechnet, der von Interesse ist (jede Zeile im ermittelten Dataset). Die Zahl, die schließlich gemeldet wird, ist der arithmetische Durchschnitt für alle Benutzer, die für das bewertungsberechnete Dataset (d. h. die Zeilen) von Interesse sind.

Daher muss das Modul "Recommender Scoring" für die Bewertung nur zugehörige Benutzer vorhersagen, die über Elemente mit Bewertungen für die Basiswahrheit verfügen (im Testdataset).

Auswerten von Vorhersagen verwandter Elemente

Verwenden Sie beim Auswerten der Vorhersage verwandter Elemente ein bewertetes Dataset, das die verknüpften Elemente für jedes relevante Element enthält:

  • Die erste Spalte muss Bezeichner für die interessanten Elemente enthalten.

  • Alle nachfolgenden Spalten sollten Bezeichner für die vorhergesagten verknüpften Elemente enthalten, sortiert nach ihrer Beziehung zum gewünschten Element (zuerst die meisten verwandten Elemente).

  • Damit Evaluate Recommender funktioniert, müssen die Spaltennamen , Related Item 1, Related Item 2, Related Item 3usw. lautenItem.

Tipp

Sie können die Auswertung beeinflussen, indem Sie die Mindestanzahl von Benutzern festlegen, die ein zu berücksichtigendes Element und sein zugehöriges Element gemeinsam haben müssen.

Evaluate Recommender berechnet den durchschnittlichen normalisierten rabattierten kumulierten Gewinn (NDCG) basierend auf Den Entfernungen (L1 Sim NDCG) und euklidisch (L2 Sim NDCG) und gibt beide Werte im Ausgabedataset zurück. Da es keine tatsächliche Grundwahrheit für die zugehörigen Elemente gibt, berechnet Evaluate Recommender die durchschnittlichen NDCGs wie folgt:

Für jedes zu berücksichtigende Element im bewerteten Dataset:

  1. Suchen Sie alle Benutzer im Testdataset, die sowohl das zu berücksichtigende Element als auch das berücksichtigte zugehörige Element bewertet haben.

  2. Erstellen Sie aus den Bewertungen dieser Benutzer zwei Vektoren. Einen Vektor für das zu berücksichtigende Element und einen Vektor für das zu berücksichtigende zugehörige Element.

  3. Berechnen Sie den Gewinn als Ähnlichkeit der sich ergebenden beiden Bewertungsvektoren im Hinblick auf ihren Manhattan- (L1) oder euklidischen (L2) Abstand.

  4. Berechnen Sie den L1 Sim NDCG und den L2 Sim NDCG, wobei Sie die Gewinne aller zugehörigen Elemente verwenden.

  5. Durchschnittliche NDCG-Werte für alle interessanten Elemente im bewerteten Dataset.

Mit anderen Worten: Der Gewinn wird als Ähnlichkeit (normalisierte Oder euklidische Abstände) zwischen einem interessanten Element (dem Eintrag in der ersten Spalte des bewerteten Datasets) und einem angegebenen verknüpften Element (dem Eintrag in der n-ten Spalte des bewerteten Datasets) berechnet. Der Gewinn dieses Elementpaars wird mit allen Benutzern berechnet, die beide Elemente in den ursprünglichen Daten (Testsatz) bewertet haben. Die NDCG wird dann berechnet, indem die einzelnen Vorteile für ein einzelnes interessantes Element und alle zugehörigen Elemente mit logarithmischen Rabatten aggregiert werden. Das bedeutet, dass für jedes interessante Element (jede Zeile im bewerteten Dataset) ein NDCG-Wert berechnet wird. Die Zahl, die schließlich gemeldet wird, ist der arithmetische Durchschnitt für alle interessanten Elemente im bewerteten Dataset (d. h. die Zugehörigen Zeilen).

Aus diesem Grund muss das Modul zur Bewertung des Empfehlungsmoduls nur verwandte Elemente mit Ground Truth-Bewertungen (im Testdataset) vorhersagen.

Beispiele

Beispiele für die Verwendung von Empfehlungsmodellen in Machine Learning finden Sie im Azure KI-Katalog:

Erwartete Eingaben

Name Type Beschreibung
Testdataset Datentabelle Testdataset
Bewertetes Dataset Datentabelle Bewertetes Dataset

Modulparameter

Name Range type Standard Beschreibung
Minimum number of items that the query user and the related user must have rated in common >=1 Integer 2 Geben Sie die minimale Anzahl von Elementen an, die sowohl der Abfragebenutzer als auch der in Zusammenhang stehende Benutzer bewertet haben muss.

Dieser Parameter ist optional.
Minimum number of users that the query item and the related item must have been rated by in common >=1 Integer 2 Geben Sie die minimale Anzahl von Benutzern an, die sowohl das Abfrageelement als auch das in Zusammenhang stehende Element bewertet haben muss.

Dieser Parameter ist optional.

Ausgaben

Name Type BESCHREIBUNG
Metrik Datentabelle Eine Tabelle mit Auswertungsmetriken

Ausnahmen

Ausnahme Beschreibung
Fehler 0022 Eine Ausnahme tritt auf, wenn die Anzahl der ausgewählten Spalten im Eingabedataset nicht mit der erwarteten Anzahl übereinstimmt.
Fehler 0003 Eine Ausnahme tritt auf, wenn mindestens eine Eingabe NULL oder leer ist.
Fehler 0017 Die Ausnahme tritt auf, wenn eine oder mehrere angegebene Spalten einen Typ aufweisen, der im aktuellen Modul nicht unterstützt wird.
Fehler 0034 Eine Ausnahme tritt auf, wenn mehr als eine Bewertung für ein bestimmtes Benutzer-Element-Paar vorhanden ist.
Fehler 0018 Eine Ausnahme tritt auf, wenn das Eingabedataset nicht gültig ist.
Fehler 0002 Eine Ausnahme tritt auf, wenn mindestens ein Parameter nicht analysiert oder vom angegebenen Typ in den vom Zielmethodentyp erforderlichen Typ konvertiert werden konnte.

Eine Liste der Fehler, die für Studio-Module (klassisch) spezifisch sind, finden Sie unter Machine Learning Fehlercodes.

Eine Liste der API-Ausnahmen finden Sie unter Machine Learning REST-API-Fehlercodes.

Siehe auch

Train Matchbox Recommender (Matchbox Recommender trainieren)
Score Matchbox Recommender (Matchbox Recommender bewerten)