La qualité des données détermine directement la fiabilité des analyses et des décisions qui en découlent. Cette leçon explore les dimensions de la qualité des données, les sources de biais les plus courantes et les méthodes d’évaluation de la fiabilité des sources.
Les dimensions de la qualité des données
Exactitude (Accuracy)
L’exactitude mesure le degré de conformité des données avec la réalité qu’elles sont censées représenter.
Indicateurs d’exactitude :
- Cohérence avec des sources de référence
- Absence d’erreurs de saisie ou de transmission
- Validation par des experts du domaine
- Recoupement entre sources indépendantes
Exemple pratique :
Une base de données clients indique qu’un client a 150 ans. Cette information est manifestement inexacte et doit être corrigée ou supprimée.
Méthodes de vérification :
import pandas as pd
import numpy as np
# Vérification de la plausibilité des âges
def check_age_validity(df, age_column):
invalid_ages = df[
(df[age_column] < 0) | (df[age_column] > 120)
]
print(f"Âges invalides détectés: {len(invalid_ages)}")
print(f"Pourcentage d'erreurs: {len(invalid_ages)/len(df)*100:.2f}%")
return invalid_ages
# Exemple d'utilisation
df = pd.DataFrame({
'client_id': [1, 2, 3, 4, 5],
'age': [25, 150, 34, -5, 67]
})
invalid_data = check_age_validity(df, 'age')
Complétude (Completeness)
La complétude évalue la proportion de données présentes par rapport aux données attendues.
Types d’incomplétude :
- Valeurs manquantes : cellules vides dans une base de données
- Enregistrements manquants : clients non référencés
- Attributs manquants : colonnes absentes d’un dataset
Mesure de complétude :
def assess_completeness(df):
total_cells = df.shape[0] * df.shape[1]
missing_cells = df.isnull().sum().sum()
completeness_percentage = (total_cells - missing_cells) / total_cells * 100
print(f"Pourcentage de complétude : {completeness_percentage:.2f}%")