Lorsque vous configurez des évaluations de dérive, vous pouvez générer des mesures qui vous aident à déterminer dans quelle mesure votre modèle prédit les résultats au fil du temps.
Vous pouvez consulter les résultats de vos évaluations de dérive sur le tableau de bord Insights. Pour afficher les résultats, vous pouvez sélectionner une vignette de déploiement de modèle et cliquer sur la flèche dans la section d'évaluation Dérive pour afficher un récapitulatif des métriques de dérive de votre dernière évaluation. Pour plus d'informations, voir Examen des résultats de dérive.
Les mesures de dérive sont calculées en analysant le comportement de votre modèle et en construisant son propre modèle pour prédire si votre modèle génère des prédictions précises pour les points de données. Ce modèle de détection de dérive traite les données utiles pour identifier le nombre d'enregistrements pour lesquels votre modèle effectue des prévisions inexactes et génère la précision prévue de votre modèle.
La dérive est prise en charge pour les données structurées uniquement et ne prend pas en charge les fonctions Python .
Mesures de dérive prises en charge
Copy link to section
Les mesures de dérive suivantes sont prises en charge pour les évaluations de dérive :
Baisse de l'exactitude
Copy link to section
Les évaluations de dérive estiment la baisse de précision de votre modèle au moment de l'exécution par rapport aux données d'apprentissage. La précision du modèle diminue s'il y a une augmentation des transactions similaires à celles que le modèle n'a pas évaluées correctement dans les données d'apprentissage.
Fonctionnement
Copy link to section
Le moniteur de dérive fonctionne différemment dans les environnements de pré-production et de production.
Dans les environnements de pré-production, lorsque vous téléchargez des données de test marquées, les données sont ajoutées aux tableaux de commentaires et de données utiles. Les données marquées sont ajoutées en tant qu'annotation dans le tableau de contenu. La précision est calculée à l'aide de la colonne de données libellée et de la colonne de prévision du tableau du contenu.
Dans les environnements de production, un modèle de détection des dérives est créé en examinant les données utilisées pour former et tester le modèle. Par exemple, si le modèle a une exactitude de 90 % sur les données de test, cela signifie qu'il fournit des prédictions incorrectes sur 10 % des données de test. Un modèle de classification binaire est construit qui accepte un point de données et prédit si ce point de données est similaire aux données que le modèle a prédites de manière incorrecte (10 %) ou précise (90 %).
Une fois le modèle de détection de dérive créé, il est évalué, au moment de l'exécution, à l'aide de toutes les données reçues par le modèle client. Par exemple, si le modèle client a reçu 1 000 enregistrements au cours des trois dernières heures, le modèle de détection de dérive s'exécute sur ces mêmes 1 000 points de données. Il calcule combien des enregistrements sont similaires aux 10 % d'enregistrements sur
lesquels le modèle a fait une erreur lors de l'entraînement. Si 200 de ces enregistrements sont similaires aux 10 % cela implique que l'exactitude du modèle est probablement de 80 %. Comme elle était de 90 % lors de l'entraînement,
cela signifie qu'il y a une dérive d'exactitude de 10 % dans le modèle.
Pour atténuer la dérive après sa détection, vous devez construire une nouvelle version du modèle qui corrige le problème. Les points de données mis en évidence comme causes de la dérive constituent un bon point de départ. Introduisez les nouvelles données dans le modèle prédictif après avoir étiqueté manuellement les transactions en dérive et les utiliser pour entraîner à nouveau le modèle.
Calculs
Copy link to section
La baisse de la précision de la mesure est calculée uniquement pour les modèles de classification binaires et multi-classes structurés. Chaque transaction est analysée afin d'estimer si la prédiction du modèle est exacte. Si la prédiction est inexacte, la transaction est marquée comme en dérive. La précision estimée est ensuite calculée comme la fraction des transactions non fractionnée par rapport au nombre total de transactions analysées. L'exactitude de base est l'exactitude du modèle sur les données de test. L'ampleur de la dérive de la précision est calculée comme la différence entre la précision de base et la précision estimée. En outre, toutes les transactions dérivées sont calculées, puis regroupées en fonction de la similarité de la contribution de chaque caractéristique à la dérive de la précision. Dans chaque groupe, les caractéristiques importantes qui ont contribué à la dérive de la précision sont estimées et leur impact est classé en trois catégories : important, partiel et faible.
Baisse de la cohérence des données
Copy link to section
Fonctionnement
Copy link to section
Chaque transaction est analysée pour vérifier l'incohérence des données en comparant les transactions en cours d'exécution avec les schémas des transactions dans les données d'apprentissage. Si une transaction enfreint un ou plusieurs modèles de données d'apprentissage, elle est identifiée comme incohérente. Pour calculer la baisse de cohérence des données, le nombre total de transactions est divisé par le nombre de transactions identifiées comme incohérentes. Par exemple, si 10 transactions sont identifiées comme incohérentes à partir d'un ensemble de 100 transactions, la baisse de la cohérence des données est de 10%.
Calculs
Copy link to section
Pour identifier l'incohérence des données, un schéma est généré lorsque vous configurez la détection de dérive en créant un fichier constraints.json pour spécifier les règles que vos données d'entrée doivent suivre. Le schéma est utilisé pour évaluer la dérive de vos données en identifiant les valeurs aberrantes qui ne correspondent pas aux contraintes spécifiées. Le schéma est spécifié en tant qu'objet JSON avec des tableaux columns et constraints qui décrivent les données de formation, comme illustré dans l'exemple suivant:
Copy to clipboardCopié dans le presse-papiersShow more
Colonnes
Copy link to section
Values are specified for the name, dtype, count,sparse, and skip_learning keys to describe a column.
Les clés name et dtype décrivent le libellé et le type de données d'une colonne. Les valeurs suivantes qui sont spécifiées avec la clé dtype décrivent le type de données:
categorical
numeric_discrete
numeric_continuous
Le type de données spécifié détermine si d'autres propriétés statistiques sont décrites avec des clés, telles que min, maxet mean. Par exemple, lorsque le type de données numeric_discrete ou numeric_continuous est spécifié, les propriétés sont décrites comme illustré dans l'exemple suivant:
Copy to clipboardCopié dans le presse-papiersShow more
La clé count indique le nombre de lignes d'une colonne. Des valeurs booléennes sont spécifiées pour décrire les clés sparse et skip_learning d'une colonne. La clé sparse indique si une colonne est éparse et la clé skip_learning indique si une colonne ignore l'apprentissage de l'une des règles décrites dans le schéma. Une colonne est peu dense si les 25th et 75th percentiles ont la même valeur.
Contraintes
Copy link to section
La clé name spécifie le type de contrainte. Les valeurs suivantes sont spécifiées pour décrire le type de contrainte:
categorical_distribution_constraint
numeric_range_constraint
numeric_distribution_constraint
catnum_range_constraint
catnum_distribution_constraint
catcat_distribution_constraint
La clé id identifie les contraintes avec un identificateur unique universel (UUID). La clé kind indique si la contrainte est une contrainte single_column ou two-column .
La clé columns spécifie un tableau de noms de colonne. Lorsqu'une contrainte single_column avec la clé kind est spécifiée, le tableau contient une valeur correspondant à la colonne que vous souhaitez décrire. Lorsqu'une contrainte two-column avec la clé kind est spécifiée, le tableau contient des valeurs en corrélation avec les colonnes qui contiennent des données connexes.
La clé content spécifie les attributs qui décrivent les caractéristiques statistiques de vos données. Le type de contrainte spécifié avec la clé name détermine quel attribut est spécifié dans la clé content , comme illustré dans le tableau suivant:
Dans les données d'apprentissage, la colonne CheckingStatus contient quatre valeurs spécifiées avec l'attribut frequency_distribution . L'attribut frequency_distribution spécifie les effectifs avec des valeurs pour les catégories, telles que 0_to_200. Si des enregistrements sont trouvés dans les données utiles qui spécifient des valeurs différentes des frequency_distribution valeurs d'attribut, les enregistrements sont identifiés comme des dérives.
Copy to clipboardCopié dans le presse-papiersShow more
La colonne LoanAmount contient les valeurs minimale et maximale spécifiées avec l'attribut ranges pour définir une plage pour les données d'apprentissage. L'attribut ranges spécifie les régions à haute densité de la colonne. Les plages qui apparaissent rarement dans les données d'apprentissage ne sont pas incluses. Si les données de la charge utile contiennent des enregistrements qui ne correspondent pas à la plage et à un tampon prédéfini, ces enregistrements sont identifiés comme des dérives.
Copy to clipboardCopié dans le presse-papiersShow more
La colonne LoanAmount contient des valeurs qui sont spécifiées avec l'attribut distribution pour définir une distribution normale pour les données d'apprentissage. Si les enregistrements trouvés dans les données de la charge utile ne correspondent pas à la distribution normale, ils sont identifiés comme des dérives. Les distributions qui sont ajustées sont les distributions uniformes, exponentielles ou normales. Si des enregistrements correspondant à ces distributions ne sont pas trouvés, cette contrainte n'est pas apprise.
Contrainte de distribution catégorielle-catégorielle
Copy to clipboardCopié dans le presse-papiersShow more
Pour les colonnes CheckingStatus et CreditHistory , les attributs rare_combinations spécifient une combinaison de valeurs qui apparaissent rarement dans les données d'apprentissage. Si des enregistrements contenant la combinaison sont trouvés dans les données utiles, ils sont identifiés comme des dérives.
Copy to clipboardCopié dans le presse-papiersShow more
L'attribut ranges spécifie les valeurs minimale et maximale pour les colonnes CheckingStatus et LoanAmount qui définissent une plage pour les données d'apprentissage. Si des enregistrements sont trouvés dans les données utiles qui ne contiennent pas de valeurs de colonnes LoanAmount et CheckingStatus correspondant à l'intervalle et à un tampon prédéfini, les enregistrements sont identifiés comme étant à la dérive.
Copy to clipboardCopié dans le presse-papiersShow more
Les colonnes LoanAmount et CheckingStatus contiennent des valeurs qui sont spécifiées avec l'attribut distribution pour définir une distribution normale pour les données d'apprentissage. Si des enregistrements sont trouvés dans les données utiles qui ne contiennent pas de valeurs de colonnes LoanAmount et CheckingStatus qui correspondent à la distribution normale, les enregistrements sont identifiés comme des dérives.
Remarque :
Pour atténuer la dérive après sa détection, vous devez construire une nouvelle version du modèle qui corrige le problème. Les points de données mis en évidence comme causes de la dérive constituent un bon point de départ. Introduisez les nouvelles données dans le modèle prédictif après avoir étiqueté manuellement les transactions en dérive et les utiliser pour entraîner à nouveau le modèle.