Prétraitement des données • Pourquoi prétraiter les données ? P i ét it l d é ? • Nettoyage des données • Intégration et transformation Intégration et transformation • Réduction des données • Discrétisation et génération de hiérarchies de g concepts 1 Pourquoi prétraiter les données ? • Données réelles souvent é é incomplètes : valeurs manquantes, données incomplètes : valeurs manquantes données simplifiées bruitées : erreurs et exceptions incohérentes : nommage, codage i hé t d • Résultats de la fouille dépendent de la qualité des données 2 3 Principales étapes dans le prétraitement des données • Nettoyage Data cleaning • Intégration Data integration • Transformation transactions tra • Discrétisation Data transformation 2, 32, 100, 59, 48 Data reduction attributes A1 A2 A3 ... T1 T2 T3 T4 ... T2000 A126 transactionss • Réduction 0.02, 0.32, 1.00, 0.59, 0.48 A1 T1 T4 ... T1456 attributes A3 ... A115 Données manquantes • Données non disponibles é certains attributs n certains attributs n’ont ont pas de valeur pas de valeur • Causes : mauvais fonctionnement de l’équipement incohérences avec d’autres données et donc supprimées non saisies car non ou mal comprises considérées peu importantes au moment de la saisie ii Ces données doivent être inférées • Ces données doivent être inférées 4 Comment remplir les trous ? • Ignorer le tuple I l t l peu efficace quand le pourcentage de valeurs manquantes est élevé • Compléter manuellement les données C lé ll l d é Laborieux ou infaisable • Utiliser une constante globale ex : « inconnue », une nouvelle catégorie ? • Utiliser la moyenne de l’attribut y p • Utiliser la moyenne de l’attribut pour la même classe mieux • Utiliser la valeur la plus probable Utiliser la valeur la plus probable formule Bayésienne ou arbre de décision 5 Données bruitées • Bruit : erreur ou variance aléatoire d’une variable mesurée B i i lé i d’ i bl é • Causes : Instrument de mesure défectueux Problème de saisie Problème de transmission Limitation technologique Limitation technologique Incohérence dans les conventions de nommage • Autres problèmes : Autres problèmes : enregistrement dupliqués d données incomplètes é i lè données incohérentes 6 Correction du bruit • Par partitionnement (binning) P titi t (bi i ) trier et partitionner les données li lisser les partitions par la moyenne, la médiane, les bornes, … l titi l l édi l b • Clustering détecter et supprimer les exceptions • Inspection humaine et informatique combinée détection des valeurs suspectes et vérification humaine • Régression lisser les données par des fonctions de régression 7 Partitionnement simple : lissage • équi équi‐largeur (distance) : n largeur (distance) : n intervalles de même taille intervalles de même taille • équi‐profondeur : n intervalles contenant le même nombre de valeurs * données triées : 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34 , , , , , , , , , , , * équi‐profondeur : p ‐ partition 1 : 4, 8, 9, 15 ‐ partition 2 : 21, 21, 24, 25 ‐ partition 3 : 26, 28, 29, 34 * lissage par la moyenne : ‐ partition 1: 9, 9, 9, 9 ‐ partition 2: 23, 23, 23, 23 ‐ partition 3: 29, 29, 29, 29 * lissage par les bornes : ‐ partition 1: 4, 4, 4, 15 ‐ partition 2: 21, 21, 25, 25 ‐ partition 3: 26, 26, 26, 34 8 Clustering : suppression des exceptions 9 10 Régression y Y1 y=x+1 Y1’ X1 x Intégration des données 11 • Intégration des données : I té ti d d é combinaison de différentes sources en une seule • Intégration des schémas : iintégrer les méta‐données té l ét d é de différentes sources d diffé t problème de nommage : identifier les différents noms des mêmes données réelles, ex : num_client ≡ client_id • Détecter et résoudre les conflits de valeurs Détecter et résoudre les conflits de valeurs pour les mêmes entités réelles, les valeurs des attributs provenant de sources différentes sont différentes provenant de sources différentes sont différentes causes : représentation différentes, échelles différentes, ex : cm et pouces Gestion de la redondance • fréquente lors de l’intégration de plusieurs sources de données sources de données le même attribut peut avoir des noms le même attribut peut avoir des noms différents un attribut peut être déduit d’un autre • peut être détectée par des analyses de t êt dét té d l d corrélation 12 Transformation des données • Li Lissage : réduire le bruit dans les données éd i l b it d l d é • Agrégation : simplification, construction de cubes Agrégation : simplification, construction de cubes de données • Généralisation : hiérarchie de concepts Gé é li ti hié hi d t • Normalisation : mise à l’échelle pour avoir un petit p p intervalle spécifié min‐max i z‐score mise à l’échelle décimale 13 14 Normalisation • min‐max v − min i A v' = (new _ maxA − new _ minA) + new _ minA maxA − minA • z‐score v − mean A v'= stand _ dev A • mise à l’échelle décimale v v' = j 10 avec j le plus petit entier tq max(|v’|)<1 Réduction des données • La fouille de données peut être très longue sur les é ê è données complètes données complètes • Réduction des données obtenir une représentation réduite du jeu de données, plus petite en volume, mais qui produit les mêmes (ou plus petite en volume, mais qui produit les mêmes (ou presque) résultats analytiques • Stratégies S é i Agrégation par cubes de données Agrégation par cubes de données Réduction de dimension Réduction de numérosité Discrétisation et génération de hiérarchies de concepts Discrétisation et génération de hiérarchies de concepts 15 Réduction de numérosité • Méthodes paramétriques é é suppose que les données suivent un modèle. suppose que les données suivent un modèle Estimer et stocker seulement les paramètres du modèle modèle log linéaire : approximation de la modèle log linéaire : approximation de la distribution des valeurs dans un espace multi‐ dimensionnel • Méthodes non paramétriques Méthodes non paramétriques les données ne suivent pas un modèle les données ne suivent pas un modèle principales : histogrammes, clustering, échantillonnage 16 Histogrammes • populaire l i • diviser en intervalles et stocker la moyenne ((somme)) • mise en œuvre optimale sur une dimension par sur une dimension par programmation dynamique 40 35 30 25 20 15 10 5 0 10000 30000 50000 70000 90000 Echantillonnage • Permet Permet à un algorithme de s’exécuter en un temps à n algorithme de s’e éc ter en n temps sous‐linéaire de la taille des données • Choix d’un sous‐ensemble représentatif des données potentiellement mauvais dans le cas de biais dans les données • Méthodes d’échantillonnage adaptatives échantillonnage stratifié échantillonnage stratifié approximer le pourcentage de chaque classe (ou sous population d’intérêt) sous population d intérêt) dans le jeu de données dans le jeu de données complet utilisé dans le cas de données biaisées utilisé dans le cas de données biaisées • L’échantillonnage peut ne pas réduire le nombre d’ t é / ti d’entrées/sorties 18 Échantillonnage Données brutes 19 20 Echantillonnage Données brutes Echantillon stratifié Discrétisation • TTrois types d’attributs i t d’ tt ib t Nominal ou catégorique : valeurs d Nominal ou catégorique : valeurs d’un un ensemble ensemble Ordinal : valeurs d’un ensemble ordonné Continu : réels • Discrétisation Æ diviser l’intervalle de valeurs possibles en sous intervalles certains algorithmes acceptent seulement des certains algorithmes acceptent seulement des attributs catégoriques réduit le volume des données préparation pour de futures analyses préparation pour de futures analyses 21 Discrétisation et hiérarchie de concepts • Discrétisation é réduit le nombre de valeurs d réduit le nombre de valeurs d’un un attribut attribut (continu) donné • Hié Hiérarchie de concepts hi d t réduit les données en collectant et remplaçant réduit les données en collectant et remplaçant les concepts de bas niveau (âge) par des concepts de niveau d’abstraction plus élevé d d’ b l él é (jeune, sénior) (jeune, sénior) 22 Discrétisation et génération de hiérarchie de concepts pour des données numériques • Partitionnement (binning) P titi t (bi i ) • Histogramme • Clustering • Basée entropie • Segmentation par partitionnement naturel g p p 23 Segmentation par partitionnement naturel LLa règle 3‐4‐5 peut être utilisée pour segmenter des données è l 345 ê ili é d d é numériques en intervalles relativement uniformes • Si un intervalle couvre 3, 6, 7 ou 9 valeurs distinctes au chiffre p g p le plus significatif alors partitionner l’intervalle en 3 intervalles de même largeur Si un intervalle couvre 2 4 ou 8 valeurs distinctes alors • Si un intervalle couvre 2, 4, ou 8 valeurs distinctes alors partitionner en 4 intervalles • Si un intervalle couvre 1, 5, ou 10 valeurs distinctes alors Si i t ll 1 5 10 l di ti t l partitionner en 5 intervalles 24 25 Règle 3‐4‐5 : exemple count Step 1: Step 2: -$351 -$159 Min Low (i.e, 5%-tile) msd=1,000 profit Low=-$1,000 (-$1,000 - 0) (-$400 - 0) (-$200 -$100) $100) (-$100 0) Max High=$2,000 ($1,000 - $2,000) (0 -$ 1,000) (-$400 -$5,000) Step 4: (-$300 -$200) High(i.e, 95%-0 tile) $4,700 (-$1,000 - $2,000) Step 3: (-$400 -$300) $1,838 ($1,000 - $2, 000) (0 - $1,000) (0 $200) ($1,000 $1,200) ($ ($200 $400) ($1,200 ($1 200 $1,400) ($1,400 $1,600) ($400 $600) ($600 $800) ($800 $1,000) ($1,600 ($1,800 $1,800) $2,000) ($2 000 - $5, ($2,000 $5 000) ($2,000 $3,000) ($3,000 $4,000) ($4,000 $5 000) $5,000) Génération de hiérarchie de concepts pour des données nominales • SSpécification d’un ordre partiel par des utilisateurs é ifi ti d’ d ti l d tili t ou des experts ex : Gene Ontology • Spécification d’une portion de hiérarchie par le S é ifi ti d’ ti d hié hi l groupage explicite des données • SSpécification d’un ensemble d’attributs sans ordre é ifi ti d’ bl d’ tt ib t d partiel • Spécification partielle d’un ensemble S é ifi ti ti ll d’ bl 26 27 Spécification d’un ensemble d’attributs La hiérarchie de concepts peut être générée é ê é éé automatiquement en se basant sur le nombre de automatiquement en se basant sur le nombre de valeurs distinctes d’un attribut. country 15 valeurs distinctes province_or_ state 65 valeurs distinctes city street 3 567 valeurs distinctes 674 339 valeurs distinctes