data mining

Subdecks (1)

Cards (81)

  • Data mining

    The process of exploring and analyzing large quantities of data to discover meaningful patterns, correlations, and insights
  • Data mining

    • Principle: Digging into a data warehouse to search for relevant information
    • Objectives: Prediction, Discovery of hidden rules/correlations, Confirmation of hypotheses
    • Inputs: Text files, Spreadsheets, OLAP data cubes
  • Knowledge Discovery from Data (KDD) process

    1. Data cleaning
    2. Data integration
    3. Data selection
    4. Data transformation
    5. Data mining
    6. Pattern evaluation
    7. Knowledge presentation
  • Types of data that can be mined

    • Transactional data
    • Relational databases
    • Text data
    • Multimedia data
    • Temporal data
    • Sensor data
    • Spatial data
    • Biological data
  • When data mining can be used

    • Transactional data analysis
    • Relational database pattern discovery
    • Text data mining
    • Multimedia data analysis
    • Temporal data analysis
    • Sensor data analysis
    • Spatial data analysis
    • Biological data analysis
  • Data mining tasks

    • Classification
    • Clustering
    • Association rule mining
    • Regression analysis
  • Data mining functionalities

    • Anomaly detection
    • Sequential pattern mining
    • Text mining
    • Forecasting
  • Data mining

    • Principle: Digging into a data warehouse to search for relevant information
    • Objectives: Prediction, Discovery of hidden rules/correlations, Confirmation of hypotheses
    • Inputs: Text files, Spreadsheets, OLAP data cubes
  • Data mining is an interdisciplinary subject with various names such as knowledge mining from data, knowledge extraction, data/pattern analysis, etc.
  • Techniques for data analysis and model building

    • Neural networks
    • Decision trees
    • Support vector machines
    • K-nearest neighbors
    • Regression
    • Association rules
    • Factor analysis
    • Naive Bayes
  • Data mining process

    1. Data collection
    2. Data preparation
    3. Model building
    4. Model evaluation
    5. Model deployment
  • De quelles données ai-je besoin pour répondre à ma problématique

    1. Identifier sources de données
    2. Les données peuvent provenir de diverses sources telles que des bases de données, des fichiers plats, des systèmes d'information, des capteurs, des médias sociaux, etc.
    3. Obtenir les données via : Requêtes SQL
    4. Script cherche des données auprès des clients
    5. Générateur automatique des données (Serveur Open Source Generate Data, IDE visual Studio Prenium)
    6. Plan de génération des données : Informations relatives aux tables et colonnes
    7. Genre de données pour remplir les colonnes
    8. Spécifier les valeurs par défauts et options pour les générateurs de données
    9. Valeur de départ
    10. Nombres par défauts de lignes générées pour chaque table
    11. Gestion des erreurs (nombre des erreurs acceptable par table)
  • Avant d'appliquer des algorithmes de data mining, nous devons souvent effectuer les traitements suivants
    1. Mise en forme et nettoyage des données récupérées (data cleaning and feature engineering)
    2. Informations manquantes (NaN remplacer par numpy et pandas)
    3. Variables servant d'identifiants sont les mêmes d'une table à une autre (jointure)
    4. Corriger les erreurs de saisie pour les variables textuelles
    5. Créer des variables qui synthèses l'information
    6. Supprimer les éléments inutiles (colonne, ligne vide)
    7. Renommer les données avec des noms compréhensibles.
    8. Réduction de la dimensionnalité
  • Exploration des données (Data Exploration)
    1. Est-ce que mon échantillon est bien représentatif?
    2. Est-ce que les ordres des grandeurs sont bons?
    3. Est-ce que je comprends toutes les variables (dictionnaire de variables, explique comment elles sont construites, mener des études de corrélation entre elles?)
    4. Est-ce que j'ai des valeurs aberrantes? (il faut décider quel traitement on apporte au valeurs aberrantes (supprimer, transformer ou laisser).
  • La modélisation

    1. Est-ce que vous voulez expliquer ou prédire?
    2. Est-ce que vous voulez classer un élément dans un catégorie (classification ou clustering)
    3. Est-ce que vous voulez prédire une valeur numérique? (régression)
  • Évaluation des modèles

    Une fois que les modèles ont été créés, ils doivent être évalués pour déterminer leur précision, leur fiabilité et leur pertinence par rapport aux objectifs du projet. Cela peut nécessiter l'utilisation de mesures de performance telles que la précision, la F-mesure, la matrice de confusion, etc.
  • Interprétation et validation des résultats
    Cette étape implique l'interprétation des modèles découverts pour en extraire des insights significatifs. Les résultats doivent être validés pour s'assurer qu'ils sont cohérents avec les connaissances du domaine et qu'ils répondent aux objectifs initiaux du projet.
  • Déploiement et intégration des résultats

    Une fois que les modèles ont été évalués et validés, ils peuvent être déployés dans un environnement opérationnel où ils peuvent être utilisés pour prendre des décisions ou pour automatiser des processus.
  • 2 formes d'anomalies à identifier dans les données

    • Détection des points atypiques (outlier detection) : un ou des points s'écartent significativement des autres dans une base de données. Ils sont épars et localisés dans une zone peu dense des données (s'ils forment un groupe compact, on ne peut pas vraiment parler d'anomalies)
    • Détection des nouveautés (novelty detection) : on situe un individu supplémentaire par rapport à un échantillon de référence (considéré «propre»), on cherche à savoir s'il peut y être associé ou s'il s'en écarte significativement
  • Approche simple – Distance de Mahalanobis

    Pour chaque point, calculer la distance par rapport au barycentre (μ) –qui sert de référence –en tenant compte de la forme du nuage de points (via la covariance Σ).
  • Le point rouge n'est pas atypique sur les deux axes pris individuellement, mais l'est par rapport à la forme du nuage de points
  • Approche simple – Distance de Mahalanobis
    • Les calculs de μ et Σ peuvent être affectés par les points atypiques (Remarque : des solutions robustes existent…)
    • Les données peuvent être non-gaussiens, ou clustérisées, le barycentre global ne veut plus rien dire.
  • Identification locale des points atypiques

    Dans une zone à forte densité, un point qui s'écarte des autres (de ses voisins immédiats) devrait plus interroger que lorsqu'il se situe dans une zone moins dense.
  • Principe du Local Outlier Factor (LOF)

    • Calcul de densité locale basée sur les k-plus proches voisins
    • Comparer la densité locale d'un point avec celles de ses k(paramètre) plus proches voisins : si elle est inférieure, suspicion de point atypique
    • lrd(local reachability density) : mesure de densité locale d'un point (fortement entouré, densité élevée ; faiblement entouré, densité faible)
    • Exemple (k = 2)
    • lrd 6 ≪ lrd 4
    • lrd 6 ≪ lrd 2
    • Le point n°6 est potentiellement atypique
    • lof 6 = 2.2459 … ≫ 1 (Valeur de référence)
  • Quelques définitions et calculs
    • k-distance(A): distance d'un objet A avec son kèmevoisin. Ex.2-distance(6) = 0.439
    • Nk(A): taille du voisinage d'ordre k de A. Attention, à cause des ex-aequo, Nk(A) ≥ k
    • Distance atteignable(reachability distance) entre 2 objets : rdk(A,B) = max{k-distance(B), d(A,B)}
    • La densité locale (lrd: local reachability density) d'un point est l'inverse de la moyenne de son rdk(., .) avec ses k-plus proches voisins
    • |Nk(A)| cardinal du k-voisinage de A
    • rd2(6,4) = max {0.170, 0.374} = 0.374
    • rd2(6,2) = max {0.198, 0.439} = 0.439
    • lrd2 6 = 1 0.374 + 0.439 2 = 2.457756
    • lrd2(1) = 5.071 ; lrd2(2) = 5.432 ;
    • lrd2(3) = 5.560 ; lrd2(4) = 5.608 ;
    • lrd2(5) = 5.224 ; lrd2(6) = 2.458
    • On distingue les zones à forte densité!
  • Quelques définitions et calculs (suite)

    • Le facteur local d'anomalie (lof : local outlier factor) d'un point est obtenu en opposant sa densité locale avec celles de ses k-plus proches voisins
    • Règle de décision :
    • LOF = 1, densité similaire à ses voisins
    • LOF < 1, densité plus élevée que ses voisins (inlier)
    • LOF > 1, densité moindre que ses voisins (outlier)
    • Le mieux toujours est de trier les données pour identifier les observations suspectes (LOF très élevé)!
  • LOF Avantages et inconvénients
    • Avantages:
    • Non dépendant au calcul toujours hasardeux d'un barycentre
    • Approche locale, applicable même si les données sont organisées en clusters
    • Tient compte de la densité des points
    • Généralisable à d'autres mesures de distance (autre que euclidienne…)
    • Peut travailler directement à partir d'une matrice de distance
    • Inconvénients:
    • Interprétation du LOF difficile
    • Valeur seuil de 1 discutable, mieux vaut identifier les décrochements
    • Complexité des calculs, il faut une approche efficace de recherche des voisins
    • Comment fixer la valeur du paramètre k ?
    • k faible, plus précis mais instabilité des résultats
    • k fort, plus lissé mais risque de masquer les informations locales…
  • UN EXEMPLE :Identification des véhicules atypiques
    Comment identifier des véhicules atypiques dont les caractéristiques se démarquent significativement des autres –dans cette base ?
  • Local Outlier Factor Conclusion

    • La détection des anomalies a de nombreuses applications (identification des observations qui appartiennent à une autre population, des situations exceptionnelles, des comportements déviants [détection des intrusions par ex.], …)
    • LOF est une approche non-supervisée locale basée sur le différentiel de densité entre les points d'un voisinage donné (nombre de voisins k est un paramètre)
    • «Anomaly détection» peut–être «outlier détection» (sur la base étudiée) ou «novelty detection» (sur individus supplémentaires). LOF est applicable aussi en «novelty detection».
    • Le choix du paramètre (k) reste un problème ouvert…