Qualité des données avec PyDeequ : un guide complet
Une qualité de données inadéquate peut nuire à la fois aux modèles d’apprentissage automatique et au processus de prise de décision au sein d’une entreprise. Les erreurs de données non résolues peuvent entraîner des répercussions durables, se manifestant par des imperfections et des secousses. Dans le paysage actuel, il est impératif de mettre en œuvre des outils automatisés pour surveiller la qualité des données, permettant d’identifier et de résoudre les problèmes en temps opportun. Cette approche proactive favorise une plus grande confiance dans l’intégrité des données et renforce l’efficacité de leur traitement. Par conséquent, l’adoption d’une surveillance automatisée de la qualité des données doit être considérée comme un impératif stratégique pour améliorer et maintenir les systèmes de données d’une organisation.
Dans ce guide étape par étape, nous examinerons les différents types de contrôles de qualité des données disponibles dans AWS pyDeequ, afin que vous puissiez mieux comprendre son fonctionnement.
Qu’est-ce que PyDeequ ?
PyDeequ est une bibliothèque Python qui fournit un ensemble d’outils pour l’évaluation et la validation de la qualité des données dans de grands ensembles de données. Il permet aux utilisateurs de définir des contrôles de qualité des données, de mesurer les mesures de qualité des données et d’identifier les problèmes ou anomalies dans leurs données. PyDeequ est souvent utilisé dans les tâches de prétraitement des données et d’assurance qualité dans les workflows d’analyse de données et d’apprentissage automatique.
Configurer PyDeequ sur PySpark
Une fois que vous aurez installé ces dépendances, vous serez prêt à utiliser PyDeequ pour les contrôles et les évaluations de la qualité des données sur vos ensembles de données dans un environnement PySpark.
Implémentation de PyDeequ
Composants principaux
Profilage: Le profilage est le processus de collecte de statistiques et d’informations de base sur les données. Dans PyDeequ, le profileur fournit des statistiques récapitulatives, des informations sur le type de données et des informations de base sur la distribution des données pour chaque colonne de votre ensemble de données. Il vous aide à comprendre rapidement les caractéristiques de vos données.
Analyseur: Le composant analyseur va au-delà du profilage et vous permet de calculer des statistiques et des métriques plus avancées pour vos données. Cela inclut des mesures telles que l’unicité, l’exhaustivité et d’autres mesures personnalisées. Les analyseurs vous aident à mieux comprendre les problèmes de qualité des données dans votre ensemble de données.
Suggestions de contraintes: La suggestion de contraintes est une fonctionnalité puissante de PyDeequ qui génère automatiquement des contraintes de qualité des données en fonction des résultats de profilage et d’analyse. Il suggère des contraintes telles que l’unicité, l’exhaustivité et le type de données que vous pouvez appliquer à vos données pour améliorer leur qualité.
Vérification: La vérification est le processus d’exécution de contrôles de qualité des données sur votre ensemble de données à l’aide des contraintes définies. Le composant de vérification de PyDeequ vous permet de créer et d’exécuter des contrôles de qualité des données pour valider si vos données sont conformes aux contraintes définies. Il fournit des rapports détaillés sur les résultats de ces contrôles, vous aidant à identifier les problèmes de qualité des données.
Mesures de qualité des données : PyDeequ comprend un ensemble de métriques de qualité des données prédéfinies que vous pouvez utiliser pour mesurer et surveiller la qualité de vos données. Ces mesures incluent des mesures telles que l’exhaustivité, la distinction et l’uniformité des données, entre autres.
Détection d’une anomalie: PyDeequ offre également des capacités de détection d’anomalies pour identifier des modèles inhabituels ou inattendus dans vos données. Cela peut être particulièrement utile pour repérer les valeurs aberrantes ou les points de données qui s’écartent considérablement de la norme.
Générateur de chèques : PyDeequ fournit une API CheckBuilder pratique qui vous permet de créer des contrôles de qualité des données par programme. Vous pouvez définir des contrôles personnalisés en fonction de vos exigences spécifiques en matière de qualité des données et les appliquer à vos données.
Ces principaux composants de PyDeequ fonctionnent ensemble pour vous aider à évaluer, analyser et améliorer la qualité de vos données dans un environnement PySpark. En tirant parti de ces composants, vous pouvez obtenir des informations précieuses sur vos données et vous assurer qu’elles répondent aux normes de qualité nécessaires pour vos projets d’analyse et d’apprentissage automatique.
Contrôles de qualité des données disponibles
● Contrôles d’exhaustivité: Ces vérifications garantissent que les champs spécifiés dans votre structure de données sont remplis de valeurs non vides. AWS pyDeequ propose des fonctions pour vérifier l’intégralité des colonnes et trouver les valeurs manquantes.
● Contrôles d’unicité : Les contrôles d’unicité garantissent qu’il n’y a pas de doublons dans une colonne ou un ensemble de colonnes particulier. Vous pouvez également déterminer le taux d’unicité des colonnes à l’aide d’AWS PyData.
● Contrôles de cohérence: Le but des contrôles de cohérence est de garantir la cohérence entre les valeurs des données. Avec l’aide d’AWS pyDeequ, vous pouvez identifier les valeurs qui ne sont pas cohérentes dans les colonnes catégorielles. De cette façon, vous pouvez détecter les erreurs ou les divergences de saisie des données.
● Vérifications des dépendances fonctionnelles: Ces vérifications déterminent si un type de colonne définit un autre type de colonne.
● Vérifications de modèles: Lors d’une vérification de modèle, les données sont validées par rapport à des modèles prédéfinis (tels que des adresses e-mail ou des numéros de téléphone). Avec AWS PyDeeq, vous pouvez vérifier si vos données correspondent à ces modèles.
● Contrôles de distribution de valeur: Les contrôles de distribution des valeurs vous donnent une idée de la façon dont les valeurs sont distribuées dans une seule colonne. Avec l’aide d’AWS pyDeequ, vous pouvez voir comment les valeurs uniques sont distribuées, ce qui vous aide à voir où les données sont asymétriques et où les données sont équilibrées.
● Chèques personnalisés : Avec AWS PyDeeq, vous pouvez créer vos contrôles en fonction de vos règles métier. Grâce à cette flexibilité, vous pouvez résoudre les problèmes de qualité des données spécifiques à un domaine.
Définitions des chèques pris en charge
pyDeequ fournit environ 40 contraintes que nous pouvons vérifier sur notre ensemble de données sur la base du scénario ci-dessus pour vérifier la qualité de vos données.
Contrainte | Définition |
aTaille | Affirmations sur la taille du bloc de données. |
est complet | Affirme l’achèvement d’une colonne. |
aComplétude | Affirme des valeurs/total_values non nulles. |
sont terminés | vérifie que toutes les colonnes répertoriées ont des valeurs non nulles. |
areAnyComplete | Affirme toute complétion dans l’ensemble combiné de colonnes. |
est unique | Affirme le caractère unique d’une colonne. |
aUnicité | Affirme toute unicité dans un ensemble unique ou combiné de colonnes clés. |
a une distinction | Affirme la distinction dans un ensemble unique ou combiné de colonnes clés. |
hasUniqueValueRation | Affirme un rapport de valeur unique dans un ensemble unique ou combiné de colonnes clés. |
hasNumberofDistinctValues | Affirme le nombre de valeurs distinctes dans la colonne. |
hasHistogramValues | Affirmations sur la distribution des valeurs de la colonne. |
aEntropie | Affirmations sur l’entropie d’une colonne. |
hasMutualInformation | Affirmations sur une information mutuelle entre deux colonnes. |
aEnvironQuantile | Affirmations sur un quantile approximatif. |
aMinLongueur | Affirme la longueur minimale de la colonne. |
hasMaxLength | Affirme la longueur maximale de la colonne. |
aMin | Affirme la valeur minimale dans la colonne. |
aMax | Affirme la valeur maximale dans la colonne. |
aMean | Affirmations sur la moyenne des valeurs de colonne. |
aSomme | Assertions sur la somme des valeurs de colonne. |
hasStandardDeviation | Affirme l’écart type de la colonne. |
hasEnvironCountDistinct | Affirme le nombre approximatif distinct de la colonne donnée. |
aCorrélation | Affirme la corrélation de Pearson entre deux colonnes. |
aComplétude | Asserts sur les lignes complétées dans un ensemble combiné de colonnes. |
haveAnyCompleteness | Affirme toute complétion dans l’ensemble combiné de colonnes. |
satisfait | Affirme la condition donnée sur la trame de données (clause Where). |
aMotif | Correspond au modèle regex. |
contient un numéro de carte de crédit | Vérifie par rapport à un modèle de carte de crédit. |
contientEmail | Vérifie par rapport à un modèle d’e-mail. |
contientURL | Vérifie par rapport à un modèle d’URL. |
contientSocialSecurityNumber | Vérifie par rapport au modèle de numéro de sécurité sociale pour les États-Unis. |
hasDataType | Vérifie par rapport à la fraction de lignes conformes au type de données donné |
estNonNégatif | Affirme qu’une colonne ne contient aucune valeur négative. |
est positif | Trouvez le rapport positive_values/total_values. |
est inférieur à | Affirme que dans chaque ligne, la valeur de la colonneA |
estMoinsQueOuÉgalà | Affirme que dans chaque ligne, la valeur de la colonneA ≤ la valeur de la colonneB. |
est supérieur à | Affirme que dans chaque ligne, la valeur de la colonneA > la valeur de la colonneB. |
est Supérieur à Ou Égal à | Affirme que dans chaque ligne, la valeur de la colonneA ≥ à la valeur de la colonneB. |
estContainedIn | Affirme que chaque valeur non nulle d’une colonne est contenue dans un ensemble de valeurs prédéfinies. |
Exemple:
Pydeequ prend en charge l’ajout séquentiel simple de contraintes sur n’importe quelle trame de données Pyspark et renvoie le rapport de contrôle de qualité dans les deux formats JSON/CSV.
Vous trouverez ci-dessous un exemple de code pour ajouter des contraintes :
Rapport généré :
Conclusion
La qualité des données est l’un des aspects les plus importants de votre entreprise basée sur les données. AWS PyDeequ fournit une suite complète de contrôles de qualité des données que vous pouvez facilement intégrer à votre flux de travail. Avec l’aide de ses fonctions, vous pouvez améliorer la précision, l’uniformité et la fiabilité de vos ensembles de données, ce qui permet d’obtenir des décisions et des informations plus éclairées.
Dans ce guide étape par étape, nous avons couvert tout ce que vous devez savoir sur les différents contrôles de qualité des données d’AWS PyDeequ, notamment l’exhaustivité, l’unicité, la personnalisation, etc. Avec ces connaissances en main, vous êtes mieux équipé pour garantir que vos données sont aussi bonnes qu’elles peuvent l’être, aidant ainsi votre organisation à atteindre son plein potentiel.
VOUS TROUVEZ CECI UTILE ? PARTAGEZ-LE
Source link