Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
La fouille des flux d'informations
Yves Lechevallier, Alzennyr Da Silva, Fabrice Rossi INRIA-AxIS, France Francisco De Carvalho CIn-UFPE, Brésil Rosanna Verde, Antonio Balzanella SUN,Italie Bonjour, je voudrais vous présenter les résultats d’une étude réalisé à l’INRIA et dont le but est d’analyser les classifications non supervisées des données d’usage du Web en tant que données évolutives.
2
Plan Introduction/ Flux d’information Fouille de flux de données
Classification de flux évolutifs Extraction des données d’usage/ Web Mining Classification de données évolutives Détermination du nombre de classes Conclusions Concernant les données d’usage du Web, nous avons ici… AAFD 2010
3
Introduction / Flux d’informations
Aujourd'hui, dans de nombreux domaines, d’énormes quantités de données sont recueillies du fait de la rapide croissance des moyens d'acquisition de ces données. Par exemple: Les opérations financières, les données du Web, les consommations d'électricité, les données des capteurs à distance Les méthodes d’analyse des flux d’informations doivent résoudre les deux contraintes suivantes : l'ensemble des données ne peut pas être stocké; les résultats des analyses doivent être rapidement disponibles. AAFD 2010
4
Définition d’un flux d’informations
Un flux d’information est un échantillon de taille infinie d’unités de collecte zm=(tm,(xm,ym)) où tm est l’instant de unité de collecte xm est l’unité statistique ou l’étiquette de cette unité statistique ym est le vecteur de description de cette unité de collecte xm est l’élément d’une population. On peut dire aussi que xm est un individu. AAFD 2010
5
Flux d’informations A partir de ce flux d’informations si la population est finie on peut construire un échantillon Y(xm) sur chaque unité statistique xm de cette population. Y(xm)=((tm1,(xm1,ym1)), …, (tmi,(xmi,ymi)), ..) avec xml=xm et l=1,…,i,… Y(xm) est un flux de données si l’ensemble des unités de collecte associées à cette unité statistique est un échantillon de taille infinie, sinon c’est une série temporelle. AAFD 2010
6
Plan Introduction/ Flux d’information Fouille de flux de données
Classification de flux évolutifs Extraction des données d’usage/ Web Mining Classification de données évolutives Détermination du nombre de classes Conclusions Concernant les données d’usage du Web, nous avons ici… AAFD 2010
7
Flux de données Flux de données univarié Flux de données multivariés
Un flux est un ensemble d’observations dont les valeurs réelles sont ordonnées par une grille temporelle discrète. Flux de données univarié Flux de données multivariés Multiples flux de données univariés AAFD 2010
8
Flux de données / Série temporelle
L’échantillonnage de ce flux de données permet de modéliser ce flux par une série temporelle. Par exemple l’échantillonnage de Vitter permet de maintenir un échantillon de taille N sur ce flux de données. L’approche de Babcock permet de maintenir un échantillonnage intégrant une fonction d’oubli. AAFD 2010
9
Flux de données / fenêtre
Découpage du flux en fenêtres disjointes { AAFD 2010
10
Fouille dans un flux de données
L’objectif est d’extraire des connaissances à partir d’un flux de données, temporellement ordonné, et en évolution rapide; AAFD 2010
11
Fouille dans un flux de données
Contraintes des flux sur les méthodes de fouille de donnés Temps réduit pour le traitement de nouvelles observations Utilisation de peu de mémoire Un seul passage des données Les connaissances sur ce flux doivent être disponible en permanence et/ou sur demande. AAFD 2010
12
Analyse d’un ensemble de flux de données
Soit un ensemble de n flux de données où est un flux de données où les valeurs sont ordonnées par une discrète grille AAFD 2010
13
Plan Introduction/ Flux d’information Fouille de flux de données
Classification de flux évolutifs Extraction des données d’usage/ Web Mining Classification de données évolutives Détermination du nombre de classes Conclusions Concernant les données d’usage du Web, nous avons ici… AAFD 2010
14
Classification d’un ensemble de flux de données
Trouver un ensemble de classes de flux de données homogènes formant une partition P=(C1,..,CK). Chaque flux est affecté à une classe Ck L’objectif est de maximiser l'homogénéité au sein de chaque classe et l'hétérogénéité entre ces classes. AAFD 2010
15
Classification de flux évolutifs
Cette classification doit contenir des résumés des données permettre de découvrir la structure de regroupement au cours du temps détecter les changements dans les proximités entre les flux au cours du temps être capable de faire face à l'évolution des flux de données. AAFD 2010
16
Stratégie La stratégie de classification se décompose en trois étapes:
On-line: classification locale réalisée sur les fenêtres disjointes Mise à jour de la matrice d’adjacence Off-line – à la demande des utilisateurs Mise à jour de la partition en k classes de l’ensemble des flux de données . AAFD 2010
17
Classification locale
Sur chaque fenêtre la méthode des Nuées Dynamique est appliquée et fourni les résultats suivants: - une partition locale des flux - un ensemble local des prototypes (résumés des flux dans cette fenêtre) Partition locale Prototypes 1 2 3 4 5 6 7 8 9 C1 C2 C3 AAFD 2010
18
Mise à jour de la matrice A d’adjacence
Pour chaque classe locale de la fenêtre courante: Sélectionner les paires (Yi,Yj) de flux classés dans la même classe locale. Pour chaque paire (Yi,Yj) ajouter la valeur 1 à A(i,j) et à A(j,i) de A. Δt1 Δt2 Δt3 Δt4 Δt5 Δt6 1 8 7 5 4 2 6 3 A(2,1)=A(2,1)+1 Y1 Y 2 Y 3 Y 4,… 160 50 5 10 45 55 Y 4 Y 5,… A(1,2)=A(1,2)+1 AAFD 2010
19
Mise à jour du graphe Les nœuds du graphe sont les flux
Les éléments de la matrice d’adjacence représente les nombre d’arêtes liant les deux flux. A = MATRICE D’ADJACENCE Y 1 Y 2 Y 3 Y n 160 50 1 5 10 45 55 Y 4 Y 5 40 GRAPH AAFD 2010
20
La partition globale A partir de cette matrice de proximités il est possible de construire une partition de cet ensemble de flux. Cette partition peut être obtenue par : Une analyse (MDS) à partir de la matrice d’adjacence A Puis faire K-means sur les coordonnées factorielles ou bien Faire K-médoides ou une MDS sur la matrice des proximités AAFD 2010
21
Analyse multidimensionnelle
MDS génère une représentation d’un ensemble de points dans un espace de dimension plus réduite Sachant que la matrice d’adjacence A représente une similarité entre deux flux. Il est facile de transformer cette similarité en distance par: D(i,l) = MAX(A) - A(i,l) AAFD 2010
22
K-means sur l’ensemble des projections des points dans cet espace réduit
K-means donne une partition à partir de ces facteurs. AAFD 2010
23
{ Fournir des résultats au cours du temps
La stratégie de classification proposée est également en mesure de fournir la structure de classification sur des intervalles de temps spécifiés par l’utilisateur. Requête de classification { w90 w91 w92 w93 w94 w95 w96 w97 w98 w99
24
Fournir des résultats au cours du temps
La matrice d’adjacence A est stockée pour chaque fenêtre A3 A1 Fournir la classification dans l’intervalle de temps [32t ; 4t] Il faut calculer la matrice A(3,1) entre les matrices A1 et A3 par L’étape de classification off-line est appliquée sur cette matrice A(3,1)=A3-A1
25
Classification On line sur deux ensembles de données
Exemples Classification On line sur deux ensembles de données Données sur la fourniture d’électricité Données financières 76 séries chronologiques de Yahoo Finance, qui représentent le prix quotidien de clôture des actions ordinaires . 179 séries chronologiques qui représentent la fourniture en électricité à plusieurs endroits en Australie.
26
Validation interne Impact du nombre de classes locales sur deux indices de validation interne: Le nombre de classes dans les partitions locales n'a aucune influence sur les résultas de la classification finale en fonction des valeurs des deux indices (DB et CH)
27
Plan Introduction/ Flux d’information Fouille de flux de données
Classification de flux évolutifs Extraction des données d’usage/ Web Mining Classification de données évolutives Détermination du nombre de classes Conclusions Concernant les données d’usage du Web, nous avons ici… AAFD 2010
28
Flux d’informations L’ensemble Y(xm) des unités de collecte associées à chaque unité statistique xm est fini. Les unités statistiques sont issues d’une population de taille infinie. Y(xm)=((tm1,(xm1,ym1)), …, (tmN,(xmN,ymN)) avec xml=xm et l=1,…,i,…N AAFD 2010
29
Quelques mots sur le Web Mining
Se décline en trois domaines d’application : Web Content Mining (contenu des documents) Web Structure Mining (structure des documents) Web Usage Mining (comportement des utilisateurs) Motivations pour le Web Usage Mining : Cache « intelligent » Personnalisation des pages Reconception du site « Comprendre » l’internaute AAFD 2010
30
Motivation La plupart des méthodes du WUM (Web Usage Mining) prennent en compte toute la période qui enregistre les traces d’usage : les résultats obtenus sont ceux qui prédominent sur la totalité de la période Inconvénients : certains types de comportements peuvent être ignorés par les méthodes classiques Ces considérations ont donc motivé la réalisation de ce travail, une fois que les méthodes traditionnelles dans le cadre du WUM utilisent dans leur analyse toute la période qui enregistre les traces d’usage. Par conséquence, les résultats obtenus sont ceux qui prédominent sur toute la période. Comme inconvénient nous avons que certains comportements qui peuvent avoir lieu pendant de courtes sous-périodes ne sont pas pris en compte par ces méthodes. AAFD 2010
31
Objectif Réaliser une analyse portant sur des sous-périodes significatives de temps : identifier le changement de comportement des utilisateurs étudier l’évolution temporelle des profils de ces utilisateurs Utilisation des résumés pour représenter les profils Ceci dit, notre proposition consiste donc à effectuer une analyse portant sur des sous-périodes plus significatives de temps. Le but est d’ identifier les possibles changements d’intérêt des utilisateurs sur ces sous-périodes et d’étudier l’évolution temporelle des profils de ces utilisateurs au cours du temps. Le volume des données étant élevé, il est important d’utiliser des résumés pour représenter les profils des utilisateurs. AAFD 2010
32
Formatage des données d’usage
Le clic est l’unité de collecte [remotehost] [name] [login] [date] [url] [status] [size] [referrer] [agent] remotehost adresse électronique de l’utilisateur; cette adresse correspondant souvent au nom de domaine d’un serveur si l’utilisateur est connecté à internet via un fournisseur d’accès ou une entreprise name/login supposent que l’utilisateur se soit lui-même identifié date date et heure précises de réception de la requête URL adresse de la page visitée sur le site ( status code retour qui indique si l’action s’est bien déroulée size indique la taille du fichier retourné referrer signale l’adresse de laquelle a effectué la requête, la page de provenance agent le navigateur et le type de système d’exploitation de l’utilisateur Ici nous avons le format standard proposé par W3C pour le formatage de fichiers log sauvegardés par les serveurs Web. Chaque ligne du fichier log décrit une requête reçue par le serveur Web et est représentée par un ensemble de 9 champs. De gauche à droite, nous avons …. AAFD 2010
33
Prétraitement de données
Structuration et transformation des données (clic, session, navigation, url, etc.) Stockage de ces informations dans un entrepôt de données Pour le prétraitement de données, la méthodologie proposé par Doru Tanasa a été appliquée. L’important a retenir est que nous avons ici le concept de Navigation. Une navigation représente une suite de requêtes provenant d’un même utilisateur et séparées au plus de 30 minutes. Tanasa & Trousse (Advanced Data Preprocessing for Intersites Web Usage Mining, IEEE Intelligent Systems, vol. 19, n° 2, pp , April 2004) Tanasa’s Thesis (2005) AAFD 2010
34
Plan Introduction/ Flux d’information Fouille de flux de données
Classification de flux évolutifs Extraction des données d’usage/ Web Mining Classification de données évolutives Détermination du nombre de classes Conclusions Concernant les données d’usage du Web, nous avons ici… AAFD 2010
35
Dans le cadre des flux de données
Classification globale Notre proposition Classification locale temps (P1, P2, …, Pk) L’évolution des classes sera détectée en comparant la classification globale avec la classification locale Diviser la période analysée en sous périodes significatives : mois de l’année Le rapport entre notre proposition et les flux de données, est qu’on boucle notre AAFD 2010
36
Algorithme des Nuées dynamiques « k-means batch »
(a) Initialisation Choisir K prototypes L1,...,LK distincts de L (b) Étape d’affectation Pour chaque objet si de E calculer l’indice l de la classe d’affectation qui vérifie (c) Étape de représentation Pour chaque classe k rechercher le prototype Lk de L qui minimise L’Algorithme des Nuées dynamiques est constitué par trois étapes. Dans l’étape d’initialisation on doit choisi aléatoirement un prototype pour chacune des k classes. Dans l’étape d’affectation, chaque objet est associé au prototype le plus proche, selon la fonction de distance adoptée. Et finalement, dans l’étape de représentation, les prototypes de chaque classe sont mis a jour a partir de la minimisation du critère d’adéquation w(), le prototype peut être soit le centre de gravité de la classe, soit son individu le plus représentatif. Les pas (b) et (c) sont répétés jusqu’à la convergence de l’algorithme. Le critère d’adéquation w() décroît à chaque itération. Répéter (b) et (c) jusqu’à la convergence AAFD 2010
37
Algorithme k-means On suppose que nous avons un échantillon de taille infinie. A la réalisation xt nous ne disposons que de l'information connue sur l’échantillon de taille t . Initialisation Prendre K points de Une étape t de calcul On associe à la réalisation xt la classe k dont le représentant le plus proche Ici nous avons la description de l’algorithme originel du type k-means, qui a des points en commun avec l’algorithme du type nuées dynamiques. Il a été initialement désigné pour traité des données de taille infinie. On modifie le représentant de la classe k par avec nk est le nombre de réalisations déjà mises dans la classe k. condition d’arrêt il faut AAFD 2010
38
Classification par sous-périodes de temps
Paramètres de l’algorithme: Nombre de classes Nombre maximum d’essais Classifications non supervisées proposées: Classification globale (CG) Classification locale précédente (CGL1) Classification locale dépendante (CGL2) Classification locale indépendante (CLI) Comme paramètres de l’algorithme, nous avons fixé le nombre de classes égal à 10, et le nombre initialisations aléatoires ainsi que le nombre d’itérations étant égal à 100. Le principe est de réaliser des différents classifications, puis comparer les résultats obtenus. Nous avons proposé 4 types de classifications non supervisées, nommées… Je vais vous les présenter par la suite. AAFD 2010
39
Classification globale (CG)
Une classification traditionnelle que nous appelons « classification globale » qui va prendre en compte toute la période disponible AAFD 2010
40
Classification locale précédente (CGL1)
Une troisième classification, appelée classification « précédente» s’agit simplement de faire l’allocation des individus du mois prochain aux classes trouvés par la classification effectué sur les individus du mois d’avant. AAFD 2010
41
Classification locale dépendante(CGL2)
. . . Neme sous-période 4eme sous-période 1ere sous-période 3eme sous-période 2eme sous-période Voici une représentation graphique de comme se déroule la classification locale dépendante. Nous commençons par appliquer l’algorithme de classification sur la première sous-période de temps (c’est-a-dire, le premier mois). A la fin de l’exécution, nous avons une classification des navigations du mois courant. Puis, nous utilisons les prototypes des classes pour initialiser la classification du mois suivantes. Et ainsi de suite jusqu’à la dernière sous-période de temps. P1, P2, …, P10 AAFD 2010
42
Classification locale dépendante(CGL2)
Voici une représentation graphique de comme se déroule la classification locale dépendante. Nous commençons par appliquer l’algorithme de classification sur la première sous-période de temps (c’est-a-dire, le premier mois). A la fin de l’exécution, nous avons une classification des navigations du mois courant. Puis, nous utilisons les prototypes des classes pour initialiser la classification du mois suivantes. Et ainsi de suite jusqu’à la dernière sous-période de temps. AAFD 2010
43
Classification locale indépendante(CLI)
Une deuxième classification, appelée classification locale indépendante qui réalise des nouvelles classifications à chaque sous-période de temps, c’est-à-dire, à chaque mois, et pour cela elle utilise uniquement des navigations enregistrés pendant le mois en cours. AAFD 2010
44
Comparaison des stratégies de classification
AAFD 2010
45
Analyse d’un site académique
AAFD 2010
46
Analyse des résultats par les prototypes
Pour comprendre l’évolution des classes par sous-périodes, nous avons: réalisé un suivi des prototypes des classes (mois par mois) pour les classifications Locale indépendante (CLI) Locale dépendante (CLG2) projeté ces prototypes dans le plan factoriel obtenu sur la population totale Pour comprendre l’évolution des classes par sous-périodes, nous avons réalisé un suivi des prototypes des classes pour les classifications locales indépendante et dépendante, puis nous avons projeté ces prototypes sur le plan factoriel AAFD 2010
47
Suivi des prototypes des classes
Classification locale indépendante (CLI) Classification locale dépendante (CLG2) Sur cette représentation, chaque disque représente un prototype. Dans la classification dépendante (à droite), les dix classes sont représentées par des couleurs différentes. On note une certaine stabilité malgré la diversité de mois analysés. Dans le cas de la classification indépendante (à gauche), la trajectoire temporelle est simplement matérialisée par les lignes qui joignent un prototype à son plus proche voisin dans la période temporelle précédente. Cela ne donne pas des trajectoires parfaitement identifiées car certains prototypes partagent à un moment donné le même prédécesseur. On note en fait que seules quatre classes sont parfaitement identifiées et stables, les autres subissant des fusions et séparations au cours du temps. AAFD 2010
48
Variance intra-classes (W)
Sur ce graphique, nous avons les valeurs de la variance intra-classe pour les trois classifications à chaque mois analysé. Le trait bleu correspond à la classification globale et est celui que présente les plus grandes valeurs, le trait rouge corresponde à la classification locale dépendant, et le trait noir corresponde à la classification locale indépendant. Comme nous pouvons constater, la classification locale indépendant est celle qui présente les plus petites valeurs de variance, et par conséquence, le plus de cohésion entre les individus de chaque cluster. Variance intra-classes : indépendante (trait noir), dépendante (trait rouge) et globale (trait bleu). AAFD 2010
49
Analyse des résultats par les partitions
Critères d’évaluation (validation interne): Pour une analyse entre deux partitions l’indice de Rand corrigé (Hubert et Arabie (1985)) Pour une analyse classe par classe F-mesure (van Rijsbergen (1979)) Nous avons utilisé deux critères d’évaluation. Pour une analyse entre deux partitions, nous avons calculé ’indice de Rand corrigé. Pour une analyse classe par classe, nous avons utilisé la F-mesure. La F-mesure cherche la meilleure représentation d’une classe A d’une première partition par une classe B dans une seconde partition, ce qui nous donne autant de valeurs numériques qu’il y a de classes dans la première partition. Les deux indices assument des valeurs entre 0 et 1. La valeur 0 correspond à une absence totale de liaison entre les partitions considérées, alors que la valeur 1 indique une liaison parfaite. AAFD 2010
50
Résultats avec l’indice de Rand corrigé
Sur ce transparence nous avons les valeurs de l’indice de Rand pour une comparaison entre deux partitions. Les deux derniers graphiques montrent la comparaison entre les résultats de la classification dépendant versus la classification précédant (gauche) et la classification globale (droite). On voit aussi que la classification “précédente” ne donne pas de résultats très différents de ceux obtenus par la classification dépendante. Notons que toutes les valeurs sont proches de 1, ce qui indique que les classes obtenues par ces deux classifications sont plus ou moins retrouvées. De l’autre coté quand on compare la classification indépendant avec les classifications dépendant (à gauche) et globale (à droite), nous pouvons voir qu’il y a une différence significative entre les résultats obtenus. Nous pouvons par cela confirmer que la classification locale indépendant est capable de identifié des nouvelles classes. AAFD 2010
51
Résultats avec la F-mesure
Ces conclusions sont aussi confirmées par la F-mesure. Juste pour rappeler, la F-mesure cherche pour chaque classe dans une première partition, la classe correspondante dans une deuxième partition, en termes de maximisation de la valeur de la F-mesure. Donc, à la fin, nous aurons autant des valeurs de la F-mesure qu’on a de classes dans la première partition. A partir de ces valeurs on trace une boxplote. Encore une fois, nous avons la confirmation des résultats précédents. Ici, pareil, plus les valeurs sont proches de 1 plus les classes se rassemblent. Ce qui apparaît nettement, c’est que les classes sont très stables dans le temps si on utilise la méthode de classification dépendante. En fait, aucune classe ne descend au dessous de pour la F-measure, ce qui représente de très bonnes valeurs. Par contre, dans le cas de la classification indépendante, on obtient au contraire des classes très différentes de celles obtenues globalement (avec des valeurs faibles de la F-measures, inférieures à 0.5). AAFD 2010
52
Détection et suivi des changements
AAFD 2010
53
Interprétation des changements
AAFD 2010
54
Interprétation des changements
AAFD 2010
55
Stratégie d’évolution du nombre de classes
Appliquer l’algorithme SOM (Kohonen, 1995) avec une grille contenant 200 neurones initialisés par une ACP (Elemento, 1999) Appliquer une CAH avec le critère de Ward sur les prototypes (neurones) obtenus par l’algorithme SOM (Murtagh, 1995) Tracer le graphique des gains d'inertie intra-classe obtenus à chaque itération de l'algorithme CAH Le nombre de classes à retenir sera obtenu par : - L'application des différents indices de détermination du nombre de classes [1-8] - Le coude dans la décroissance des valeurs du gain d'inertie intra-classe, repéré à l'aide des dérivées premières et secondes [D] (Lebart et al., 1995) AAFD 2010
56
Plan Introduction/ Flux d’information Fouille de flux de données
Classification de flux évolutifs Extraction des données d’usage/ Web Mining Classification de données évolutives Détermination du nombre de classes Conclusions Concernant les données d’usage du Web, nous avons ici… AAFD 2010
57
Détermination du nombre de classes
Question largement exploitée dans la littérature (Milligan & Cooper, 1985), (Dubes, 1987) (Halkidi & Vazirgiannis, 2001) "Une classification ne peut pas être vraie ou fausse, ni probable ou improbable, mais seulement profitable ou non profitable" (Williams & Lance, 1965) Découverte du vrai nombre de classes ? - Nombre de clusters acceptable/utile dans un but précis AAFD 2010
58
Les indices utilisés… la pseudo-statistique de Calinski et Harabasz (CH) [ou G1* sur R] l'indice de Baker et Hubert (BH) [ou G2* sur R] l'indice de Hubert et Levin (HL) [ou G3* sur R] l'indice Silhouette (S) l'indice de Davies et Bouldin (DB) l'indice de Krzanowski et Lai (KL) l'indice de Hartigan (H) la statistique Gap (G) stratégie de détermination du nombre de classes basée sur les dérivées première et seconde (D) *Package clusterSim de R : AAFD 2010
59
Expérimentation sur des données artificielles
AAFD 2010
60
Expérimentation sur des données artificielles
Le nombre de classes est donné pour chaque indice et pour chaque fenêtre. Meilleure performance: l'indice de Hartigan la stratégie basée sur des dérivées AAFD 2010
61
Critère de la dérivée avec des données artificielles
Les différences premières et secondes des inerties intra-classes relatives des partitions contenant de 2 à 30 classes : AAFD 2010
62
Expérimentation sur des données réelles
Nombre de classes suggéré par les différents indices pour le jeu de données d'usage du CIn-UFPE : AAFD 2010
63
Résultat obtenu par le critère des dérivées pour la première fenêtre analysée
Les différences premières et secondes des inerties intra-classes relatives des partitions contenant de 2 à 30 classes : AAFD 2010
64
Caractéristiques et avantages de l'approche
1 Stratégie basée sur des fenêtres disjointes 2 Indépendance de la méthode de classification 3 Processus de détection des changements basé sur l'extension 4 Résumé des données au cours du temps 5 Application des algorithmes non incrémentaux dans un processus incrémental 6 Applicabilité dans un processus opérationnel 7 Généricité d'application dans d'autres domaines AAFD 2010
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.