Translation not up to date
Když konfigurujete vyhodnocení driftu v produktu Watson OpenScale, můžete generovat metriky, které vám pomohou určit, jak dobře váš model předpovídá výsledky v průběhu času.
Výsledky vyhodnocení posunu můžete zobrazit na řídicím panelu Insights v produktu Watson OpenScale. Chcete-li zobrazit výsledky, můžete vybrat dlaždici implementace modelu a klepnout na šipku v sekci vyhodnocení Drift , abyste zobrazili souhrn metrik drift z vašeho posledního vyhodnocení. Další informace naleznete v tématu Kontrola výsledků posunu.
Produkt Watson OpenScale vypočítá unášené metriky na základě analýzy chování vašeho modelu a sestavení vlastního modelu pro předpovídání, zda váš model generuje přesné předpovědi pro datové body. Tento model detekce driftu zpracovává data informačního obsahu, aby identifikoval počet záznamů, pro které váš model vytváří nepřesné předpovědi, a generuje předpokládanou přesnost vašeho modelu.
Drift je podporován pouze pro strukturovaná data a nepodporuje funkce Python .
Podporované unášecí metriky
Následující unášené metriky jsou podporovány produktem Watson OpenScale:
Vyhodnocení driftu Watson OpenScale odhaduje pokles přesnosti vašeho modelu za běhu v porovnání s trénovacími daty. Přesnost modelu klesá, pokud dojde ke zvýšení transakcí podobných těm, které model nevyhodnotil správně v trénovacích datech.
Způsob činnosti
Monitor driftu pracuje v předvýrobních a výrobních prostředích odlišně.
Když ve zkušebním prostředí odešlete označená testovací data, data se přidají do tabulek zpětné vazby a informačního obsahu. Označená data se přidají jako anotace do tabulky informačního obsahu. Přesnost se vypočítá s datovým sloupcem s popiskem a sloupcem předpovědi z tabulky informačního obsahu.
V produkčních prostředích produkt Watson OpenScale vytváří model detekce driftu na základě dat, která byla použita k trénování a testování modelu. Pokud má například model přesnost 90% na testovacích datech, znamená to, že poskytuje nesprávné předpovědi na 10% testovacích dat. Watson OpenScale sestavuje binární klasifikační model, který přijímá datový bod a předpovídá, zda je tento datový bod podobný datům, která model buď nesprávně (10%), nebo přesně (90%) předpověděl.
Poté, co produkt Watson OpenScale za běhu vytvoří model detekce driftu, vytvoří skóre tohoto modelu pomocí všech dat, která model klienta obdrží. Pokud například model klienta obdržel za poslední 3 hodiny 1000 záznamů, spustí produkt Watson OpenScale model detekce úletu na těchto 1000 datových bodech. Vypočítá, kolik záznamů je podobných 10% záznamů, na kterých model při trénování provedl chybu. Pokud je 200 z těchto záznamů podobných 10%, pak to znamená, že přesnost modelu bude pravděpodobně 80%. Vzhledem k tomu, že přesnost modelu v době trénování byla 90%, znamená to, že v modelu existuje posun přesnosti 10%.
Chcete-li zmírnit posun poté, co je zjištěn produktem Watson OpenScale, musíte sestavit novou verzi modelu, která opraví problém. Dobrým začátkem jsou datové body, které jsou zvýrazněny jako důvody tohoto posunu. Zaveďte nová data do prediktivního modelu poté, co ručně popíšete driftované transakce a použijete je k opětovnému trénování modelu.
Dělat matematiku
Pokles v metrice přesnosti se vypočítá pouze pro strukturované binární modely a klasifikační modely s více třídami. Watson OpenScale analyzuje každou transakci a odhaduje, zda je prognóza modelu přesná. Pokud je prognóza modelu nepřesná, transakce je označena jako driftovaná. Odhadovaná přesnost se pak vypočítá jako zlomek nondriftovaných transakcí k celkovému počtu analyzovaných transakcí. Základní přesnost je přesnost modelu na testovacích datech. Watson OpenScale vypočte rozsah posunu přesnosti jako rozdíl mezi základní přesností a odhadovanou přesností. Produkt Watson OpenScale dále analyzuje všechny unášené transakce a poté seskupuje transakce na základě podobnosti příspěvku jednotlivých funkcí k posunu v přesnosti. V každém klastru produkt Watson OpenScale také odhaduje důležité funkce, které přispěly k posunu v přesnosti, a klasifikuje jejich dopad na funkce jako velké, některé a malé.
Jak se vaše data v průběhu času mění, schopnost vašeho modelu vytvářet přesné předpovědi se může zhoršit. Metrika Watson OpenScale pro umístění v konzistenci dat vypočítá procento transakcí za běhu, které se výrazně liší od transakcí v trénovacích datech.
Způsob činnosti
Watson OpenScale analyzuje každou transakci z hlediska nekonzistence dat porovnáním běhových transakcí se vzory transakcí v trénovacích datech. Pokud transakce porušuje jeden nebo více vzorců trénovací dat, transakce je identifikována jako nekonzistentní. Chcete-li vypočítat pokles konzistence dat, Watson OpenScale vydělí celkový počet transakcí počtem transakcí, které jsou identifikovány jako nekonzistentní. Pokud je například 10 transakcí identifikováno jako nekonzistentní ze sady 100 transakcí, pak je pokles konzistence dat 10%.
Dělat matematiku
Chcete-li identifikovat nekonzistenci dat, produkt Watson OpenScale vygeneruje schéma, když nakonfigurujete detekci úletu vytvořením souboru
constraints.json
, který určí pravidla, která musí vstupní data dodržovat. Produkt Watson OpenScale používá schéma k vyhodnocení dat pro posun tím, že identifikuje odlehlé hodnoty, které neodpovídají uvedeným omezením. Schéma je uvedeno jako objekt JSON s policolumns
aconstraints
, které popisují trénovací data, jak ukazuje následující příklad:{ "columns": [ { "name": "CheckingStatus", "dtype": "categorical", "count": 5000, "sparse": false, "skip_learning": false }, "constraints": [ { "name": "categorical_distribution_constraint", "id": "f0476d40-d7df-4095-9be5-82564511432c", "kind": "single_column", "columns": [ "CheckingStatus" ], "content": { "frequency_distribution": { "0_to_200": 1304, "greater_200": 305, "less_0": 1398, "no_checking": 1993 } } }
Sloupce
Watson OpenScale uvádí hodnoty pro klíče
name
,dtype
,count
,sparse
askip_learning
pro popis sloupce.Klíče
name
adtype
popisují popisek a datový typ sloupce. Následující hodnoty, které jsou uvedeny s klíčemdtype
, popisují datový typ:categorical
numeric_discrete
numeric_continuous
Zadaný datový typ určuje, zda jsou další statistické vlastnosti popsány pomocí klíčů, jako např.
min
,max
amean
. Je-li například zadán datový typnumeric_discrete
nebonumeric_continuous
, vlastnosti jsou popsány způsobem uvedeným v následujícím příkladu:{ "name": "LoanDuration", "dtype": "numeric_discrete", "count": 5000, "sparse": false, "skip_learning": false, "min": 4, "max": 53, "mean": 21.28820697954272, "std": 10.999096037050032, "percentiles": [ 13.0, 21.0, 29.0 ], "count_actual": 4986 }
Klíč
count
určuje počet řádků pro sloupec. Watson OpenScale uvádí logické hodnoty pro popis klíčůsparse
askip_learning
pro sloupec. Klíčsparse
uvádí, zda je sloupec řídký, a klíčskip_learning
uvádí, zda sloupec vynechá učení některého z pravidel, která jsou popsána ve schématu. Sloupec je řídký, pokud mají percentily 25th a 75th stejnou hodnotu.Omezení
Klíč
name
uvádí typ omezení. Pro popis typu omezení jsou určeny následující hodnoty:categorical_distribution_constraint
numeric_range_constraint
numeric_distribution_constraint
catnum_range_constraint
catnum_distribution_constraint
catcat_distribution_constraint
Klíč
id
identifikuje omezení pomocí identifikátoru UUID (universally-unique identifier). Klíčkind
uvádí, zda je omezenísingle_column
nebotwo-column
.Klíč
columns
určuje pole názvů sloupců. Když Watson OpenScale uvádí omezenísingle_column
s klíčemkind
, pole obsahuje hodnotu, která koreluje se sloupcem, který chcete popsat. Když Watson OpenScale uvádí omezenítwo-column
s klíčemkind
, pole obsahuje hodnoty, které korelují se sloupci, které obsahují související data.Klíč
content
uvádí atributy, které popisují statistické charakteristiky vašich dat. Typ omezení, který je uveden s klíčemname
, určuje, který atribut je uveden v klíčicontent
, jak ukazuje následující tabulka:Atribut Omezení frekvence_distribuce categorical_distribution_constraint rozsahy numeric_range_constraint, catnum_range_constraint Rozdělení numeric_distribution_constraint, catnum_distribution_constraint rare_kombinace omezení catcatcat_distribution_constraint zdrojový_sloupec catcatcat_distribution_constraint, catnum_range_constraint, catnum_distribution_omezení cílový_sloupec catcatcat_distribution_constraint, catnum_range_constraint, catnum_distribution_omezení Následující sekce poskytují příklady, jak je uveden každý typ omezení:
- Omezení kategoriální distribuce
- Omezení číselného rozsahu
- Omezení číselné distribuce
- Omezení kategoriální distribuce
- Kategoriální-omezení číselného rozsahu
- Kategoriální-omezení číselné distribuce
Omezení kategoriální distribuce
{ "name": "categorical_distribution_constraint", "id": "f0476d40-d7df-4095-9be5-82564511432c", "kind": "single_column", "columns": [ "CheckingStatus" ], "content": { "frequency_distribution": { "0_to_200": 1304, "greater_200": 305, "less_0": 1398, "no_checking": 1993 } } }
V trénovacích datech obsahuje sloupec
CheckingStatus
čtyři hodnoty, které jsou uvedeny s atributemfrequency_distribution
. Atributfrequency_distribution
uvádí počty frekvence s hodnotami pro kategorie, jako např.0_to_200
. Pokud produkt Watson OpenScale nalezne v datech informačního obsahu záznamy, které uvádějí hodnoty, které se liší od hodnot atributufrequency_distribution
, záznamy se identifikují jako drift.Omezení číselného rozsahu
{ "name": "numeric_range_constraint", "id": "79f3a1f5-30a1-4c7f-91a0-1613013ee802", "kind": "single_column", "columns": [ "LoanAmount" ], "content": { "ranges": [ { "min": 250, "max": 11676, "count": 5000 } ] } }
Sloupec
LoanAmount
obsahuje minimální a maximální hodnoty, které jsou uvedeny s atributemranges
pro nastavení rozsahu trénovacích dat. Atributranges
určuje oblasti s vysokou hustotou sloupce. Žádné rozsahy, které se zřídka vyskytují v trénovacích datech, nejsou zahrnuty. Pokud produkt Watson OpenScale nalezne záznamy v datech informačního obsahu, která se nevejdou do rozsahu, a předdefinovanou vyrovnávací paměť, záznamy jsou identifikovány jako posun.Omezení numerické distribuce
{ "name": "numeric_distribution_constraint", "id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0", "kind": "single_column", "columns": [ "LoanAmount" ], "content": { "distribution": { "name": "norm", "parameters": { "loc": 3799.62, "scale": 1920.0640064678398 }, "p-value": 0.22617155797563282 } } }
Sloupec
LoanAmount
obsahuje hodnoty, které jsou uvedeny s atributemdistribution
pro nastavení normální distribuce pro trénovací data. Pokud produkt Watson OpenScale nalezne záznamy v datech informačního obsahu, které se nevejdou do normální distribuce, záznamy se identifikují jako drift. Distribuce, které se produkt Watson OpenScale snaží přizpůsobit, jsou rovnoměrné, exponenciální nebo normální distribuce. Pokud produkt Watson OpenScale nenajde záznamy, které se vejdou do těchto distribucí, toto omezení se nezjistí.Omezení kategoriálně-kategorického rozdělení
{ "name": "catcat_distribution_constraint", "id": "99468600-1924-44d9-852c-1727c9c414ee", "kind": "two_column", "columns": [ "CheckingStatus", "CreditHistory" ], "content": { "source_column": "CheckingStatus", "target_column": "CreditHistory", "rare_combinations": [ { "source_value": "no_checking", "target_values": [ "no_credits" ] } ] } }
Pro sloupce
CheckingStatus
aCreditHistory
atributyrare_combinations
uvádí kombinaci hodnot, které se zřídka vyskytují v trénovacích datech. Pokud produkt Watson OpenScale nalezne záznamy v datech informačního obsahu, která obsahují danou kombinaci, budou tyto záznamy identifikovány jako drift.Omezení kategoriálně-číselného rozsahu
{ "name": "catnum_range_constraint", "id": "f252033c-1635-4974-8976-3f7904d0c37d", "kind": "two_column", "columns": [ "CheckingStatus", "LoanAmount" ], "content": { "source_column": "CheckingStatus", "target_column": "LoanAmount", "ranges": { "no_checking": [ { "min": 250, "max": 11676, "count": 1993 } ], "less_0": [ { "min": 250, "max": 7200, "count": 1398 } ], "0_to_200": [ { "min": 250, "max": 9076, "count": 1304 } ], "greater_200": [ { "min": 250, "max": 9772, "count": 305 } ] } } }
Atribut
ranges
uvádí minimální a maximální hodnoty pro sloupceCheckingStatus
aLoanAmount
, které nastavují rozsah pro trénovací data. Pokud produkt Watson OpenScale nalezne záznamy v datech informačního obsahu, které neobsahují hodnoty sloupcůLoanAmount
aCheckingStatus
, které se vejdou do rozsahu, a předdefinovanou vyrovnávací paměť, záznamy se identifikují jako posun.Omezení kategoriálně-numerické distribuce
{ "name": "catnum_distribution_constraint", "id": "3a97494b-0cd7-483e-a1c6-adb7755c1cb0", "kind": "two_column", "columns": [ "CheckingStatus", "LoanAmount" ], "content": { "source_column": "CheckingStatus", "target_column": "LoanAmount", "distribution": { "greater_200": { "name": "norm", "parameters": { "loc": 3799.62, "scale": 1920.0640064678398 }, "p-value": 0.22617155797563282 } } } }
Sloupce
LoanAmount
aCheckingStatus
obsahují hodnoty, které jsou uvedeny s atributemdistribution
pro nastavení normálního rozdělení trénovacích dat. Pokud produkt Watson OpenScale najde záznamy v datech informačního obsahu, které neobsahují hodnoty sloupceLoanAmount
aCheckingStatus
, které se vejdou do normální distribuce, záznamy se označí jako unáhlené.Pozn.:Chcete-li zmírnit posun poté, co je zjištěn produktem Watson OpenScale, musíte sestavit novou verzi modelu, která opraví problém. Dobrým začátkem jsou datové body, které jsou zvýrazněny jako důvody tohoto posunu. Zaveďte nová data do prediktivního modelu poté, co ručně popíšete driftované transakce a použijete je k opětovnému trénování modelu.
Další informace
Přezkoumání náhledů modelu Přezkoumání výsledků posunu
Nadřízené téma: Konfigurace detekce úletu