Vyhodnocení doporučovacího systému

Důležité

Podpora studia Machine Learning (Classic) skončí 31. srpna 2024. Doporučujeme do tohoto data přejít na službu Azure Machine Learning.

Od 1. prosince 2021 nebude možné vytvářet nové prostředky studia Machine Learning (Classic). Do 31. srpna 2024 můžete pokračovat v používání stávajících prostředků studia Machine Learning (Classic).

Dokumentace ke studiu ML (Classic) se vyřazuje z provozu a v budoucnu se nemusí aktualizovat.

Vyhodnotí přesnost předpovědí doporučového modelu.

Kategorie: Machine Learning / Vyhodnotit

Poznámka

Platí pro: Machine Learning Studio (classic)

Podobné moduly s přetahováním jsou k dispozici v Azure Machine Learning návrháři.

Přehled modulu

Tento článek popisuje, jak pomocí modulu Evaluate Recommender v Machine Learning Studiu (klasickém) měřit přesnost předpovědí modelu doporučení. V tomto modulu můžete vyhodnotit čtyři různé druhy doporučení:

  • Hodnocení predikovaná pro daného uživatele a položku

  • Doporučené položky pro daného uživatele

  • Seznam uživatelů, u které se zjistilo, že souvisejí s daným uživatelem

  • Seznam položek, u které se zjistilo, že souvisejí s danou položkou

Při vytváření předpovědí pomocí modelu doporučení se pro každý z těchto podporovaných typů predikcí vrátí mírně odlišné výsledky. Modul Evaluate Recommender odvodí druh predikce z formátu sloupce datové sady se skóre. Datová sada se skóre může například obsahovat:

  • hodnocení položek uživatele –trojité
  • uživatelé a jejich doporučené položky
  • uživatelé a jejich související uživatelé
  • items and their related items

Modul také použije příslušné metriky výkonu na základě typu předpovědí.

Tip

V tomto kurzu od vývojového týmu pro .NET se dozvíte vše, co potřebujete vědět o všech zkušenostech při vytváření systému doporučení. Zahrnuje ukázkový kód a diskuzi o tom, jak volat Machine Learning z aplikace.

Vytváření modulu doporučení pro aplikace .NET pomocí Machine Learning

Jak nakonfigurovat nástroj Evaluate Recommender

Modul Evaluate Recommender porovnává výstup předpovědí podle modelu doporučení s odpovídajícími daty "ground truth". Například modul Score Matchbox Recommender vytvoří datové sady se skóre, které je možné analyzovat pomocí modulu Evaluate Recommender.

Požadavky

Evaluate Recommender vyžaduje jako vstup následující datové sady.

Testovací datová sada

Testovací datová sada obsahuje data "ground truth" ve formě trojitých hodnot hodnocení uživatelských položek.

Pokud už máte datovou sadu obsahující trojité hodnocení uživatelských položek, můžete použít modul Rozdělit data pomocí možnosti RecommenderSplit a vytvořit trénovací datovou sadu a související testovací sadu z existující datové sady.

Datová sada se skóre

Datová sada se skóre obsahuje předpovědi vygenerované modelem doporučení.

Sloupce v této druhé datové sadě závisí na druhu predikce, kterou jste během bodování ovali. Datová sada se skóre může například obsahovat:

  • Uživatelé, položky a hodnocení, která by uživatel pro položku pravděpodobně zadal
  • Seznam uživatelů a položek, které se pro ně doporučují
  • Seznam uživatelů s uživateli, kteří jsou si pravděpodobně podobní
  • Seznam položek společně se smiliárními položkami

Metriky

Metriky výkonu pro model se generují na základě typu vstupu. Podrobnosti najdete v těchto částech:

Vyhodnocení predikovaných hodnocení

Při vyhodnocování predikovaných hodnocení musí datová sada se skóre (druhý vstup pro evaluate recommender) obsahovat trojité hodnocení uživatelských položek, které splňují tyto požadavky:

  • První sloupec datové sady obsahuje identifikátory uživatelů.

  • Druhý sloupec obsahuje identifikátory položek.

  • Třetí sloupec obsahuje odpovídající hodnocení uživatelských položek.

Důležité

Aby vyhodnocení bylo úspěšné, musí být názvy sloupců User, Itema Ratingv uvedeném pořadí.

Evaluate Recommender (Doporučitér) porovná hodnocení v datové sadě ground truth s předpovězeným hodnocením datové sady se skóre a vypočítá střední absolutní chybu (MAE ) a odmocněná střední kmocněná chyba (RMSE).

Ostatní parametry metody Evaluate Recommender nemají žádný vliv na vyhodnocení predikcí hodnocení.

Vyhodnocení doporučení položek

