Monitorar a imparcialidade e o desvio para modelos de classificação
Com o Databricks Lakehouse Monitoring, você pode monitorar as previsões de um modelo de classificação para ver se o modelo é executado da mesma forma em dados associados a grupos diferentes. Por exemplo, você pode investigar se um classificador de empréstimo-padrão gera a mesma taxa de falsos positivos para candidatos de diferentes demografias.
Trabalhar com métricas de imparcialidade e preconceito
Para monitorar a imparcialidade e o desvio, crie uma expressão de fatia booliana. O grupo definido pela expressão de fatia avaliada como True
é considerado o grupo protegido (ou seja, o grupo em relação ao qual você está verificando o desvio). Por exemplo, se você criar slicing_exprs=["age < 25"]
, a fatia identificada por slice_key
= "idade < 25" e slice_value
= True
será considerada o grupo protegido, e a fatia identificada por slice_key
= "idade < 25" e slice_value
= False
será considerada o grupo desprotegido.
O monitor calcula automaticamente as métricas que comparam o desempenho do modelo de classificação entre grupos. As seguintes métricas são relatadas na tabela de métricas de perfil:
predictive_parity
, que compara a precisão do modelo entre grupos.predictive_equality
, que compara as taxas de falsos positivos entre grupos.equal_opportunity
, que mede se um rótulo é previsto igualmente bem para ambos os grupos.statistical_parity
, que mede a diferença nos resultados previstos entre grupos.
Essas métricas serão calculadas somente se o tipo de análise for InferenceLog
e problem_type
for classification
.
Para obter definições dessas métricas, confira as seguintes referências:
- Artigo da Wikipédia sobre imparcialidade no aprendizado de máquina:
https://en.wikipedia.org/wiki/Fairness_(machine_learning)
- Definições de imparcialidade explicadas, Verma e Rubin, 2018
Saídas de métricas de imparcialidade e desvio
Confira a referência de API para obter detalhes sobre essas métricas e como exibi-las nas tabelas de métricas. Todas as métricas de imparcialidade e preconceito compartilham o mesmo tipo de dados, conforme mostrado abaixo, mostrando pontuações de imparcialidade calculadas em todas as classes previstas de maneira "um contra todos" como pares chave-valor.
Você pode criar um alerta relacionado a essas métricas. Por exemplo, o proprietário do modelo pode configurar um alerta quando a métrica de imparcialidade excede algum limite e rotear esse alerta para uma pessoa ou equipe de chamada para investigação.