Sdílet prostřednictvím


Metriky vyhodnocení

Datová sada je rozdělená na dvě části: sadu pro trénování a sadu pro testování. Trénovací sada se používá k trénování modelu, zatímco testovací sada se používá jako test modelu po trénování k výpočtu výkonu a vyhodnocení modelu. Testovací sada se do modelu nevejde prostřednictvím trénovacího procesu, aby se zajistilo, že je model testován na nových datech.

Vyhodnocení modelu se aktivuje automaticky po úspěšném dokončení trénování. Proces vyhodnocení začíná použitím natrénovaného modelu k predikci uživatelsky definovaných tříd pro dokumenty v testovací sadě a porovná je s poskytnutými datovými značkami (které stanoví směrný plán pravdy). Výsledky se vrátí, abyste mohli zkontrolovat výkon modelu. Pro vyhodnocení používá vlastní klasifikace textu následující metriky:

  • Přesnost: Měří, jak přesný/přesný model je. Jedná se o poměr mezi správně identifikovanými pozitivními výsledky (pravdivě pozitivními výsledky) a všemi identifikovanými pozitivními výsledky. Metrika přesnosti ukazuje, kolik predikovaných tříd je správně označeno.

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • Úplnost: Měří schopnost modelu předpovědět skutečné kladné třídy. Jedná se o poměr mezi predikovanými pravdivě pozitivními výsledky a skutečným příznakem. Metrika úplnosti ukazuje, kolik predikovaných tříd je správné.

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • F1 skóre: Skóre F1 je funkce přesnosti a úplnosti. Je potřeba, když hledáte rovnováhu mezi přesností a úplností.

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

Poznámka:

Přesnost, úplnost a skóre F1 se počítají pro každou třídu samostatně (vyhodnocení na úrovni třídy) a pro model souhrnně (vyhodnocení na úrovni modelu).

Metriky vyhodnocení na úrovni modelu a na úrovni třídy

Definice přesnosti, úplnosti a vyhodnocení jsou stejné pro hodnocení na úrovni tříd i na úrovni modelu. Počet pravdivě pozitivních, falešně pozitivních a falešně negativních výsledků se však liší, jak je znázorněno v následujícím příkladu.

Následující části používají následující ukázkovou datovou sadu:

Dokument Skutečné třídy Predikované třídy
0 akce, komie Komedie
2 action action
3 Romance Romance
4 romantika, komedie Romance
5 Komedie action

Vyhodnocení na úrovni třídy pro třídu akcí

Key Počet Vysvětlení
Pravdivě pozitivní 0 Dokument 2 byl správně klasifikován jako akce.
Falešně pozitivní výsledek 0 Dokument 5 byl omylem klasifikován jako akce.
Falešně negativní 0 Dokument 1 nebyl klasifikován jako akce , i když by měl mít.

Přesnost = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

Připomenout = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

F1 Score = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Vyhodnocení na úrovni třídy pro třídu comedy

Key Počet Vysvětlení
Pravdivě pozitivní výsledek 0 Dokument 1 byl správně klasifikován jako comedy.
Falešně pozitivní výsledek 0 Žádné dokumenty nebyly omylem klasifikovány jako komiky.
Falešně negativní 2 Dokumenty 5 a 4 nebyly klasifikovány jako komiky , i když by měly mít.

Přesnost = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1

Připomenout = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 2) = 0.33

F1 Score = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.67) / (1 + 0.67) = 0.80

Vyhodnocení na úrovni modelu pro kolektivní model

Key Počet Vysvětlení
Pravdivě pozitivní 4 Dokumenty 1, 2, 3 a 4 byly zadány správné třídy při predikci.
Falešně pozitivní výsledek 0 Dokument 5 dostal v predikci nesprávnou třídu.
Falešně negativní 2 Dokumenty 1 a 4 nebyly při predikci zadány všechny správné třídy.

Přesnost = #True_Positive / (#True_Positive + #False_Positive) = 4 / (4 + 1) = 0.8

Připomenout = #True_Positive / (#True_Positive + #False_Negatives) = 4 / (4 + 2) = 0.67

F1 Score = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.8 * 0.67) / (0.8 + 0.67) = 0.73

Poznámka:

U klasifikačních modelů s jedním popiskem se počet falešně negativních a falešně pozitivních výsledků vždy rovná. Vlastní klasifikační modely s jedním popiskem vždy predikují jednu třídu pro každý dokument. Pokud predikce není správná, zvýší se počet predikovaných tříd o jeden a FN skutečné třídy se zvýší o jeden, celkový počet FP a FN modelu bude vždy stejný. To není případ klasifikace s více popisky, protože se nepodařilo předpovědět jednu z tříd dokumentu se počítá jako falešně negativní.

Interpretace metrik vyhodnocení na úrovni třídy

Co tedy vlastně znamená mít vysokou přesnost nebo vysokou úplnost určité třídy?

