
























































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
data mining computer science intelligence artificielle
Typology: Schemes and Mind Maps
1 / 64
This page cannot be seen from the preview
Don't miss anything!

























































Selon le programme de la matière «Fouille de Données et Médias Sociaux» destinée au Master 2 Informatique, Option Systèmes d’Informations et Données
Université Des Sciences et Technologies d’Oran Mohammed Boudiaf, Faculté des Mathématiques et Informatique, Département d’Informatique, 2019-2020.
Préface
Ce polycopié concerne le cours intitulé «Fouille de Données et Médias
Sociaux» destiné aux étudiants de Master 2 Informatique, option « Systèmes
d’Informations et Données ». Il vise essentiellement à définir le domaine de la
fouille de données et à présenter les méthodes les plus utilisées. Il abordera
également l’application et l’adaptation de ces approches aux données issues des
médias sociaux.
Le document est organisé en trois chapitres, suivi chacun d’une suite de
questions et exercices sur le contenu du chapitre. La partie pratique peut être
réalisée par le langage Python, R ou tout autre langage adapté à la fouille de
données.
Le chapitre 1 est une introduction générale sur la fouille de données. Le
domaine du textmining est aussi abordé comme cas particulier. Le chapitre 2
présente les méthodes les plus utilisées dans les différentes tâches du
datamining : règles d’association, classification et segmentation.
Le chapitre 3 aborde les aspects principaux pouvant aider à analyser ces
données. On présente essentiellement certaines propriétés statistiques ainsi
que les mesures permettant de comprendre la structure du réseau.
L’assimilation de certaines parties du chapitre nécessite une connaissance
préalable des notions de base en théorie des graphes. Plusieurs techniques du
datamining peuvent être utilisées et adaptées à la fouille des médias sociaux
comme les règles d’associations, les arbres de décision et la segmentation
(clustering). On présente aussi dans ce chapitre trois tâches importantes dans le
domaine du «social media mining» : la détection des communautés, la
classification collective, et les systèmes de recommandation.
Introduction au Datamining
Le datamining ou « fouille de données » regroupe un ensemble de techniques permettant l'extraction, à partir d'un important volume de données brutes, des connaissances originales auparavant inconnues.
Ce chapitre est un aperçu sur la fouille de données où on prend comme exemple le cas de données textuelles ou « textmining ». On présente aussi des exemples d’application de certaines techniques du datamining sur les données issues des médias sociaux.
L’extraction de connaissances à partir des bases de données ou KDD ( Knowledge Discovery in Databases ) fait référence à un processus multidisciplinaire qui englobe, entre autres, les bases de données, l’apprentissage automatique, la reconnaissance des formes, les statistiques, et la visualisation des données. L’étape de fouille de données ou datamining intervient comme une étape principale dans ce processus (figure 1.1).
Figure 1.1: Le processus d’extraction de connaissances
Données Ciblées
Données
.... ...... ... ........ ...... ...... Données Prétraitées
Données Transformée s
Modèles
Connaissance
Prétraitement
Sélection
Transformation
Datamining
Interprétation
Introduction au Datamining
Il s'agit d’une "exploration ou fouille" visant à découvrir "de l'information cachée" que les données renferment et que l'on découvre à la recherche d'associations, de règles de classification et d’autres types de connaissances qui serviront à l’aide à la décision. Le datamining peut accomplir différentes tâches avec différents outils. C’est en résumé un processus itératif et interactif qui permet de découvrir de nouvelles connaissances, valides, utiles et compréhensibles, à partir de grandes masses de données.
Les données sont d’abord préparées (discrétisation, traitement des valeurs manquantes, ...etc.). Le datamining intervient donc au niveau des données transformées et permet de produire des modèles (arbres de décision, clusters, réseau de neurone, .. etc.). Le schéma classique de ce processus est illustré dans la figure (Figure 1.1).
Les données dans leur état brut peuvent contenir plusieurs anomalies ou avoir un format ou volume qui ne sont pas adéquats à l’objectif visé. Une phase de prétraitement et transformation est généralement nécessaire afin de préparer les données à la tâche du datamining. On cite comme exemples :
Structurer les données
Le format usuel de données traitées par le datamining est celui «Attributs- valeurs», on parle alors de « données structurées ». Beaucoup de données nécessitent une phase de «structuration» afin de les préparer aux algorithmes du datamining, on cite comme exemple les données textuelles (Comment transformer la collection de textes en tableau de valeurs, sans perte d’informations ?!).
Traitement des valeurs manquantes
Les décisions dans de tels cas peut être par exemple : Supprimer les instances concernées ou bien remplacer la valeur manquante par celle la plus commune, ou bien tout simplement les ignorer.
Discrétisation
Dans certains cas, il n’est pas nécessaire de considérer les valeurs réelles exactes, comme par exemple « les mesures de températures » mais seulement des intervalles (faible, normal, élevé).
Introduction au Datamining
Les techniques du datamining peuvent être appliquées sur les médias sociaux afin d’extraire une connaissance utile. Les approches les plus répandues seront décrites dans le chapitre 2.
Un ensemble de données sont offerts par certains organismes afin de tester et valider les méthodes proposées dans le media social mining. On cite comme exemples :
http://socialcomputing.asu.edu http://snap.Stanford.edu https://github.com/caesar0301/awesome-public-datasets https://aminer.org/data
Certains médias sociaux offrent aussi la possibilité de collecter un sous ensemble restreint de leurs données via les APIs. On cite comme exemple :
https://dev.twitter.com/docs/api https://www.flickr.com/services/api/ https://developers.facebook.com/
Les tâches du datamining peuvent être adaptées à la nature des données issues des médias sociaux, on cite comme exemple :
La Classification
− Prédire si une personne est influente ou non dans twitter
− Classification des tweets en plusieurs classes prédéfinies: évènement, Opinion, message privé, ….
− Classification des « Trends Topics TT » en plusieurs catégories (art, politique, sport,….) (TT: Les dix sujets tendances du moment sur Twitter (affichés à gauche))
− Analyse des sentiments: Déterminer si un texte a été écrit pour exprimer une opinion positive/ négative/ neutre
Introduction au Datamining
Classification collective
Les méthodes de classification traditionnelle ignorent les corrélations entre les instances (attributs locaux) La classe (label) d’un nœud n’est généralement pas indépendante des caractéristiques de ses voisins. La classification collective prend en considération ces corrélations.
Détection de communautés
Une communauté est ensemble de nœuds plus fortement liés entre eux qu’avec les autres. Connaissant les communautés d’utilisateurs, il est par exemple possible de leur recommander des éléments d’information susceptibles de les intéresser (Marketing).
Systèmes de Recommandation
L’idée est de présenter à un client une liste personnalisée de suggestions, selon son profil, ses préoccupations et ses attentes
Le texte est un type de données non structurées très présent dans la majorité des applications. Certaines études estiment que seulement 20% du contenu du web est structuré. Le textmining consiste à extraire une connaissance à partir des données textuelles. Les textes présents dans les médias sociaux peuvent cacher une connaissance qui pourrait être utile dans la prise de décision, comme par exemple l’analyse des sentiments et des opinions.
La majorité des outils du datamining peuvent être appliqués sur le texte afin d’effectuer différentes tâches, on cite comme exemple
Classification de texte : prédiction automatique du sujet d’un texte (exp. détection de spams, ..) Partitionnement de documents en groupes homogènes Résumé automatique Identification des tendances : Analyser l’évolution de la popularité des thèmes dans les réseaux sociaux, identifier les sujets émergents (topic detection). Analyse des relations entre les termes (co-ocurrence) Nuage des mots (Word clouds) Analyse des sentiments
Introduction au Datamining
4.2.3 Traitement linguistique
Ce prétraitement dépend de la nature du langage traité. On cite comme exemple:
Filtrage : On supprime les mots qui n’apportent pas beaucoup d’informations, comme les articles, les conjonctions, les prépositions.
Stemming : On supprime le suffixe d’un mot jusqu’ à obtenir une racine. Cette racine est appelée stem. Par exemple les mots continu, continua, continuait, continuant sont tous ramenés au stem continu.
Afin d’améliorer l’information disponible sur les mots, une analyse du langage naturelle peut être appliquée dans certaines applications de fouille de texte, comme par exemple :
Le modèle vectoriel consiste à associer à chaque terme du texte une valeur fondée sur le nombre d’occurrence. Le corpus (collection de textes) est généralement représenté sous forme de matrice , avec : le nombre de termes, : le nombre d’entités textuelles (documents, tweets, messages,...). désigne le poids du terme dans l’entité textuelle. Plusieurs codage sont utilisés pour mesurer le poids, on présente les plus répandus : TF et IDF
4.3.1 Codage par occurrence des mots (TF : Term Frequency)
Le poids est mesuré par le nombre de fréquence du terme dans le document :
4.3.2 Codage TFIDF (Term Frequency Inverse Document Frequency)
TFIDF évalue l’importance d’un mot pour un document relativement à une collection de documents (corpus). Pour un document , un terme qui est
présent dans presque tous les autres documents du corpus n’a pas un pouvoir discriminant pour qu’il soit considéré comme «pertinent» pour Si c’est le cas,
son poids doit être faible.
Introduction au Datamining
La mesure TFIDF tente d’atténuer l’effet des termes qui surviennent trop souvent dans la collection. Pour cela, on réduit le poids des mots qui sont très
fréquents dans la collection grâce à la valeur qui se calcule comme suit :
La valeur d’un terme rare est élevée, tandis que l’ d’un mot plus fréquent dans le corpus est faible. Plus le terme est rare, plus la valeur IDF est élevé. La fonction logarithme est utilisée afin d’amortir la valeur associée à un terme. Le poids est le produit de et :
( ) ( )
Expliquer les différences principales entre le datamining et les requêtes classiques appliquées sur les bases de données relationnelles (SQL par exemple).
Proposer et décrire brièvement une solution issue du «datamining» aux situations suivantes : a) Les responsables d’un supermarché veulent présenter certains produits en « promotion » afin de développer leurs ventes. Ils veulent aussi éviter de faire la promotion sur un groupe de produits qui sont souvent achetés ensemble. b) L’objectif est de minimiser le nombre de clients qui changent d’opérateurs dans une entreprise de téléphonie. On dispose d’un historique sur un ensemble de clients (Frais mensuels, Nombre d’appels échoués, nombre de plaintes, ....) c) On voudrait personnaliser la stratégie de marketing en fonction de certaines caractéristiques de la clientèle. Au lieu d’envoyer les mêmes messages à tous les clients, on voudrait cibler chaque type de clientèle par une stratégie différente parmi cinq (5) étudiées. d) On dispose d’une base d’images. L’objectif est de trouver des images semblables à une image requête.
On voudrait «fouiller» des données issues du média social Facebook. L’objectif est de découvrir la classe de la personne «infulente ou non». On
- C Chhaappiittrree Les Méthodes du Datamining
Le datamining ou «fouille de données» couvre l’ensemble des outils et méthodes qui permettent d’extraire des informations «significatives» depuis de grandes quantités de données. C’est un domaine interdisciplinaire qui utilise des techniques d’apprentissage automatique, de la reconnaissance des formes, des statistiques, des bases de données et de la visualisation. Ce chapitre présente les méthodes les plus utilisées dans les différentes tâches du datamining : règles d’association, classification et segmentation.
La technique d’extraction des itemsets fréquents ou règles d’association est un des outils les plus répandus en datamining. Elle permet la découverte de règles intelligibles et exploitables dans un ensemble de données volumineux, règles exprimant des corrélations (associations) entre items ou attributs dans une base de donnée transactionnelle ou relationnelle. C’est un sujet de recherche attractif et très actif vu son large champ d’application à divers domaines tels que : le marketing, aide au diagnostic médical, télécommunication, analyse de données spatiales, .. etc. Dans la suite, nous présentons deux algorithmes de référence dans ce domaine: Apriori et FP-Growth.
De nombreuses notations et définitions sont nécessaires pour décrire l’approche d’extraction des motifs fréquents :
Base de données transactionnelle : un ensemble tel que est une transaction.
Item (motif) : Correspond à une valeur d’un attribut dans la base , Soit un ensemble fini d’items.
Itemset : un itemset est un ensemble d’items tel que.
K-itemset : est un itemset de taille ou itemset avec items.
Support d’un itemset : Le support d’un itemset noté est la proportion de transactions de contenant : où est le nombre des transactions dans qui contiennent l’itemset.
Les Méthodes du Datamining
Puisque le nombre d’itemsets fréquent peut être très grand, il est important dans certains cas d’extraire un sous ensemble représentatif (figure 2.1):
Itemset fréquent maximal
Un itemset fréquent est dit maximal si aucun de ses sur-ensemble immédiat n’est fréquent. Etant donné un itemset fréquent X, si en ajoutant n'importe quel autre item Y à X, l'itemset XY devient non fréquent, alors X est dit maximal). Formellement :
X maximale Y: X Y et supp(Y) minSupp
Les itemsets fréquents maximaux réduisent la taille des résultats mais ne fournissent pas le support des sous-ensembles, support qui est nécessaire pour la génération des règles associatives. C’est le cas des algorithmes Maxminer et MAFIA.
Itemset fermé fréquent
Un itemset fréquent est dit fermé si aucun de ses sur-ensemble immédiats n’a un support identique. Formellement:
X fermé Y: X Y et supp(Y) = supp()X
Les itemsets fermés permettent de réduire le nombre des itemsets générés avec la possibilité de reconstruire l’ensemble de tous les itemsets fréquents ainsi que leurs fréquences. On cite comme exemple l’algorithme FP-Close.
Figure 2.1 Représentation compacte des motifs frequents
Les Méthodes du Datamining
Agrawal et Sharfer ont proposé le premier algorithme d’extraction des règles d’association dans les bases de données transactionnelles: l’algorithme Apriori. Cet algorithme fonctionne en deux phases :
2.3.1 Déterminer les itemsets fréquents
La première phase repose sur une approche dite «Générer et Tester», c.-à-d. on génère les itemsets candidats puis on teste s’ils sont fréquents.
Algorithme Apriori Entrée : une base de données transactionnelle ou relationnelle, minSup Sortie : Les itemsets fréquents Générer les 1-itemsets fréquents ; Répéter Générer les (k+1)-itemsets candidats à partir des (k)-itemsets fréquents ; Elaguer les candidats contenant des sous ensembles non fréquents de taille k ; Calculer le support de chaque candidat en lisant la base ; Eliminer les candidats non fréquents ; jusqu’à n’avoir aucun nouveau itemset fréquent Algorithme 2.1: Algorithme de principe Apriori
Apriori souffre d’une complexité exponentielle due aux parcours répétés de la base de données, lors de la première phase. Elle est de l’ordre de avec ,. A titre d’exemple, Pour découvrir un motif fréquent de taille , on génère presque candidats. En plus, des scans répétitifs de la base sont nécessaires pour compter les supports et décider si le motif candidat est fréquent ou non.
Afin de réduire le nombre de candidats, Apriori utilise une technique d’élagage basée sur la propriété de non-monotonie du support. Cette propriété s’exprime comme suit :
Tous les sous ensembles d’un itemset fréquent sont fréquents Tous les sur-ensembles d’un itemset non fréquent sont non fréquents
Les Méthodes du Datamining
Algorithme Extraxtion des règles d’association Entrée : Les itemset fréquents, minSup, minConf Sortie : Les règles d’association Pour Chaque itemset fréquent f , générer tous les sous ensembles non vides de f Fin Pour Chaque sous ensemble non vide s de f, Si (support(f) / support(s) >= minConf)
Algorithme 2.2: Extraction des règles d’association
Figure 2.2: Exemple de dérivation des règles d’association à partir de l’ itemset fréquent A, B, C
Afin d’éviter les parcours répétés de la base de données, Han et al ont proposé une méthode différente des approches par niveaux permettant d’extraire des itemsets fréquent sans génération de candidats. Cette méthode s’appelle Fp- Growth (Frequent Pattern Growth).
2.4.1 Construction de la structure FP-tree
Fp-Growth consiste d’abord à compresser la base de données en une structure compacte appelée FP-tree (frequent pattern tree), puis à diviser la base de données ainsi compressée en sous projection de la base de données appelées bases conditionnelles. Chacune de ces projections est associée à un item fréquent. L’extraction des itemsets fréquents se fera sur chacune des projections séparément. Ce processus est réalisé donc en deux étapes :
Représenter la base de données dans une structure compacte «FP-tree» après deux scans seulement.
Extraire les itemsets fréquents en accédant à l’arbre FP-tree.
Générer les sous ensembles non vides
Les Méthodes du Datamining
FP-tree est une structure arborescente constituée d’un arbre et d’un index ou table de liens (Figure 2. 3):
Arbre : mise à part la racine null, chaque nœud de l’arbre contient trois informations : l’item que représente ce nœud « itemName » , sa fréquence « itemCount », ainsi que le nœud suivant dans l’arbre.
Index : contient la liste des items fréquents. A chaque item est associé un pointeur indiquant le premier nœud de l’arbre contenant cet item.
Figure 2.3: Exemple d’une structure FP-tree
La construction de FP-tree nécessite deux parcours de (Algorithme 2.3). Le premier parcours permet de générer les items fréquents de taille 1 qui seront triés par ordre décroissant des supports dans la structure F-list (Figure 2.2). Un second parcours de est ensuite effectué, où chaque transaction est triée selon l’ordre des items dans F-list, i.e. par support décroissant des items.
Le nœud racine de l’arbre null est d’abord créé. Durant ce même parcours, une branche sera créée pour chaque transaction, mais des transactions ayant un même préfixe partageront le même début d’une branche de l’arbre. Ainsi, deux transactions identiques seront représentées par une seule et même branche. La raison pour laquelle les items sont traités du plus fréquent au moins fréquent est que les items fréquents seront proches de la racine et seront mieux partagés par les transactions. Ceci fait du FP-tree une bonne structure compacte pour représenter les bases transactionnelles. Néanmoins, cela ne garantit pas que tout le FP-tree tienne en mémoire centrale.
TID Items T100 I1, I2, I T200 I2, I T300 I2, I T400 I1, I2, I T500 I1, I T600 I2, I T700 I1, I T800 I1, I2 ,I3, I T900 I1, I2, I
F-list = {I2:7, I1:6, I3:6, I4:2, I5:2}
Item I Freq (I) lien I2 7 I1 6 I3 6 I4 2 I5 2 Index