Una vez que haya determinado que el emparejamiento logit contrafactual (CLP) es la técnica adecuada para su caso de uso, puede aplicarla siguiendo los siguientes pasos:
- Cree una instancia de
CounterfactualPackedInputs
con los datos originales y contrafactuales. - Mida la tasa de giros y el número de giros para determinar si se necesita intervención.
- Si es necesaria una intervención, pase los datos de entrada originales, los datos contrafactuales, el modelo original y la pérdida contrafactual al modelo contrafactual.
- Evalúe el impacto de CLP midiendo la tasa de giros y el número de giros.
Para ver un ejemplo de aplicación de CLP a un modelo de Keras, consulte el tutorial Usar emparejamiento Logit contrafactual con Keras .
Crear una instancia de CounterfactualPackedInputs
Para crear el conjunto de datos contrafactual, comience por determinar los términos y características que desea evaluar y que, cuando se eliminan o reemplazan, pueden alterar la predicción de su modelo.
Una vez que comprenda los términos y características a evaluar, deberá crear una instancia de CounterfactualPackedInputs
, que incluya la entrada original y los datos contrafactuales. La entrada original debe ser el conjunto de datos que utilizó para entrenar su modelo Keras. Los datos contrafactuales tienen un valor original_x
, un valor counterfactual_x
y un counterfactual_sample_weight
. El valor contrafactual debe ser casi idéntico al valor original con la diferencia de que uno o más de los atributos sensibles se eliminan o reemplazan. La calidad del conjunto de datos contrafactual es importante ya que se utiliza para emparejar la función de pérdida entre el valor original y el valor contrafactual con el objetivo de garantizar que la predicción del modelo no cambie cuando el atributo sensible sea diferente.
Para obtener detalles sobre cómo desarrollar este conjunto de datos contrafactuales, consulte el cuaderno sobre cómo crear un conjunto de datos contrafactuales personalizado .
Medir el número de giros y la tasa de giros
Un cambio se define como un clasificador que da una decisión diferente cuando cambia el atributo sensible al que se hace referencia en el ejemplo. Capta la situación en la que un clasificador cambia su predicción en presencia, ausencia o cambio de un atributo de identidad. Se debe utilizar una métrica más continua al evaluar el valor real (puntuación) de un clasificador.
Conteo de volteos
El recuento de cambios mide el número de veces que el clasificador da una decisión diferente si se cambiara el término de identidad en un ejemplo determinado.
- Conteo general de cambios : total de cambios de una predicción de positivo a negativo y viceversa.
- Número de lanzamientos de predicción positiva a negativa : número de lanzamientos en los que la etiqueta de predicción cambió de positiva a negativa.
- Número de lanzamientos de predicción negativa a positiva : número de lanzamientos en los que la etiqueta de predicción cambió de negativo a positivo.
Tasa de volteo
La tasa de inversión mide la probabilidad de que el clasificador dé una decisión diferente si se cambiara el término de identidad en un ejemplo determinado.
- Tasa de volteo general : recuento total de volteos sobre el número total de ejemplos
- Tasa de cambio de predicción de positivo a negativo : recuento de cambios de positivo a negativo sobre ejemplos positivos en un conjunto de datos contrafactuales
- Tasa de cambio de predicción de negativo a positivo : recuento de cambios de negativo a positivo sobre ejemplos negativos en un conjunto de datos contrafactuales
Después de calcular la tasa de cambios y el recuento de cambios con Fairness Indicators , puede determinar si el clasificador está haciendo una predicción diferente en función de un atributo sensible dentro de los datos. Puede utilizar el recuento de ejemplo y los intervalos de confianza para determinar si tiene datos suficientes para aplicar CLP y sacar conclusiones de la tasa de inversión. Una tasa de cambios y un recuento de cambios elevados son indicativos de que se produce este comportamiento y se pueden utilizar para decidir si CLP es apropiado para su caso de uso. Esta decisión es específica de su modelo y depende de factores como el daño que se pueda causar a los usuarios finales y el producto en el que se utiliza el modelo.
Aplique el emparejamiento Logit contrafactual a su modelo Keras
Para utilizar CLP, necesita el modelo Keras original que desea corregir, el conjunto de datos de entrenamiento original y el conjunto de datos contrafactual. Determine qué counterfactual loss
se debe aplicar para el par logit. Con esto, puede construir el modelo contrafactual con la función de pérdida contrafactual deseada y la función de pérdida de su modelo original.
Después de aplicar CLP, debe calcular la tasa de giros y el número de giros, y cualquier cambio en otras métricas, como la precisión general, para medir la mejora que resultó de la aplicación de esta técnica.