Upload
galvin-hatfield
View
49
Download
6
Tags:
Embed Size (px)
DESCRIPTION
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. Plan. Introduction/ Flux d’information Fouille de flux de données - PowerPoint PPT Presentation
Citation preview
La fouille des flux d'informationsLa fouille des flux d'informations
Yves Lechevallier, Alzennyr Da Silva, Fabrice RossiYves Lechevallier, Alzennyr Da Silva, Fabrice Rossi
INRIA-AxIS, FranceINRIA-AxIS, France
Francisco De CarvalhoFrancisco De Carvalho
CIn-UFPE, BrésilCIn-UFPE, Brésil
Rosanna Verde, Rosanna Verde, Antonio BalzanellaAntonio Balzanella SUN,ItalieSUN,Italie
AAFD 2010 2
PlanPlan
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
AAFD 2010 3
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.
Par exemple: Les opérations financières, les données du Web, les consommations d'électricité, les données des capteurs à distance
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.
Introduction / Flux d’informationsIntroduction / Flux d’informations
AAFD 2010 4
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.
Définition d’un flux d’informationsDéfinition d’un flux d’informations
AAFD 2010 5
Flux d’informationsFlux 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
PlanPlan
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
AAFD 2010 7
Un flux
Flux de données univarié
Flux de données multivariés
Multiples flux de données univariés
est un ensemble d’observations dont les valeurs réelles sont ordonnées par une
grille temporelle discrète.
Flux de donnéesFlux de données
AAFD 2010 8
Flux de données / Série temporelleFlux 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êtreFlux de données / fenêtre
Découpage du flux en fenêtres disjointes{
AAFD 2010 10
Fouille dans un flux de donnéesFouille 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éesFouille dans un flux de données
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.
Contraintes des flux sur les méthodes de fouille de donnés
AAFD 2010 12
Analyse d’un ensemble de flux de Analyse d’un ensemble de flux de donnéesdonnéesSoit un ensemble de n flux de données
ni YYYS ,...,,..,1 ),(),...,,(),...,,(),,( 2211 tytytytyY jji
tttT j ,...,,...,1
est un flux de données où les valeurs sont ordonnées par une discrète grille
où
AAFD 2010 13
PlanPlan
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
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 évolutifsClassification 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égieStratégie
La stratégie de classification se décompose en trois étapes:
On-line:
Off-line – à la demande des utilisateurs
• classification locale réalisée sur les fenêtres disjointes
• Mise à jour de la matrice d’adjacence
• Mise à jour de la partition en k classes de l’ensemble des flux de données .
AAFD 2010 17
Classification localeClassification localeSur 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)
1
2
3
4
5
6
7
8
9
Partition localePrototypes
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.
Y1 Y 2 Y 3 Y 4,…
Y1 160 50 5 5
Y 2 50 160 10 45
Y 3 5 10 160 55
Y 4 5 45 55 160
Y 5,… 55 5 50 45
Δt1 Δt2 Δt3 Δt4 Δt5 Δt6
1 8 1 7 5 4
2 6 2 8 7 2
6 4 4 6 8 1
4 3 7 1 1 5
5 7 3 2 2 7
3 5 5 3 4 8
7 1 6 5 6 6
8 2 8 4 3 3
A(2,1)=A(2,1)+1
A(1,2)=A(1,2)+1
AAFD 2010 19
Mise à jour du graphe
Y 1 Y 2 Y 3 Y n
Y 1 160 50 1 5
Y 2 50 160 10 45
Y 3 1 10 160 55
Y 4 5 45 55 160
Y 5 55 0 50 45
Y n 45 50 40 10
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. GRAPH
A = MATRICE D’ADJACENCE
AAFD 2010 20
La partition globaleLa 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.
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
w91 w92 w93 w94 w95 w96 w97 w98 w99w90
Fournir des résultats au cours du temps
La matrice d’adjacence A est stockée pour chaque fenêtre
A3A1
A(3,1)=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
Fournir des résultats au cours du temps
Classification On line sur deux ensembles de données
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.
Données financièresDonnées sur la fourniture d’électricité
Exemples
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)
Validation interne
AAFD 2010 27
PlanPlan
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
AAFD 2010 28
Flux d’informationsFlux 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 MiningQuelques 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
MotivationMotivation
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
AAFD 2010 31
ObjectifObjectif
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
AAFD 2010 32
Formatage des données d’usageFormatage des données d’usageLe clic est l’unité de collecte
[remotehost] [name] [login] [date] [url] [status] [size] [remotehost] [name] [login] [date] [url] [status] [size] [referrer] [agent][referrer] [agent]
remotehost 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/loginname/login supposent que l’utilisateur se soit lui-même identifié
datedate date et heure précises de réception de la requête
URLURL adresse de la page visitée sur le site (www.<…>)
statusstatus code retour qui indique si l’action s’est bien déroulée
size size indique la taille du fichier retourné
referrerreferrer signale l’adresse de laquelle a effectué la requête, la page de provenance
agentagent le navigateur et le type de système d’exploitation de l’utilisateur
AAFD 2010 33
Prétraitement de donnéesPrétraitement de données
Tanasa & Trousse (Advanced Data Preprocessing for Intersites Web UsageMining, IEEE Intelligent Systems, vol. 19, n° 2, pp. 56-65, April 2004)Tanasa’s Thesis (2005)
IIS
ECLF
ECLF
Fusion Structuration
Identification des utilisateursIdentification des sessionsIdentification des navigationsIdentification des requêtesIdentification des robots
Sélection des sourcesExtraction des donnéesMarquage source serveurMarquage source fichier
Transformation
Prétraitement classique Prétraitement avancé
Sélection requête non robotConstruction entrepôt
Extension
Données externes aux fichiers logs
IIS
ECLF
ECLF
Fusion Structuration
Identification des utilisateursIdentification des sessionsIdentification des navigationsIdentification des requêtesIdentification des robots
Sélection des sourcesExtraction des donnéesMarquage source serveurMarquage source fichier
Transformation
Prétraitement classique Prétraitement avancé
Sélection requête non robotConstruction entrepôt
Extension
Données externes aux fichiers logs
Structuration et transformation des données (clic, session, navigation, url, etc.)Stockage de ces informations dans un entrepôt de données
AAFD 2010 34
PlanPlan
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
AAFD 2010 35
Dans le cadre des flux de donnéesDans le cadre des flux de données
temps
Not
re
prop
ositi
on
(P1, P2, …, Pk)
Classification locale
L’évolution des classes sera détectée en comparant la classification globale avec la classification localeDiviser la période analysée en sous périodes significatives : mois de l’annéemois de l’année
Classification globale
AAFD 2010 36
(b) Étape d’affectation
Pour chaque objet si de calculer l’indice l de la classe d’affectation qui vérifie
(a) Initialisation
Choisir K prototypes L1,...,LK distincts de
(c) Étape de représentation
Pour chaque classe k rechercher le prototype Lk de qui minimise
),(minarg iK1,...,k kLl x
kCs
sk LLCw ),(),( x
Répéter (b) et (c) jusqu’à la convergence
Algorithme des Nuées dynamiques« k-means batch »
AAFD 2010 37
Algorithme k-means
Initialisation Prendre K points de p ),,( 0100
KLLL
Une étape t de calcul On associe à la réalisation xt la classe
k dont le représentant le plus proche tlt
KlxLk ,minarg
,,1
On modifie le représentant de la classe k par11
k
tktkk
t n
xLnL
avec nk est le nombre de réalisations déjà mises dans la classe k.
tt LL ,1condition d’arrêt il faut
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 .
AAFD 2010 38
Classification par sous-périodes de Classification par sous-périodes de tempstemps
Paramètres de l’algorithme:– Nombre de classes – Nombre maximum d’essais
Classifications non supervisées
proposées:1. Classification globale (CG)
2. Classification locale précédente (CGL1)
3. Classification locale dépendante (CGL2)
4. Classification locale indépendante (CLI)
AAFD 2010 39
Classification globale (CG)Classification globale (CG)
AAFD 2010 40
Classification locale précédente (CGL1)Classification locale précédente (CGL1)
AAFD 2010 41
. . . . . .
22emeeme sous-périodesous-période
11ereere sous- sous-périodepériode
33emeeme sous-périodesous-période
44emeeme sous-périodesous-période
NNemeeme sous-périodesous-période
PP11, P, P22, …, P, …, P1010
Classification locale dépendante(CGL2)Classification locale dépendante(CGL2)
AAFD 2010 42
Classification locale dépendante(CGL2)Classification locale dépendante(CGL2)
AAFD 2010 43
Classification locale indépendante(CLI)Classification locale indépendante(CLI)
AAFD 2010 44
Comparaison des stratégies de classificationComparaison des stratégies de classification
AAFD 2010 45
Analyse d’un site académiqueAnalyse d’un site académique
AAFD 2010 46
Analyse des résultats par les prototypesAnalyse 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
AAFD 2010 47
Suivi des prototypes des classesSuivi des prototypes des classes
Classification locale indépendante (CLI) Classification locale dépendante (CLG2)
AAFD 2010 48
Variance intra-classes (W)Variance intra-classes (W)
Variance intra-classes : indépendante (trait noir), dépendante (trait rouge) et globale (trait bleu).
AAFD 2010 49
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))
Analyse des résultats par les partitionsAnalyse des résultats par les partitions
AAFD 2010 50
Résultats avec l’indice de Rand corrigéRésultats avec l’indice de Rand corrigé
AAFD 2010 51
Résultats avec la Résultats avec la F-mesureF-mesure
AAFD 2010 52
Détection et suivi des Détection et suivi des changementschangements
AAFD 2010 53
Interprétation des changementsInterprétation des changements
AAFD 2010 54
Interprétation des changementsInterprétation des changements
AAFD 2010 55
Stratégie d’évolution du nombre de Stratégie d’évolution du nombre de classesclasses
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
PlanPlan
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
AAFD 2010 57
Détermination du nombre de classesDé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…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 : http://cran.r-project.org/web/packages/clusterSimM
AAFD 2010 59
Expérimentation sur des données Expérimentation sur des données artificiellesartificielles
AAFD 2010 60
Expérimentation sur des données Expérimentation sur des données artificiellesartificiellesLe 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 Critère de la dérivée avec des données artificiellesartificielles
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 Expérimentation sur des données réellesré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 Résultat obtenu par le critère des dérivées pour la première fenêtre analyséepour 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 Caractéristiques et avantages de l'approchel'approche
1 Stratégie basée sur des fenêtres disjointes2 Indépendance de la méthode de classification3 Processus de détection des changements basé
sur l'extension4 Résumé des données au cours du temps5 Application des algorithmes non incrémentaux
dans un processus incrémental6 Applicabilité dans un processus opérationnel7 Généricité d'application dans d'autres domaines