Při vyhodnocování doporučení položky použijte datovou sadu se skóre, která obsahuje doporučené položky pro každého uživatele:

  • První sloupec datové sady musí obsahovat identifikátor uživatele.

  • Všechny následné sloupce by měly obsahovat odpovídající doporučené identifikátory položek seřazené podle toho, jak je položka relevantní pro uživatele.

    Před připojením této datové sady doporučujeme seřadit datovou sadu tak, aby byly nejdůležitější položky na prvním místě.

Ostatní parametry metody Evaluate Recommender nemají žádný vliv na vyhodnocování doporučení položek.

Důležité

Aby doporučení Evaluate Recommender fungovalo, musí mít názvy sloupců , UserItem 1Item 2, a Item 3 tak dále.

Evaluate Recommender vypočítá průměrný normalizovaný zlevněný kumulativní zisk (NDCG) a vrátí ho ve výstupní datové sadě.

Vzhledem k tomu, že u doporučených položek není možné znát skutečnou "základní pravdivost ", vyhodnotí doporučovač hodnocení uživatelských položek v testovací datové sadě jako zisky při výpočtu NDCG. Pro vyhodnocení musí modul pro vyhodnocování doporučovacího systému produkci doporučení pouze pro položky s hodnocením "ground truth" (v testovací datové sadě).

Vyhodnocení předpovědí souvisejících uživatelů

Při vyhodnocování předpovědí souvisejících uživatelů použijte datovou sadu se skóre, která obsahuje související uživatele pro každého uživatele, který vás zajímá:

  • První sloupec musí obsahovat identifikátory pro každého uživatele, který vás zajímá.

  • Všechny následující sloupce obsahují identifikátory pro předpovězené související uživatele. Související uživatelé jsou seřazeni podle síly realtionship (nejvíce související uživatel jako první).

  • Aby doporučení Evaluate Recommender fungovalo, musí mít názvy sloupců , UserRelated User 1Related User 2, , Related User 3a tak dále.

Tip

Vyhodnocení můžete ovlivnit nastavením minimálního počtu položek, které musí mít uživatel, který vás zajímá, a souvisejících uživatelů.

Vyhodnotí Recommender průměrné normalizované diskontované kumulativní zvýšení (NDCG) na základě Vzdálenosti (L1 Sim NDCG) a Euklidové vzdálenosti (L2 Sim NDCG) a vrátí obě hodnoty ve výstupní datové sadě. Vzhledem k tomu, že pro související uživatele neexistuje žádná skutečná základní pravda, nástroj Evaluate Recommender vypočítá průměrné skupiny zabezpečení sítě pomocí následujícího postupu.

Pro každého uživatele, který vás zajímá v datové sadě se skóre:

  1. Vyhledejte všechny položky v testovací datové sadě, které hodnotí uživatel, který vás zajímá, i související uživatel.

  2. Z hodnocení těchto položek vytvořte dva vektory: jeden pro uživatele, který vás zajímá, a jeden pro souvisejícího uživatele.

  3. Vypočítá zisk jako podobnost výsledných dvou vektorů hodnocení z hlediska jejich vzdálenosti (L1) nebo Euklidova (L2).

  4. Vypočítá L1 Sim NDCG a L2 Sim NDCG s využitím výhod všech souvisejících uživatelů.

  5. Zprůměrovat hodnoty NDCG u všech uživatelů v datové sadě se skóre

Jinými slovy, gain se vypočítá jako podobnost (normalizovaná nebo euklidská vzdálenost) mezi uživatelem, který vás zajímá (položka v prvním sloupci datové sady se skóre) a daným souvisejícím uživatelem (položka v n-tém sloupci datové sady se skóre). Zisk tohoto páru uživatelů se vypočítá pomocí všech položek, pro které byly obě položky hodnoceny v původních datech (testovací sada). NDCG se pak počítá agregací individuálních zisků pro jednoho uživatele, který vás zajímá, a všech souvisejících uživatelů s využitím logaritmických slev. To znamená, že se pro každého uživatele, který vás zajímá, vypočítá jedna hodnota NDCG (každý řádek v datové sadě se skóre). Číslo, které je nakonec hlášeno, je aritmetický průměr pro všechny uživatele, kteří jsou v datové sadě se skóre (tj. jejích řádcích).

Z tohoto důvodu musí modul doporučovacího bodování predikovat pouze související uživatele, kteří mají položky s hodnocením "ground truth" (v testovací datové sadě).

Vyhodnocení předpovědí souvisejících položek