Odvolat Počet deset. míst Interpretace
Nejvyšší Nejvyšší Tato třída je dokonale zpracována modelem.
Malý zájem Velký zájem Model nemůže tuto třídu vždy předpovědět, ale pokud je s vysokou jistotou. Důvodem může být to, že tato třída je v datové sadě zastoupena, takže zvažte vyvážení distribuce dat.
Nejvyšší Nejnižší Model předpovídá tuto třídu dobře, ale je s nízkou spolehlivostí. Důvodem může být to, že tato třída je reprezentována v datové sadě, takže zvažte vyvážení distribuce dat.
Nejnižší Nejnižší Tato třída je špatně zpracována modelem, kde není obvykle předpovězena a kdy je, není s vysokou jistotou.

U vlastních modelů klasifikace textu se očekává, že budou docházet k falešně negativním i falešně pozitivním výsledkům. Musíte zvážit, jak každý bude mít vliv na celkový systém, a pečlivě si promyslet scénáře, ve kterých bude model ignorovat správné předpovědi a rozpoznávat nesprávné předpovědi. V závislosti na vašem scénáři by přesnost nebo úplnost mohla být vhodnější vyhodnocení výkonu modelu.

Pokud váš scénář například zahrnuje zpracování lístků technické podpory, predikce nesprávné třídy by mohla způsobit předání nesprávnému oddělení nebo týmu. V tomto příkladu byste měli zvážit větší citlivost systému na falešně pozitivní výsledky a přesnost by byla relevantnější metrikou pro vyhodnocení.

Jako další příklad, pokud váš scénář zahrnuje kategorizaci e-mailů jako "důležitý" nebo "spam", může nesprávná předpověď způsobit, že byste vynechali užitečný e-mail, pokud je označený jako spam. Pokud je ale spamový e-mail označený jako důležitý , můžete ho ignorovat. V tomto příkladu byste měli zvážit větší citlivost systému na falešně negativní výsledky a úplnost by byla relevantnější metrikou pro vyhodnocení.

Pokud chcete optimalizovat scénáře pro obecné účely nebo pokud jsou důležité přesnost a úplnost, můžete využít skóre F1. Hodnocení skóre jsou subjektivní v závislosti na vašem scénáři a kritériích přijetí. Neexistuje žádná absolutní metrika, která by fungovala pro každý scénář.

Pokyny

Po vytrénování modelu se zobrazí některé pokyny a doporučení, jak model vylepšit. Doporučujeme mít model, který pokrývá všechny body v části s pokyny.

  • Trénovací sada má dostatek dat: Pokud má typ třídy méně než 15 označených instancí v trénovacích datech, může to vést k nižší přesnosti kvůli tomu, že model není v těchto případech odpovídajícím způsobem trénován.

  • Všechny typy tříd jsou přítomné v testovací sadě: Pokud testovací data nemají označené instance pro typ třídy, může být výkon testu modelu méně komplexní z důvodu neotestovaných scénářů.

  • Typy tříd jsou vyváženy v rámci trénovacích a testovacích sad: Když předsudky vzorkování způsobí nepřesnou reprezentaci frekvence typu třídy, může vést k nižší přesnosti kvůli modelu, který očekává, že daný typ třídy nastane příliš často nebo příliš málo.

  • Typy tříd jsou rovnoměrně rozdělené mezi trénovací a testovací sady: Pokud kombinace typů tříd neodpovídá trénovacím a testovacím sadám, může vést k nižší přesnosti testování kvůli tomu, že se model trénuje odlišně od toho, jak se testuje.

  • Typy tříd v trénovací sadě jsou jasně odlišné: Pokud jsou trénovací data podobná pro více typů tříd, může to vést k nižší přesnosti, protože typy tříd můžou být často nesprávně klasifikované jako navzájem.

Matice zmatku

Důležité

Pro projekty klasifikace s více popisky není k dispozici konfuzní matice. Konfuzní matice je matice N x N používaná pro vyhodnocení výkonu modelu, kde N je počet tříd. Matice porovnává očekávané popisky s těmi, které model predikoval. Tím získáte ucelený přehled o tom, jak dobře model funguje a jaké druhy chyb provádí.

Konfuzní matici můžete použít k identifikaci tříd, které jsou příliš blízko sebe a často se mýlí (nejednoznačnost). V tomto případě zvažte sloučení těchto tříd dohromady. Pokud to není možné, zvažte popisování dalších dokumentů pomocí obou tříd, aby se model mezi nimi rozlišil.

Všechny správné předpovědi jsou umístěny v diagonální tabulce, takže je snadné vizuálně zkontrolovat, zda tabulka neobsahuje chyby předpovědi, protože budou reprezentovány hodnotami mimo diagonální.

A screenshot of an example confusion matrix.

Metriky vyhodnocení na úrovni třídy a modelu můžete vypočítat z konfuzní matice:

  • Hodnoty v diagonále jsou skutečné kladné hodnoty každé třídy.
  • Součet hodnot v řádcích třídy (s výjimkou diagonály) je falešně pozitivní výsledek modelu.
  • Součet hodnot ve sloupcích třídy (s výjimkou diagonály) je falešně negativní záporná hodnota modelu.

Podobně,

  • Pravdivě pozitivní výsledek modelu je součet pravdivě pozitivních pro všechny třídy.
  • Falešně pozitivní výsledek modelu je součet falešně pozitivních výsledků pro všechny třídy.
  • Falešně negativní hodnota modelu je součet falešně negativních výsledků pro všechny třídy.

Další kroky