Monitorování spravedlnosti a předsudků pro klasifikační modely
Pomocí monitorování Databricks Lakehouse můžete monitorovat predikce klasifikačního modelu a zjistit, jestli model funguje podobně s daty přidruženými k různým skupinám. Můžete například zjistit, jestli klasifikátor výchozí půjčky generuje stejnou falešně pozitivní sazbu pro žadatele z různých demografických údajů.
Práce s metrikami spravedlnosti a předsudků
Pokud chcete monitorovat nestrannost a předsudky, vytvoříte Booleovský výraz pro řez. Skupina definovaná vyhodnocením výrazu řezu True
se považuje za chráněnou skupinu (to znamená skupinu, u které kontrolujete předsudky). Pokud například vytvoříte slicing_exprs=["age < 25"]
, řez identifikovaný slice_key
= "věk < 25" a slice_value
= True
se považuje za chráněnou skupinu. Naopak, řez identifikovaný slice_key
= "věk < 25" a slice_value
= False
se považuje za nechráněnou skupinu.
Monitorování automaticky vypočítá metriky, které porovnávají výkon klasifikačního modelu mezi skupinami. V tabulce metrik profilu jsou hlášeny následující metriky:
-
predictive_parity
, která porovnává přesnost modelu mezi skupinami. -
predictive_equality
, který porovnává falešně pozitivní míry mezi skupinami. -
equal_opportunity
, která měří, zda je štítek předpovězen stejně dobře pro obě skupiny. -
statistical_parity
, který měří rozdíl v predikovaných výsledcích mezi skupinami.
Tyto metriky se počítají pouze v případě, že je InferenceLog
typ analýzy a problem_type
je classification
.
Definice těchto metrik najdete v následujících odkazech:
- Článek na Wikipedii o nestrannosti ve strojovém učení:
https://en.wikipedia.org/wiki/Fairness_(machine_learning)
- Vysvětlení definic nestrannosti, Verma a Rubin, 2018
Výstupy metrik spravedlnosti a předsudků
Podrobnosti o těchto metrikách a jejich zobrazení v tabulkách metrik najdete v referenčních informacích k rozhraní API. Všechny metriky spravedlnosti a předsudků sdílejí stejný datový typ, jak je znázorněno níže, a zobrazují skóre nestrannosti vypočítané napříč všemi predikovanými třídami způsobem "1-vs-all" jako páry klíč-hodnota.
Na tyto metriky můžete vytvořit upozornění. Vlastník modelu může například nastavit upozornění, když metrika nestrannosti překročí určitou prahovou hodnotu, a pak tuto výstrahu směrovat na osobu na volání nebo tým pro šetření.