DM Cours
DM Cours
DM Cours
Fondamentale de Lille
O
OPAC
E-G. Talbi
[email protected]
Introduction au Data Mining
Améliorer la productivité
Forte pression due à la concurrence du marché
Brièveté du cycle de vie des produits
Besoin de prendre des décisions stratégiques efficaces
Exploiter le vécu (données historiques) pour prédire le
futur et anticiper le marché
individualisation des consommateurs (dé-massification).
F ile E dit
500
400
300
200
L oc ate V iew
E
D
C
B
A
H elp
Storage
Storage
100 Mount
431 7437 1950
0
1 2 3 4 5 6
Network
7
79% /
Traffic 02 631963
Help 47358
93% /us
Storage
Storage
Storage
Storage Storage
Storage
Storage Storage Storage
Storage
Storage Storage
Internet
Storage
Storage
Collecte, Data
Data
Collecte, Préparation
Nettoyage,
Nettoyage, Data
Préparation Données Mining
Mining
Intégration desdonnées
des données
Intégration d’apprentissage
Warehouse
Vérification&&
Vérification Modèles,
Sources de Evaluation
Evaluation Patterns
données
Démarche méthodologique (1)
Comprendre l’application
Connaissances a priori, objectifs, etc.
Sélectionner un échantillon de données
Choisir une méthode d’échantillonnage
Nettoyage et transformation des données
Supprimer le «bruit» : données superflues, marginales,
données manquantes, etc.
Effectuer une sélection d’attributs, réduire la dimension
du problème, etc.
Appliquer les techniques de fouille de données
Choisir le bon algorithme
Démarche méthodologique (2)
Potentiel de support
de décision Utilisateur(s)
Prise
de décisions
Exploration de données
(Statistiques, Requêtes, ...)
Data Warehouses Administrateur de
(OLAP, ...) Bases de données
Sources de données
(Papier, Fichiers, Fournisseurs d’information, SGBD, …)
Objectifs
Bases de données
Visualisation
Etc.
Data Mining et Statistiques
Méthodes de régression :
régression linéaire : Y = aX+ b (a, b : valeurs réelles)
Nombre de
petits commerçants
*
* *
*
*
* * Nombre de grandes
surfaces
Rapide et efficace (valeurs réelles)
Insuffisante pour l ’analyse d’espace multidimentionnel
Découverte de modèles fonctionnels
De manière similaire …
L’analyse de tous les types
d’informations sur les logs
Adaptation de l’interface
utilisateur/service
Paramètres d’un processus KDD
Technique ?
Format, Type ?
Données
Data
Data
Tâche ?
d’apprentissage Mining
Mining
Modèles, Type de
Patterns représentation ?
Les données
Classification
Clustering (Segmentation)
Recherche d’associations
Recherche de séquences
Détection de déviation
Classification
Classes
Groupes d’instances avec des profils particuliers
Apprentissage supervisé : classes connues à l’avance
Exemple
BD commerciale : panier de la ménagère
Articles figurant dans le même ticket de caisse
Ex : achat de riz + vin blanc ==> achat de poisson
Achats bières et couches-culottes (USA, Week-end)
Recherche de séquences
Recherche de séquences
Liaisons entre événements sur une période de temps
Extension des règles d’association
Prise en compte du temps (série temporelle)
Achat Télévision ==> Achat Magnétoscope d’ici 5 ans
Applications : marketing direct (anticipation des
commandes), bioinformatique (séquences d’ADN), bourse
(prédiction des valeurs des actions)
Exemple
BD commerciale (ventes par correspondance)
Commandes de clients
Ex : 60% des consommateurs qui commandent la bière
«Mort subite» commandent de l’aspro juste après
Q Séquences d’AND : ACGTC est suivie par GTCA après un
gap de 9, avec une probabilité de 30%
Détection de déviation
Point isolé
Techniques utilisées
http://www.cs.waikato.ac.nz/ml/weka/
http://www.lifl.fr/~jourdan
WEKA
Exemple de
visualisation après
une classification :
une couleur
représente une
classe
Weka - Explorer
Clustering
Plan
Classification
Règles d’association
Problèmatique du clustering
Applications
Sommaire Similarité et types de données
Méthodes de clustering
Méthodes de partitionnement
Méthodes hiérarchiques
Méthodes par voisinage dense
Application réelle en génomique
Résumé
Problèmatique
Minimiser
Minimiser les
les distances
distances Maximiser
Maximiser les
les distances
distances
intra-cluster
intra-cluster inter-clusters
inter-clusters
Exemples d’applications
La définition de la similarité
entre objets dépend de :
Le type des données
considérées
Le type de similarité
recherchée
Choix de la distance
1. d ( x , y ) ≥ 0
2. d ( x , y ) = 0 iff x = y
3. d ( x , y ) = d ( y , x )
4. d ( x , z ) ≤ d ( x , y ) + d ( y , z )
i=1
n
Distance de Manhattan : d(x, y)= ∑x−y
i=1
i i
q n q
−y
Distance de Minkowski : d(x, y)= ∑
i =1
xi i
Champs discrets :
Object j
Table de contingence 1 0 sum
(dissimilarité)
1 a b a +b
Object i 0 c d c+d
sum a + c b + d p
• 8 attributs, avec
Sexe un attribut symétrique, et
Les attributs restants sont asymétriques
(test VIH, …)
Distance – Données binaires
0 +1
d ( jack , mary ) = = 0.33
2 + 0 +1
1+1
d ( jack , jim ) = = 0.67
1+1+1
1+ 2
d ( jim , mary ) = = 0.75
1+1+ 2
Distance – Données énumératives
d (i, j ) = p − m
p
Distance – Données mixtes
Distances normalisées.
Sommation : d(x,y)=d1(x1,y1) + … + dn(xn,yn)
Données mixtes – Exemple 1
Caractéristiques
Apprentissage non supervisé
(classes inconnues)
Pb : interprétation des
clusters identifiés
Méthodes de clustering - Caractéristiques
Extensibilité
Abilité à traiter différents
types de données
Découverte de clusters de
différents formes
Connaissances requises
(paramètres de l’algorithme)
Abilité à traiter les données
bruitées et isolées.
Algorithme des k-moyennes (K-means)
Centres
initiaux
Illustration (2)
Nouveaux
centres
Illustration (3)
Centres
finaux
Algorithme des k-moyennes : Exemple
A(1,3) B D J
B(2,2) B I J
C(2,3) B D J
D(2,4) D D J
E(4,2) B I K
F(5,2) B I K
G(6,2) B I K
H(7,3) B I K
K-moyennes : Avantages
a
ab
b abcde
c
cde
d
de
e
Arbre de clusters
Résultat : Graphe hiérarchique qui peut être coupé à un
niveau de dissimilarité pour former une partition.
Conceptuellement simple
Dist=15.3
Méthodes basées sur la densité (1)
d* e*=4
Q
S R
Sélection d’attributs
+ Clustering
Objectif :
Localiser un ou plusieurs gènes de
prédisposition pour la maladie
Problème posé
Sélection Classes
d ’attributs Clustering
m attributs
N attributs N>>m
K-moyennes
A B
C
D
E1
Résultats
E1 C E2 B
Classe 1 Classe 2
Conclusion
Bilan
Compréhension et modélisation d ’un
problème complexe
Sélection d ’attributs : sélection de locus
impliqués dans la maladie
Clustering : les ensembles finaux sont
trouvés lorsqu ’il y a peu d ’erreurs dans le
choix des attributs sélectionnés
Clustering – Résumé (1)
Le clustering groupe des objets
en se basant sur leurs
similarités.
Le clustering possède plusieurs
applications.
La mesure de similarité peut
être calculée pour différents
types de données.
La sélection de la mesure de
similarité dépend des données
utilisées et le type de similarité
recherchée.
Clustering – Résumé (2)
Définition
Validation d’une classification
Sommaire (accuracy)
K-NN (plus proches voisins)
Arbres de décision
Réseaux de neurones
Autres méthodes de
classification
Etude de cas réel :
Protéomique
Résumé
Classification
Caractéristiques
Apprentissage supervisé : classes connues à
l’avance
Pb : qualité de la classification (taux d’erreur)
Ex : établir un diagnostic (si erreur !!!)
Classification - Applications
Accord de crédit
Marketing ciblé
Applications
Diagnostic médical
Analyse de l’effet d’un
traitement
Détection de fraudes
fiscales
etc.
Processus à deux étapes
Etape 1 :
Construction du modèle à
processus partir de l’ensemble
à 2 étapes d’apprentissage (training
set)
Etape 2 :
Utilisation du modèle :
tester la précision du
modèle et l’utiliser dans la
classification de nouvelles
données
Construction du modèle
Classification de nouvelles
instances ou instances inconnues
Etape 2
Estimer le taux d’erreur du
modèle
la classe connue d’une instance
test est comparée avec le
résultat du modèle
Taux d’erreur = pourcentage de
tests incorrectement classés
par le modèle
Validation de la Classification
(accuracy)
D1 D2 D3 D4
D1 D2 D3 D4 D1 D2 D3 D4
D1 D2 D3 D4 D1 D2 D3 D4
Classifier
Données
Taux d’erreur
Test
du modèle ?
Classifier
Donnée
inconnue Titulaire ?
Caractéristiques
Apprentissage supervisé
(classes connues)
Méthode des plus proches voisins
Voisinage
5 de la classe
3 de la classe
=
Algorithme kNN : critique
Outlook
No Yes No Yes
Exemple – Jouer au tennis ?
Outlook
Risque - Assurances
Age < 27.5
Tid Age Car Type Class
0 23 Family High
1 17 Sports High CarType ∈ {Sports}
2 43 Sports High
High
3 68 Family Low
4 32 Truck Low
5 20 Family High
High Low
4) Ristourne = Non et
Situation in {Marié} ⇒ Non
Des arbres de décision aux règles
Outlook
Construction de l’arbre
Arbre peut atteindre une taille
élevée
Elaguer l’arbre (Pruning)
Identifier et supprimer les
branches qui représentent du
“bruit” Æ Améliorer le taux
d’erreur
Algorithmes de classification
Construction de l’arbre
Au départ, toutes les instances d’apprentissage
sont à la racine de l’arbre
Sélectionner un attribut et choisir un test de
séparation (split) sur l’attribut, qui sépare le
“mieux” les instances.
La sélection des attributs est basée sur une
heuristique ou une mesure statistique.
Partitionner les instances entre les noeuds fils
suivant la satisfaction des tests logiques
Algorithmes de classification
Deux approches :
Pré-élagage : Arrêter de
façon prématurée la
construction de l’arbre
No Yes No Yes
Arbre de décision obtenu avec
ID3 (Quinlan 86)
Outlook Temperature Humidity Wind PlayTennis
Sunny Hot High Weak ?No
Outlook
No Yes No Yes
Arbre de décision et conjonction
Outlook=Sunny ∧ Wind=Weak
Outlook
Wind No No
Strong Weak
No Yes
Arbre de décision et disjonction
Outlook=Sunny ∨ Wind=Weak
Outlook
No Yes No Yes
Arbre de décision et XOR
Outlook
(Outlook=Sunny ∧ Humidity=Normal)
∨ (Outlook=Overcast)
∨ (Outlook=Rain ∧ Wind=Weak)
Algorithmes pour les arbres de
décision
Algorithme de base
Construction récursive d’un arbre de
manière “diviser-pour-régner” descendante
Attributs considérés énumératifs
Glouton (piégé par les optima locaux)
Table de contingence
statistique χ2 (CHAID)
G-statistic
Bonne sélection et branchement ?
CarType
Low Risk
High Risk
Sports
< 25 Age
Gain d’information
Hypothèses :
• Classe P : jouer_tennis =
“oui”
• Classe N : jouer_tennis =
“non”
• Information nécessaire
pour classer un exemple
donné est :
I ( p, n) = I (9,5) = 0.940
Gain d’information - Exemple
On a 5 4 5
E (outlook ) = I ( 2,3) + I ( 4,0) + I (3,2) = 0.694
14 14 14
Alors Gain (outlook ) = I (9,5) − E (outlook ) = 0.246
Over
Sunny Rain
cast
No Yes No Yes
n1 n
Gini ( S1 , S 2 ) = Gini ( S1 ) + 2 Gini ( S 2 )
n n
pi est la fréquence relative de la classe c dans S
Si S est pur (classe unique), Gini(S) = 0
Gini(S1,S2) = Gini pour une partition de S en deux sous-
ensembles S1 et S2 selon un test donné.
Trouver le branchement (split-point) qui minimise
l’indice Gini
Nécessite seulement les distributions de classes
Indice Gini - Exemple
Fraude
Situation famille Situation famille Pas fraude
Revenu Revenu
No 0 7 1 6 2 5 3 4 3 4 3 4 3 4 4 3 5 2 6 1 7 0
Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420
Méthodes à base d’arbres de
décision
Sensibles au nombre de
classes : performances se
dégradent
X0 w0
X1 w1
∑ f
Sortie y
Xn wn
σ(x)= 1
1+e x
0 1
Réseaux de neurones
Vecteur sortie
Plusieurs
Couches
cachées
Vecteur entrée
Paradigme d’apprentissage
Vecteur sortie
Vecteur entrée
Algorithmes d’apprentissage
Principales étapes
Construction du réseau
Représentation des entrées
Nombre de couches, nombre de noeuds dans chaque
couche
Apprentissage du réseau utilisant les données
disponibles
Elagage du réseau
Interprétation des résultats
Construction du réseau
e(PMC)= 1 ∑
2 x∈S (d(x)−a(x)) 2
wi = wi + ∆wi
∆wi = η (t - o) xi
t=c(x) est la valeur désirée
o est la sortie obtenue
η est le taux d’apprentissage (e.g 0.1)
(w1,w2)
(w1+∆w1,w2 +∆w2)
Elagage du réseau
Apprentissage probabiliste :
calcul explicite de probabilités sur des
hypothèses
Approche pratique pour certains types de
problèmes d’apprentissage
Incrémental :
Chaque instance d’apprentissage peut de façon
incrémentale augmenter/diminuer la
probabilité qu’une hypothèse est correcte
Des connaissances a priori peuvent être
combinées avec les données observées.
Classification bayésienne :
Pourquoi ? (2)
Prédiction Probabiliste :
Prédit des hypothèses multiples, pondérées par
leurs probabilités.
Théorème de Bayes :
P(C|X) = P(X|C)·P(C) / P(X)
P(X) est une constante pour toutes les
classes
P(C) = fréquence relative des
instances de la classe C
C tel que P(C|X) est maximal =
C tel que P(X|C)·P(C) est maximal
Problème : calculer P(X|C) est non
faisable !
Classification bayésienne naive
Estimation de P(xi|C)
P(p) = 9/14
P(n) = 5/14
Outlook
P(sunny | p) = 2/9 P(sunny | n) = 3/5 Humidity
P(overcast | p) = 4/9 P(overcast | n) = 0 P(high | p) = 3/9 P(high | n) = 4/5
P(rain | p) = 3/9 P(rain | n) = 2/5 P(normal | p) = 6/9 P(normal | n) = 1/5
Temperature
P(hot | p) = 2/9 P(hot | n) = 2/5 Windy
P(mild | p) = 4/9 P(mild | n) = 2/5 P(true | p) = 3/9 P(true | n) = 3/5
P(cool | p) = 3/9 P(cool | n) = 1/5 P(false | p) = 6/9 P(false | n) = 2/5
Classification bayésienne –
Exemple (1)
Classification de X :
Une instance inconnue X = <rain, hot, high, false>
P(X|p)·P(p) =
P(rain|p)·P(hot|p)·P(high|p)·P(false|p)·P(p) =
3/9·2/9·3/9·6/9·9/14 = 0.010582
P(X|n)·P(n) =
P(rain|n)·P(hot|n)·P(high|n)·P(false|n)·P(n) =
2/5·2/5·4/5·2/5·5/14 = 0.018286
Instance X est classifiée dans la classe n (ne pas
jouer)
Classification bayésienne –
l’hypothèse d’indépendance
Prédiction de structure de la
protéine
Les protéines
20 Lettres de l’alphabet
Les structures
CH2 CH3 HN N
NH CH
NH2 N +H 2
Hélice α
Feuillet ß parallèle :
tous les segments
ont la même
orientation
Feuillet ß anti-
parallèle
Feuillet ß mixte
Structure secondaire
Hélice α
Feuillet ß parallèle :
tous les segments
ont la même
orientation
Feuillet ß anti-
parallèle
Feuillet ß mixte
Structure secondaire
Beta Hélice
Structure 3D
Permet de comprendre le mode d'action d'une
protéine : activité enzymatique, interaction avec
d'autres protéines (ligands, substrats, récepteur,
épitope, etc.).
Entrée : structure
primaire
Sortie : indication sur … Entrée
la structure
secondaire
Couche cachée
Sortie
http://dot.imgen.bcm.tmc.edu:9331/seq-
search/struc-predict.html
http://jura.ebi.ac.uk:8888/jnet/
http://www.embl-
heidelberg.de/predictprotein/
http://cubic.bioc.columbia.edu/predictprot
ein
Réseaux bayésiens
Algorithmes génétiques
Autres
méthodes
Case-based reasoning
Ensembles flous
Rough set
Analyse discriminante
(Discriminant linéaire de Fisher,
Algorithme Closest Class Mean -
CCM-)
Classification - Résumé
La classification est un
problème largement étudié
Directions de recherche :
classification de données
non relationnels, e.x.,
texte, spatiales et
données multimédia
Classification - Références
Exemple : Panier de la
Sommaire ménagère
Définitions
A-Priori
Algorithmes génétiques
Résumé
Exemple : Analyse du panier
de la ménagère
• Découverte d’associations et de corrélations entre les
articles achetés par les clients en analysant les achats
effectués (panier)
Client 1
Client 3
Client 2
Exemple : Analyse du panier
de la ménagère
• Etant donnée :
• Une base de données de transactions de clients, où chaque
transaction est représentée par un ensemble d’articles -set of items-
(ex., produits)
• Trouver :
• Groupes d’articles (itemset) achetés fréquemment (ensemble)
Exemple : Analyse du panier
de la ménagère
Extraction d’informations sur le comportement
de clients
SI achat de riz + vin blanc ALORS achat de poisson (avec
une grande probabilité)
TID Items
1 Pain, Lait
2 Bière, Couches, Pain, Oeufs {Couches , Lait} ⇒ s ,α Bière
3 Bière, Coca, Couches, Lait
4 Bière, Pain, Couches, Lait
σ (Couches , Lait, Bière ) 2
5 Coca, Pain, Couches, Lait s= = = 0. 4
Nombre total d' instances 5
Règle : X ⇒ s ,α y
σ (Couches, Lait, Bière)
α= = 0.66
σ ( X ∪ y) σ (Couches, Lait) |
Support : s= ( s = P (X, y))
|T |
Confiance : α = σ (X ∪ y) (α = P( y | X))
σ (X) |
Règles d’associations
Support minimum σ :
Elevé ⇒ peu d’itemsets fréquents
⇒ peu de règles valides qui ont été
souvent vérifiées
Réduit ⇒ plusieurs règles valides qui ont été
rarement vérifiées
Confiance minimum γ :
Elevée ⇒ peu de règles, mais toutes “pratiquement”
correctes
Réduite ⇒ plusieurs règles, plusieurs d’entre elles sont
“incertaines”
Valeurs utilisées : σ = 2 - 10 %, γ = 70 - 90 %
Règles d’associations
Produit B 1 2 1 1 0
Produit C 1 1 1 0 0
Produit D 2 1 0 3 1
Produit E 1 0 0 1 2
Illustration / Exemple
Règle d ’association :
Si A alors B (règle 1)
Si A alors D (règle 2)
Si D alors A (règle 3)
Supports :
Support(1)=20% ; Support(2)=Support(3)=40%
Confiances :
Confiance(2) = 50% ; Confiance(3) = 67%
Soient :
n : nombre de transactions dans la BD
m : Nombre d’attributs (items) différents
Complexité
Nombre de règles d’association : Ο(m.2m −1 )
Complexité de calcul : Ο(n.m.2m )
Réduction de la complexité
n de l’ordre du million (parcours de la liste nécessaire)
Taille des tableaux en fonction de m et du nombre d ’articles
présents dans la règle
2 3 4
n n(n-1)/2 n(n-1)(n-2)/6 n(n-1)(n-2)(n-3)/24
100 4950 161 700 3 921 225
10000 5.107 1.7 1011 4.2 1014
Deux étapes
Recherche des k-itemsets fréquents
(support≥MINSUP)
(Pain, Fromage, Vin) = 3-itemset
Principe : Les sous-itemsets d’un k-itemset fréquent
sont obligatoirement fréquents
Exemple
I = {A, B, C, D, E, F}
T = {AB, ABCD, ABD, ABDF, ACDE, BCDF}
MINSUP = 1/2
Calcul de L1 (ensemble des 1-itemsets)
C1 = I = {A,B,C,D,E,F} // C1 : ensemble de 1-itemsets candidats
s(A) = s(B) = 5/6, s(C) = 3/6, s(D) = 5/6, s(E) = 1/6, s(F) = 2/6
L1 = {A, B, C, D}
Calcul de L2 (ensemble des 2-itemsets)
C2 = L1xL1 = {AB,AC, AD, BC, BD, CD}
s(AB) = 4/6, s(AC) = 2/6, s(AD) = 4/6, s(BC) = 2/6, s(BD) = 4/6,
s(CD) = 3/6
L2 = {AB,AD, BD, CD}
Recherche des k-itemsets fréquents (2)
L4 = φ
L1 = {1-itemsets fréquents};
for (k=2; Lk-1≠ φ; k++) do
Ck = apriori_gen(Lk-1);
forall instances t∈T do
Ct = subset(Ck,t);
forall candidats c ∈ Ct do
c.count++;
Lk = { c∈ Ck / c.count ≥ MINSUP }
L = ∪iLi;
La procédure Apriori_gen
Base de
C1 L1
données D
itemset sup.
TID Items itemset sup.
{1} 2
100 134 {1} 2
200 235
Scan D {2} 3
{2} 3
{3} 3
300 1235 {3} 3
{4} 1
400 25 {5} 3
{5} 3
Apriori - Exemple
C2 C2 L2
itemset itemset sup
{1 2} {1 2} 1 itemset sup
{1 3} {1 3} 2 {1 3} 2
{1 5}
Scan D {1 5} 1 {2 3} 2
{2 3} {2 3} 2 {2 5} 3
{2 5} {2 5} 3 {3 5} 2
{3 5} {3 5} 2
Apriori - Exemple
C3 L3
Espace de 12345
recherche
1234 1235 1245 1345 2345
123 124 125 134 135 145 234 235 245 345
12 13 14 15 23 24 25 34 35 45
1 2 3 4 5
Apriori - Exemple
Apriori 12345
au Niveau 1
1234 1235 1245 1345 2345
123 124 125 134 135 145 234 235 245 345
12 13 14 15 23 24 25 34 35 45
1 2 3 4 5
Apriori - Exemple
Apriori 12345
au niveau 2
1234 1235 1245 1345 2345
123 124 125 134 135 145 234 235 245 345
12 13 14 15 23 24 25 34 35 45
1 2 3 4 5
Génération des règles à partir des itemsets
Pseudo-code :
pour chaque itemset fréquent l
générer tous les sous-itemsets non vides s de l
pour chaque sous-itemset non vide s de l
produire la règle "s ⇒ (l-s)" si
support(l)/support(s) ≥ min_conf", où min_conf est la
confiance minimale
a ⇒ bc, b ⇒ ac, c ⇒ ab
ab ⇒ c, ac ⇒ b, bc ⇒ a
Génération des règles à partir des itemsets
Règle 1 à mémoriser :
La génération des itemsets fréquents est une opération
coûteuse
La génération des règles d’association à partir des itemsets
fréquents est rapide
Règle 2 à mémoriser :
Pour la génération des itemsets, le seuil support est utilisé.
Pour la génération des règles d’association, le seuil confiance
est utilisé.
Complexité en pratique ?
A partir d’un exemple réel (petite taille) …
Expériences réalisées sur un serveur Alpha Citum 4/275 avec
512 MB de RAM & Red Hat Linux release 5.0 (kernel 2.0.30)
Exemple de performances
Network
NetworkManagement
ManagementSystem
System Réseau switché
MSC
MSC MSC
MSC MSC
MSC
BSC
BSC BSC
BSC BSC
BSC
Réseau d’accés
BTS
BTS BTS
BTS BTS
BTS
MSC
MSC Mobile station controller
Alarms
Alarms
BSC
BSC Base station controller
Réseau cellulaire
Exemple de performances
Exemple de données 1 :
43 478 alarmes (26.9.94 - 5.10.94; ~ 10 jours)
2 234 différent types d’alarmes, 23 attributs, 5503 différentes
valeurs
Exemple de données 2 :
73 679 alarmes (1.2.95 - 22.3.95; ~ 7 semaines)
287 différent types d’alarmes, 19 attributs, 3411 différentes
valeurs
Exemple de performances
Exemple de règles :
alarm_number=1234, alarm_type=PCM ⇒ alarm_severity=A1 [2%,45%]
Exemple de performances
En pratique :
Pour l’algorithme Apriori basique, le nombre d’attributs est
généralement plus critique que le nombre de transactions
Par exemple :
50 attributs chacun possédant 1-3 valeurs, 100.000 transactions
(not very bad)
50 attributs chacun possédant 10-100 valeurs, 100.000 transactions
(quite bad)
10.000 attributs chacun possédant 5-10 valeurs, 100 transactions
(very bad...)
Notons :
Un attribut peut avoir plusieurs valeurs différentes
Les algorithmes traitent chaque paire attribut-valeur comme un
attribut (2 attributs avec 5 valeurs Æ “10 attributs”
Quelques pistes pour résoudre le problème …
Apriori – Réduction de la complexité
Suppression de transactions :
Une transaction qui ne contient pas de k-itemsets
fréquents est inutile à traiter dans les parcours (scan)
suivants.
Partitionnement :
Tout itemset qui est potentiellement fréquent dans une
BD doit être potentiellement fréquent dans au moins une
des partitions de la BD.
Echantillonage :
Extraction à partir d’un sous-ensemble de données,
décroitre le seuil support
Apriori - Avantages
J. Holland (1975)
Population
Sélection
Principes Génération Parents
suivante Elitisme
Codage des solutions
Opérateurs Mutation
Sélection
Croisement
Croisement (Crossover)
Mutation
Enfants
Situation Age Recommandation
Very_recommand
L’algorithme Génétique
Single Young
Sous-population 1 Sous-population K
C11 P1 Ck1 Pk
... ... ...
C1N P1 CkN Pk
BD
Fitness (Intérêt d’une règle)
C
G ( Rule ) = b . log( ab ) [Wang et al. 98]
N
P C & P
a = ,b =
N C
ω 1 .G ( Rule ) + ω 2.
η pu
F ( Rule ) =
ηt [Freitas 99]
ω1+ω 2
Opérateurs génétiques : Crossover (1)
Mutation d’attribut
Remplacement d’un attribut par un autre (choix aléatoire)
La valeur du nouvel attribut est choisie aléatoirement
Exemple :
P : (Marital_status=married) ∧ (Gender=male)
Enfant : (Age=young) ∧ (Gender=male)
Opérateurs génétiques : Mutation (2)
Exemple :
Parent : (Marital_status=married) ∧ (Gender=male)
Enfant : (Marital_status=single) ∧ (Gender=male)
Opérateurs génétiques : Suppression
Suppression de termes
But : règles plus faciles à comprendre (petites)
Suppression d’un terme choisi aléatoirement avec
une probabilité proportionnelle à sa longueur
Exemple :
P : (Marital_status=married) ∧ (Gender=male) ∧
(Age=young)
E : (Marital_status=married) ∧ (Gender=male)
Application
• BD : Nursery school
Q From http://www.ics.uci.edu/AI/ML/Machine-Learning.html
Q 12960 data instances with 9 attributes
Attribute name Attribute values
1 Parents Usual, pretentious, great_pret
2 Has_nurs Proper, less_proper, improper, critical, very_crit
3 Form Complete, completed, incomplete, foster
4 Children 1, 2, 3, more
5 Housing Convenient, less_conv, critical
6 Finance Convenient, inconv
7 Social Nonprob, slightly_prob, problematic
8 Health Recommended, priority, not_recom
9 Recommendation Recommend, priority, not_recom, very_recom
Publication
N. Melab and E-G. Talbi. A Parallel Genetic Algorithm
for Rule Mining. IEEE Intl. Workshop on Bio-Inspired
Solutions to Parallel Processing Problems (BioSP3), San
Francisco, USA, Apr. 23, 2001.
Evaluation de l’AG
Qualité des règles extraites
Paramètres mesurés :
Validité : facteur de confiance des règles
C&P
FC =
C
Evaluation expérimentale (2)
FC mesurés
Sur les données d’apprentissage (20%) : FCtrain
Sur les données de test (80%) : Fctest
Ensemble de données
Probablement la contribution
la plus significative de la
communauté KDD
Méthodes de recherche de
règles :
A-priori
Algorithmes génétiques
Plusieurs articles ont été
publiés dans ce domaine
Règles d’association – Résumé
Plusieurs issues ont été
explorées : intérêt d’une règle,
optimisation des algorithmes,
parallélisme et distribution, …
Directions de recherche :
Règles d’associations pour
d’autres types de données :
données spatiales,
multimedia, séries
temporelles, …
Règles d’association - Références
Fonctionalités et méthodologies
une vs. plusieurs fonctions de data mining
une vs. plusieurs méthodes par fonction
Couplage avec les systèmes de gestion de base
de données et les entropots de données
Extensibilité (Scalability)
instances (Taille de la base de données)
attributs (dimension de la base)
Extensibilité en terme d’attributs est plus
difficile à assurer que l’extensibilité en terme
d’instances
Techniques implémentées
Arbres de décision
Régression
Réseaux de neurones
Alice (1)
Société : ISoft
Création : 1988
Plate-formes : Windows 95/98/NT/2000,
TSE, Metaframe
Utilisation
Marketing : études de marché, segmentation …
Banque, Assurance : scoring, analyse de risques, détection de
fraudes
Industrie : contrôle qualité, diagnostic, segmentation,
classification, construction de modèles, prédiction et
simulation
Alice (2)
Techniques :
Arbres de décision
Induction de règles
Réseaux de neurones
Méthodes statistiques
Forecast Pro (1)
Société : IBM
Création : 1998
Plate-formes : AIX, OS/390, OS/400,
Solaris, Windows 2000 & NT
Utilisation
Domaines où l’aide à la décision est très
importante (exemple : domaine médical)
Analyse de textes
Fortement couplé avec DB2 (BD relationnel)
Intelligent Miner (2)
Deux versions
Intelligent Miner for Data (IMD)
Intelligent Miner for Text (IMT)
Types d’utilisateurs : spécialistes ou
professionnels expérimentés
Interface graphique
client/serveur
Tool Manager (Client)
DataMover (Server)
Utilisateurs
Managers
Analystes
MineSet (4)
Tâches
Règles d’association
Classification
Présentation de la connaissance
Arbre
Statistiques
Clusters (nuages de points)
Synthèse
Autres techniques de Data Mining
Plusieurs problèmes
ouverts :
Visualisation
Parallélisme et
distribution
Issues de sécurité et
confidentialité
Futur prometteur …
Références bibliographiques (1)
Georges Gardarin
Université de Versailles (laboratoire PRISM)
Internet/intranet et bases de données – Data Web,
Data Warehouse, Data Mining, Ed. Eyrolles
http://torquenada.prism.uvsq.fr/~gardarin/home.html
Rakesh Agrawal (IBM)
IBM Almaden Research Center
http://www.almaden.ibm.com/cs/people/ragrawal/
Mohammed Zaki
Rensselaer Polytechnic Institute, New York
http://www.cs.rpi.edu/~zaki/
Références bibliographiques (2)
Vipin Kumar
Army High Performance Computing Research Center
http://www-users.cs.umn.edu/~kumar
Rémi Gilleron
Découverte de connaissances à partir de données,
polycopié (Université de Lille 3)
http://www.univ-lille3.fr/grappa
The Data Mine
http://www.cs.bham.ac.uk/~anp/TheDataMine.html
Knowledge Discovery Nuggets (Kdnuggets)
www.kdnuggets.com
Références bibliographiques (3)
“Standards”
“Standards”
DM: Conférences : KDD, PKDD, PAKDD, ...
Journaux : Data Mining and Knowledge
Discovery, CACM
DM/DB: Conférences : ACM-SIGMOD/PODS, VLDB, ...
Journaux : ACM-TODS, J. ACM,
IEEE-TKDE, JIIS, ...
AI/ML: Conférences : Machine Learning, AAAI, IJCAI,
...
Journaux : Machine Learning, Artific. Intell.,
...