Introduction à la fouille de données
Introduction à la fouille de données
Fouille de
données
INTRODUCTION ET CONCEPTS DE BASE PRÉPARATION DES DONNÉES TECHNIQUES STATISTIQUES ÉVALUATION ET VALIDATION DE MODÈLES ARBRES DE DÉCISION MÉTHODES ENSEMBLISTES DONNÉES DÉSÉQUILIBRÉES NAIVE BAYES VISUALISATION DES DONNÉES SURAPPRENTISSAGE
(OVERFITTING)
Types d'apprentissage automatique Transformation des données Types Validation croisée Mesures d'impureté Random Subspace Types Explication Techniques bivariées
Définition Qualité des données Tests statistiques Division des données Principes Bagging (Bootstrap Aggregating) Problématique Principe Techniques univariées Solutions
Causes
Supervisé : Prédiction à partir d'exemples Encodage des variables catégorielles Règles d'association k-fold : division en k parties, entraînement Entropie : -Σ p_i × log₂(p_i) - Chaque modèle utilise un sous-ensemble Sous-échantillonnage : réduction aléatoire de la classe Naive Bayes utilise les probabilités pour faire des Numérique vs Numérique
Fouille de données (Data Mining) : C'est étiquetés (X → y) Fiabilité : cohérence, précision, ANOVA : Analyse de variance entre groupes Train/Test : 70-80% / 20-30% sur k-1 et test sur 1 Structure hiérarchique de décisions binaires - Échantillonnage avec remise aléatoire de caractéristiques Distribution très inégale des classes majoritaire Théorème de Bayes : prédictions en se basant sur le théorème de Bayes. Numérique Régularisation (L1, L2)
l'ensemble des techniques permettant complétude Nœuds internes = tests - Vote majoritaire (classification) ou - Tous les exemples d'entraînement sont utilisés (ex: fraude 1%, normal 99%) Sur-échantillonnage : duplication de la classe minoritaire P(y|X) = P(X|y)×P(y)/P(X) L'algorithme est "naïf" car il suppose que toutes les
- Modèle trop complexe pour les données
d'extraire des connaissances utiles à partir Non supervisé : Découverte de structures One-hot encoding : une colonne binaire F = (Variance inter-groupes)/(Variance intra- Support : freq(X∪Y)/N Branches = résultats Mesure le désordre dans un nœud. Une entropie de moyenne (régression) Biais vers la classe majoritaire SMOTE : génération synthétique d'exemples minoritaires Hypothèse "naïve" : indépendance caractéristiques sont indépendantes les unes des autres Nuage de point: - Bruit dans les données d'entraînement
de grandes quantités de données. sans étiquettes par catégorie groupes) fréquence d'apparition conjointe On divise les données en k groupes égaux Feuilles = prédictions 0 signifie que tous les éléments appartiennent à la - Réduit la variance sans augmenter le biais Pondération des classes : pénalisation des erreurs sur conditionnelle des caractéristiques (ce qui est rarement vrai en pratique, mais fonctionne Corrélation/ lien linéaire
On divise les données en deux parties: une Histogramme: - Trop peu d'observations Ajoute une pénalité aux modèles trop
On cherche à découvrir des motifs, des H₀ : μ₁ = μ₂ = ... = μₖ (moyennes égales entre (souvent k=5 ou 10). Puis on fait k itérations: même classe (nœud pur). Plus l'entropie est élevée, C'est une variante du bagging, mais au lieu minoritaire étonnamment bien).
Cohérence : Les données respectent-elles pour entraîner le modèle (apprentissage) et Voir la distribution complexes.
tendances ou des relations qui ne sont pas groupes) à chaque fois, on utilise un groupe plus les classes sont mélangées. d'échantillonner les observations, on Seuils de décision : ajustement du seuil de classification
Semi-supervisé: Combinaison de données les règles logiques? (ex: âge > 0, date de fin Label encoding : conversion en valeurs une pour le tester (évaluation). Cette L1 (Lasso) peut mettre certains coefficients
évidentes à première vue. > date de début) séparation est essentielle pour estimer la différent comme données de test et tous 1. On crée plusieurs échantillons de même échantillonne les caractéristiques à zéro (sélection de variables).
étiquetées et non étiquetées numériques ordonnées Quelle proportion des transactions Le surapprentissage se produit quand un
contient à la fois X et Y? Par exemple, dans performance du modèle sur de nouvelles les autres comme données Indice de Gini : 1 - Σ(p_i)² taille que l'original en tirant au hasard avec (colonnes). L2 (Ridge) réduit simplement la taille des
modèle apprend par cœur les données
ANOVA permet de déterminer si les quelle proportion des achats trouve-t-on à données qu'il n'a jamais vues. d'entraînement. Les résultats sont remise (certaines observations peuvent Chaque modèle voit toutes les coefficients sans les annuler.
Par renforcement: Apprentissage par Précision : Les données correspondent- Target encoding : remplacement par la d'entraînement au lieu de capturer les
moyennes de plusieurs groupes sont la fois du pain et du beurre? Un support de moyennés pour obtenir une évaluation être répétées, d'autres absentes). observations mais seulement un sous-
récompenses/pénalités elles à la réalité? (ex: adresses correctes, moyenne de la variable cible tendances générales.
significativement différentes. 0.05 signifie que 5% de toutes les plus fiable. 2. On entraîne un modèle sur chaque ensemble aléatoire des caractéristiques.
orthographe des noms) Train/Validation/Test : 60% / 20% / 20% Mesure de l'impureté. Représente la probabilité de On reconnaît le surapprentissage quand Élagage des arbres
ANOVA compare la variation entre les transactions incluent ces deux produits. mal classer un élément choisi au hasard. échantillon. les performances sont excellentes sur les
Types de variables Normalisation : Boosting
groupes (due au traitement) à la variation Leave-one-out : Un indice de 0 signifie que le nœud est pur (une 3. On combine les prédictions par vote données d'entraînement mais mauvaises
Tâches principales en fouille de données Complétude : A-t-on toutes les X' = (X - min)/(max - min) ∈ [0,1] à l'intérieur des groupes (due au hasard). cas particulier où k = nombre d'observations majoritaire (classification) ou moyenne
informations nécessaires ou y a-t-il Confiance : freq(X∪Y)/freq(X) Division en trois parties: L'ensemble de seule classe), tandis qu'un indice proche de 1 indique sur les données de test. Simplifier les arbres de décision en
Si le ratio F est grand, cela suggère que les (régression). Catégorielle vs Numérique
beaucoup de valeurs manquantes? probabilité conditionnelle validation sert à ajuster les un mélange équilibré de classes. Boxplot: supprimant les branches les moins utiles
Qualitatives (catégorielles) Standardisation : différences observées ne sont pas dues au - Entraînement séquentiel, focus sur erreurs précédentes
hyperparamètres du modèle et éviter le Detecter les outliers pour éviter qu'ils ne s'adaptent trop
Classification : Attribuer une classe Z = (X - μ)/σ hasard. Version extrême où on prend une seule Random Forest - Pondération des modèles selon leur performance
1. Problèmes courants : bruit, valeurs surapprentissage, tandis que l'ensemble Erreur de classification : 1 - max(p_i) précisément aux données d'entraînement.
discrète aux observations μ=moyenne, σ=écart-type observation comme test et toutes les - AdaBoost : poids d'instances ajustés à chaque itération Boxplot:
aberrantes, doublons Parmi les clients qui achètent X, quelle de test est réservé pour l'évaluation finale.
Nominales : sans ordre (couleurs, pays) Test du χ² (Khi-deux) : Indépendance autres comme entraînement, puis on α_t = 0.5 × ln((1-ε_t)/ε_t) où ε_t=erreur du modèle t Comparer les distributions par goupe
proportion achète aussi Y? Par exemple, Validation croisée
Régression : Prédire une valeur Log-transformation : entre variables catégorielles répète pour chaque observation. Très - Bagging + sélection aléatoire de caractéristiques (m ≈ √p) - Gradient Boosting : ajustement par descente de
2. parmi ceux qui achètent du pain, quel Représente simplement la proportion
numérique continue Ordinales : avec ordre (petit/moyen/grand) X' = log(X) pour distributions coûteux en calcul mais utile avec peu de - Processus de construction: gradient
pourcentage achète aussi du beurre? Une d'éléments qui n'appartiennent pas à la classe
Bruit : Variations aléatoires ou erreurs de asymétriques χ² = Σ [(O - E)²/E] où O=valeurs données. 1. Échantillonnage bootstrap des données
confiance de 0.7 signifie que 70% des majoritaire.
mesure qui obscurcissent le signal réel observées, E=valeurs attendues 2. À chaque nœud, sélection aléatoire de m caractéristiques Technique pour évaluer la performance
Clustering : Regrouper des observations Quantitatives (numériques) acheteurs de pain prennent aussi du Par exemple, si un nœud contient 70% de
3. H₀ : Les variables sont indépendantes 3. Choix de la meilleure division parmi ces m caractéristiques Contrairement au bagging (Random d'un modèle sur différents sous-ensembles
similaires Discrétisation : convertir valeurs beurre. Stratifiée : préserve la distribution de la classe A et 30% de classe B, l'erreur est de 0.3
4. Répétition jusqu'à construction complète Forest) où tous les arbres sont construits des données, afin de détecter et éviter le
Valeurs aberrantes : Observations continues en intervalles variable cible (30%). surapprentissage.
extrêmes qui s'écartent significativement Agrégation des prédictions (vote/moyenne) indépendamment, le boosting construit
Association : Découvrir des relations Discrètes : valeurs comptables (entiers) Lift : confiance(X→Y)/support(Y)
4. des autres (ex: âge = 200 ans) Sélection de caractéristiques Le test du χ² permet de vérifier si deux les arbres l'un après l'autre, chaque nouvel
entre variables force de l'association Élagage (pruning)
variables catégorielles sont liées. arbre se spécialisant dans la correction des Augmentation du jeu de données
On s'assure que chaque groupe contient à
Continues : valeurs sur un intervalle réel On compare les fréquences observées aux Algorithmes Random Forest combine de nombreux erreurs des arbres précédents.
Doublons : Mêmes observations répétées peu près la même proportion de chaque
Détection d'anomalies : Identifier des fréquences théoriques qu'on observerait si arbres de décision pour obtenir un modèle
5. plusieurs fois, ce qui peut biaiser l'analyse Filtrage : variance, corrélation, tests Mesure à quel point l'achat de X classe que l'ensemble original. Important
observations inhabituelles Temporelles les variables étaient indépendantes. Une Pré-élagage : arrêt précoce (profondeur max, min plus robuste et précis. Plus on a de données, moins le modèle
statistiques (ANOVA, χ²) augmente la probabilité d'acheter Y par quand les classes sont déséquilibrées.
grande valeur de χ² indique que les ID3 : maximise le gain d'information (réduction d'entropie) d'observations/nœud) risque de surapprendre car il verra plus de
Nettoyage des données rapport à la normale. Un lift de 1 signifie Catégorielle Deux Catégorielles
variables sont probablement liées. variations et de cas différents.
Ratio Wrapper : recherche séquentielle, aucune relation (indépendance), >1 Validation croisée
Gain(S,A) = Entropie(S) - Σ(|S_v|/|S|)×Entropie(S_v)
algorithmes génétiques signifie une association positive, <1 une
On arrête la croissance de l'arbre avant Simplification du modèle
Détection d'anomalies : association négative. Heatmap:
qu'il ne devienne trop complexe. Par Diagramme en barres:
Z-score, IQR (Q3-Q1) Embedding : LASSO, arbres de décision Classification Féquence de chaque modalité Voir les co-occurrences ou corrélation
ID3 cherche l'attribut qui sépare le mieux exemple, on peut limiter sa profondeur à 5
Algorithme Apriori : génération de règles niveaux ou exiger au moins 10
les données en créant les groupes les plus
Gestion des valeurs fréquentes avec élagage observations par feuille. Utiliser un modèle moins complexe (moins
Réduction de dimensionnalité : "purs" possible.
manquantes Matrice de confusion : VP, FP, VN, FN de paramètres, moins de profondeur pour
ACP/PCA, t-SNE À chaque étape, il choisit l'attribut qui
VP (Vrais Positifs) : prédits positifs et réellement positifs les arbres, etc.) qui sera moins susceptible
réduit le plus l'entropie (le désordre). Post-élagage : construction complète puis
FP (Faux Positifs) : prédits positifs mais réellement de capturer le bruit des données.
Méthode pour trouver efficacement des simplification
Suppression : lignes/colonnes (si < 5%) règles d'association en partant de négatifs
VN (Vrais Négatifs) : prédits négatifs et réellement C4.5 : amélioration d'ID3, ratio de gain normalisé
combinaisons simples pour aller vers des
combinaisons plus complexes. Il utilise négatifs
Imputation : moyenne, médiane, mode, FN (Faux Négatifs) : prédits négatifs mais réellement SplitInfo(S,A) = -Σ(|S_v|/|S|)×log₂(|S_v|/|S|) On laisse d'abord l'arbre grandir
un principe clé: si un ensemble
kNN, modèles prédictifs positifs Ratio Gain(S,A) = Gain(S,A) / SplitInfo(S,A) complètement, puis on supprime les
d'éléments est rare, tous ses sur-
branches les moins utiles. On évalue chaque
ensembles seront aussi rares (ce qui
Indicateur binaire : création d'une variable sous-arbre et on garde celui qui offre le
permet d'éliminer beaucoup de Accuracy = (VP+VN)/(VP+FP+VN+FN)
supplémentaire C4.5 résout un problème d'ID3 qui favorise meilleur compromis entre simplicité et
combinaisons à tester). Pourcentage total de prédictions correctes. Simple
les attributs avec beaucoup de valeurs précision.
mais peut être trompeur avec des classes
possibles.
déséquilibrées.
Il "normalise" le gain d'information en le Coût-complexité : R_α(T) = R(T) + α|T|
divisant par une mesure de complexité de où R(T)=erreur, |T|=taille
Précision = VP/(VP+FP) la division.
Mesure la fiabilité des prédictions positives. C4.5 peut aussi gérer les valeurs
manquantes et les attributs continus. Méthode de post-élagage qui cherche un
Rappel (Sensibilité) = VP/(VP+FN) équilibre entre l'erreur du modèle et sa
Mesure la capacité à trouver tous les cas positifs. CART : minimise l'indice de Gini, arbres binaires complexité. Le paramètre α contrôle cet
équilibre: un α élevé favorise des arbres
F1-score = 2×(Précision×Rappel)/(Précision+Rappel) Supporte variables continues et classification/régression plus simples, un α faible des arbres plus
Moyenne harmonique entre précision et rappel. précis mais potentiellement surajustés.
AUC-ROC : aire sous la courbe ROC CART crée toujours des arbres binaires (2
Mesure la capacité du modèle à distinguer les classes branches par nœud) et utilise l'indice de
indépendamment du seuil choisi. Gini pour mesurer l'impureté. Il fonctionne
Une AUC de 0.5 équivaut à un modèle aléatoire, 1.0 est pour la classification et la régression. Pour
parfait. les variables continues, il trouve le meilleur
seuil de division
Régression
MSE = (1/n)Σ(y-ŷ)²
Moyenne des carrés des erreurs.
RMSE = √MSE
Racine carrée de MSE.
MAE = (1/n)Σ|y-ŷ|
Moyenne des valeurs absolues des erreurs.
R² = 1 - Σ(y-ŷ)²/Σ(y-ȳ)²
Coefficient de détermination.
Mesure la proportion de variance
expliquée par le modèle.
Varie de 0 (aucune explication) à 1
(explication parfaite).
Peut être négatif si le modèle est pire que
la simple moyenne.