Configuration des évaluations d'équité pour les biais indirects
Dernière mise à jour : 25 oct. 2024
Configuration des évaluations d'équité pour les biais indirects
Sous certaines conditions, vous pouvez configurer les évaluations de l'équité de manière à ce qu'elles prennent en compte les biais indirects ainsi que les biais directs pour le déploiement d'un modèle.
Le biais indirect se produit lorsqu'une caractéristique d'un jeu de données peut être utilisée pour en représenter une autre. Par exemple, dans un jeu de données où la race n'est pas une fonction connue, une fonction telle que le code postal peut souvent suivre de près la race. L'évaluation de la fonction de code postal pour le biais est un moyen de détecter le biais indirect. Dans un autre exemple, l'historique des achats du client peut correspondre étroitement au sexe. Ainsi, même un modèle prédictif qui ne contient aucun des attributs protégés typiques tels que la race, l'âge ou le sexe peut indiquer des résultats biaisés.
La partialité indirecte est analysée lorsque les conditions suivantes sont réunies :
Pour trouver des corrélations, le fichier doit être suffisamment volumineux (plus de 4 000 enregistrements).
Les données d'entraînement doivent inclure les métachamps. Vous devez entraîner le modèle par rapport à un sous-ensemble de champs de données. Ces champs
supplémentaires, les métachamps, servent à déterminer le biais indirect. (Inclure les méta-champs, mais ne les utilisez pas dans la formation des modèles.)
La consignation de la charge utile doit comporter des métachamps et être exécutée avant que le moniteur d'équité ne soit configuré. Vous devez utiliser cette méthode pour télécharger les champs méta. La consignation de la charge utile pour le biais indirect requiert deux types d'entrée : 1) des caractéristiques d'entraînement avec des valeurs et 2) des métachamps avec des valeurs.
Lors de la configuration du moniteur d'équité, sélectionnez les champs supplémentaires à surveiller.
Flux de travaux type pour le biais indirect
Copy link to section
Toutefois, vous pouvez déterminer le biais indirect pour les modèles de préproduction et de production pour lesquels les modèles nécessitent des colonnes différentes. Les données de test utilisées pour évaluer les modèles de préproduction et les données de retour utilisées pour évaluer les modèles de préproduction ou de production diffèrent en ce qui concerne l'utilisation des méta-colonnes. Les méta-colonnes sont nécessaires pour les données de test aux fins de la préproduction et ne peuvent pas être incluses dans les données de retour utilisées pour les modèles de préproduction ou de production. Un flux de travaux type peut comprendre les étapes suivantes :
Créez des données d'apprentissage qui contiennent à la fois des colonnes de caractéristiques et des méta-colonnes. Les méta-colonnes contiennent des données qui ne sont pas utilisées pour entraîner le modèle.
Configurez le moniteur d'équité avec les colonnes méta.
Lors de la préproduction, téléchargez des données de test contenant à la fois les colonnes de caractéristiques et les méta-colonnes. Ces données de test doivent être téléchargées à l'aide de l'option Importer des données de test CSV.
Lors de la préproduction, vous pouvez interagir sur différentes versions du modèle tout en utilisant les mesures de biais indirect pour vous assurer que votre modèle final est exempt de biais.
Une fois le modèle envoyé en production, les données de retour ne doivent pas contenir de méta-colonnes mais seulement les colonnes de caractéristiques utilisées pour entraîner le modèle.
Exemple de fichier de contenu JSON comportant des métachamps
Copy link to section
L'exemple de fichier suivant présente une charge utile JSON comportant les champs et les valeurs utilisés
pour entraîner le modèle. Les métachamps et les valeurs utilisés pour l'analyse des biais indirects sont également inclus. Les métachamps ne sont pas utilisés pour entraîner le modèle, mais ils sont réservés à un autre type d'analyse qui tente de les corréler avec un biais dans le modèle. Bien que les métachamps puissent correspondre à n'importe quel type de données, il s'agit généralement d'attributs protégés, tels que le sexe, la race ou l'âge.
[request_data = {"fields":["AGE","SEX","BP","CHOLESTEROL","NA","K"],"values":[[28,"F","LOW","HIGH",0.61,0.026]]}
response_data = {"fields":["AGE","SEX","BP","CHOLESTEROL","NA","K","probability","prediction","DRUG"],"values":[[28,"F","LOW","HIGH",0.61,0.026,[0.82,0.07,0.0,0.05,0.03],0.0,"drugY"]]}
request_data = <put your data here>
response_data = <put your data here>
records = [PayloadRecord(request=request_data, response=response_data, response_time=18),
PayloadRecord(request=request_data, response=response_data, response_time=12)]
subscription.payload_logging.store(records=records)
Copy to clipboardCopié dans le presse-papiersShow more
Les méta-valeurs doivent se présenter sous la forme d'un tableau de tableaux :