Při vyhodnocování předpovědi souvisejících položek použijte datovou sadu se skóre, která obsahuje související položky pro každou položku, která vás zajímá:

  • První sloupec musí obsahovat identifikátory pro položky, které vás zajímají.

  • Všechny následné sloupce by měly obsahovat identifikátory pro předpovězené související položky seřazené podle toho, jak souvisí s položkou zájmu (nejvíce související položka jako první).

  • Aby doporučení Evaluate Recommender fungovalo, musí mít názvy sloupců , ItemRelated Item 1Related Item 2, , Related Item 3a tak dále.

Tip

Vyhodnocení můžete ovlivnit nastavením minimálního počtu uživatelů, které položka zájmu a související položky musí mít společné.

Vyhodnotí Recommender průměrné normalizované diskontované kumulativní zvýšení (NDCG) na základě Vzdálenosti (L1 Sim NDCG) a Euklidové vzdálenosti (L2 Sim NDCG) a vrátí obě hodnoty ve výstupní datové sadě. Vzhledem k tomu, že pro související položky neexistuje žádná skutečná základní pravda, vyhodnotí Recommender průměrné hodnoty NDCG následujícím způsobem:

Pro každou položku, která vás zajímá, v datové sadě se skóre:

  1. Najděte všechny uživatele v testovací datové sadě, kteří hodnotí položku zájmu i související položku.

  2. Z hodnocení těchto uživatelů vytvořte dva vektory, jeden pro položku zájmu a pro související položku.

  3. Vypočítá zisk jako podobnost výsledných dvou vektorů hodnocení z hlediska jejich vzdálenosti (L1) nebo Euklidova (L2).

  4. Vypočítá L1 Sim NDCG a L2 Sim NDCG pomocí výhod všech souvisejících položek.

  5. Zprůměrovat hodnoty NDCG nad všemi položkami, které vás zajímají, v datové sadě se skóre.

Jinými slovy, gain se vypočítá jako podobnost (normalizovaná nebo euklidská vzdálenost) mezi položkou zájmu (položka v prvním sloupci datové sady se skóre) a danou související položkou (položka v n-tém sloupci datové sady se skóre). Zisk tohoto páru položek se vypočítá pomocí všech uživatelů, kteří obě tyto položky hodnotí v původních datech (testovací sada). NDCG se pak počítá agregací jednotlivých zisků pro jednu položku zájmu a všechny její související položky pomocí logaritmických slev. To znamená, že se pro každou položku, která vás zajímá, vypočítá jedna hodnota NDCG (každý řádek v datové sadě se skóre). Číslo, které je nakonec hlášeno, je aritmetický průměr pro všechny položky, které vás zajímají v datové sadě se skóre (tj. jejích řádcích).

Z tohoto důvodu musí modul vyhodnocování doporučovacího systému predikovat pouze související položky s hodnocením "ground truth" (v testovací datové sadě).

Příklady

Příklady použití modelů doporučení v Machine Learning najdete v Azure AI Gallery:

Očekávané vstupy

Název Typ Description
Testovací datová sada Tabulka dat Testovací datová sada
Datová sada se skóre Tabulka dat Datová sada se skóre

Parametry modulu

Name Rozsah Typ Výchozí Description
Minimální počet položek, které uživatel dotazu a související uživatel musí mít společné >=1 Integer 2 Zadejte minimální počet položek, které musí být hodnoceny uživatelem dotazu i souvisejícím uživatelem.

Tento parametr je volitelný.
Minimální počet uživatelů, podle kterých musí být položka dotazu a související položka hodnoceny běžným způsobem >=1 Integer 2 Zadejte minimální počet uživatelů, kteří musí mít hodnocenou položku dotazu i související položku.

Tento parametr je volitelný.

Výstupy

Název Typ Description
Metric Tabulka dat Tabulka metrik vyhodnocení

Výjimky

Výjimka Description
Chyba 0022 K výjimce dojde, pokud se počet vybraných sloupců ve vstupní datové sadě nerovná očekávanému počtu.
Chyba 0003 K výjimce dochází v případě, že jeden nebo více vstupů má hodnotu null nebo je prázdný.
Chyba 0017 K výjimce dochází v případě, že aktuální modul nepodporuje jeden nebo více zadaných sloupců.
Chyba 0034 K výjimce dojde, pokud pro daný pár uživatel-položka existuje více než jedno hodnocení.
Chyba 0018 K výjimce dochází v případě, že vstupní datová sada není platná.
Chyba 0002 K výjimce dochází v případě, že jeden nebo více parametrů nebylo možné analyzovat nebo převést ze zadaného typu na požadovaný typ cílové metody.

Seznam chyb specifických pro moduly sady Studio (classic) najdete v Machine Learning kódy chyb.

Seznam výjimek rozhraní API najdete v tématu Machine Learning REST API kódy chyb.

Viz také

Trénování doporučovateče Matchboxu
Doporučovat skóre matchboxu