2. Introduction au Data Mining
Introduction au Data Mining
ƒ Définition du Data Mining
ƒ Pourquoi le Data Mining ?
ƒ Description du processus KDD
(Knowledge Data Discovery)
ƒ Applications
ƒ Tâches et Techniques du Data Mining
3. Qu’est-ce que le DM ?
Qu’est-ce que le DM ?
ƒ Processus inductif, itératif et interactif de
découverte dans les BD larges de modèles de
données valides, nouveaux, utiles et
compréhensibles.
ƒ Itératif : nécessite plusieurs passes
ƒ Interactif : l’utilisateur est dans la boucle du
processus
ƒ Valides : valables dans le futur
ƒ Nouveaux : non prévisibles
ƒ Utiles : permettent à l’utilisateur de prendre
des décisions
ƒ Compréhensibles : présentation simple
4. Notion d’induction [Peirce 1903]
ƒ Abduction : diagnostic médical, ...
ƒ Toutes les voitures ont 4 roues
ƒ La Peugeot 206 a 4 roues
ƒ ==> La Peugeot 206 est une voiture
ƒ Déduction : Raisonnement qui conclut à partir de
prémisses et d’hypothèses à la vérité d’une proposition en
usant des règles d’inférence
ƒ Toutes les voitures ont 4 roues
ƒ La Peugeot 206 est une voiture
ƒ ==> La Peugeot 206 a 4 roues
5. Notion d’induction [Peirce 1903]
ƒ Induction : Généralisation d’une observation ou d’un
raisonnement établis à partir de cas singuliers.
ƒ Utilisée en Data mining (tirer une conclusion à partir
d ’une série de faits, pas sûre à 100%)
ƒ La clio a 4 roues, La Peugeot 106 a 4 roues, La BMW M3 a 4
roues, La Mercedes 190 a 4 roues
ƒ ==> Toutes les voitures ont 4 roues
6. Motivations (1)
Motivations (1)
ƒ Explosion des données
ƒ Masse importante de données (millions de milliards
d’instances) : elle double tous les 20 mois.
ƒ BD très larges - Very Large Databases (VLDB)
ƒ Données multi-dimensionnelles (milliers d’attributs)
ƒ BD denses
ƒ Inexploitables par les méthodes d’analyse classiques
ƒ Collecte de masses importantes de données (Gbytes/heure)
ƒ Données satellitaires, génomiques (micro-arrays, …),
simulations scientifiques, etc.
ƒ Besoin de traitement en temps réel de ces données
7. Motivations (2)
Motivations (2)
ƒ 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).
ƒ Croissance en puissance/coût des machines capables
ƒ de supporter de gros volumes de données
ƒ d’exécuter le processus intensif d’exploration
ƒ hétérogénéité des supports de stockage
8. Motivations (3)
Motivations (3)
Mount
431 7437 1950
79% /
02 631963 47358
93% /us
File E dit L ocate V iew H elp
1 2 3 4 5 6 7
0
100
200
300
400
500
E
D
C
B
A
Network
Traffic Help
Internet
Internet
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Storage
Masse importante de données – supports hétérogènes
9. Le processus de découverte de connaissances
Le processus de découverte de connaissances
ƒ Data mining : coeur de KDD
(Knowledge Data Discovery).
Data
Mining
Data
Mining
Collecte,
Nettoyage,
Intégration
Collecte,
Nettoyage,
Intégration
Préparation
des données
Préparation
des données
Données
d’apprentissage
Data
Warehouse
Vérification &
Evaluation
Vérification &
Evaluation
Sources de
données
Modèles,
Patterns
10. Démarche méthodologique (1)
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
11. Démarche méthodologique (2)
Démarche méthodologique (2)
ƒ Visualiser, évaluer et interpréter les modèles
découverts
ƒ Analyser la connaissance (intérêt)
ƒ Vérifier sa validité (sur le reste de la base de données)
ƒ Réitérer le processus si nécessaire
ƒ Gérer la connaissance découverte
ƒ La mettre à la disposition des décideurs
ƒ L’échanger avec d’autres applications (système expert, …)
ƒ etc.
12. Data Mining et aide à la décision
Data Mining et aide à la décision
Potentiel de support
de décision Utilisateur(s)
Décideur(s)
Analyste(s) de données
Administrateur de
Bases de données
Prise
de décisions
Présentation des
connaissances
Techniques de visualisation
Data Mining
Découverte de connaissances
Exploration de données
(OLAP, ...)
(Statistiques, Requêtes, ...)
Data Warehouses
Sources de données
(Papier, Fichiers, Fournisseurs d’information, SGBD, …)
13. Objectifs
Objectifs
ƒ Développer des techniques et systèmes efficaces
et extensibles pour l’exploration de :
ƒ BD larges et multi-dimensionnelles
ƒ Données distribuées
ƒ Faciliter l’utilisation des systèmes de DM
ƒ Limiter l’intervention de l’utilisateur
ƒ Représentation simple de la connaissance
ƒ Visualisation sous forme exploitable
14. Communautés impliquées
Communautés impliquées
ƒ Intelligence artificielle et apprentissage
ƒ Bases de données
ƒ Analyse de données (statistiques)
ƒ Visualisation
ƒ Recherche opérationnelle et optimisation
ƒ Informatique parallèle et distribuée
ƒ Etc.
15. Data Mining et Statistiques
Data Mining et Statistiques
ƒ Data mining : Exploratoire, Data-driven modeling
ƒ Statistiques : Confirmatoire, User-driven modeling
ƒ Distribution d ’une seule variable : moyenne, médiane,
variance, écart-type, …
ƒ Explorer les relation entre variables : coefficient de
corrélation, …
ƒ Découverte de la cause des relations entre de nombreuses
variables est assez complexe.
ƒ test du X2, ...
ƒ Réseaux bayésiens (probabilités conditionnelles)
16. Découverte de modèles fonctionnels
ƒ Méthodes de régression :
ƒ régression linéaire : Y = aX+ b (a, b : valeurs réelles)
ƒ Rapide et efficace (valeurs réelles)
ƒ Insuffisante pour l ’analyse d’espace multidimentionnel
Nombre de
petits commerçants
Nombre de grandes
surfaces
*
*
*
*
*
*
*
17. Découverte de modèles fonctionnels
ƒ Kernel regression : découvrir graphiquement
la fonction à utiliser, peut être une courbe
ƒ Techniques statistiques inadéquates : nombre de
facteurs important, modèles non linéaires.
Nombre de
petits commerçants
*
*
*
*
*
*
*
Nombre de grandes
surfaces
18. Domaines d’application
Domaines d’application
Marketing
BDD
Marketing
Data
Warehousing
KDD &
Data Mining
ƒ
ƒ Prise de décision basée
Prise de décision basée
sur de nouvelles
sur de nouvelles
connaissances
connaissances
ƒ
ƒ Ex., impact sur le
Ex., impact sur le
marketing
marketing
ƒ
ƒ Le rôle et l’importance du
Le rôle et l’importance du
KDD et DM est de plus en
KDD et DM est de plus en
plus important
plus important
ƒ
ƒ Mais le DM n’est pas
Mais le DM n’est pas
seulement dans le
seulement dans le
marketing...
marketing...
19. Domaines d’application
Domaines d’application
ƒ Marketing direct : population à cibler (âge, sexe,
profession, habitation, région, …) pour un
publipostage.
ƒ Gestion et analyse des marchés : Ex. Grande
distribution : profils des consommateurs, modèle
d ’achat, effet des périodes de solde ou de
publicité, « panier de la ménagère »
ƒ Détection de fraudes : Télécommunications, ...
ƒ Gestion de stocks : quand commander un produit,
quelle quantité demander, …
ƒ Analyse financière : maximiser l ’investissement de
portefeuilles d ’actions.
20. Domaines d’application
Domaines d’application
ƒ Gestion et analyse de risque : Assurances, Banques
(crédit accordé ou non)
ƒ Compagnies aériennes
ƒ Bioinformatique et Génome : ADN mining, …
ƒ Médecine et pharmacie :
ƒ Diagnostic : découvrir d ’après les symptomes du
patient sa maladie
ƒ Choix du médicament le plus approprié pour
guérir une maladie donné
ƒ Web mining, text mining, etc.
21. Exemple 1 - Marketing
Exemple 1 - Marketing
ƒ
ƒ Vous êtes gestionnaire
Vous êtes gestionnaire marketing d’un
marketing d’un
opérateur
opérateur de
de télécommunications
télécommunications
mobiles :
mobiles :
ƒ Les clients recoivent un téléphone gratuit
(valeur 150€) avec un contrat d’un an ;
vous payer une commission de vente de
250€ par contrat
ƒ Problème : Taux de renouvellement (à la
fin du contrat) est de 25%
ƒ Donner un nouveau téléphone à toute
personne ayant expirer son contrat coûte
cher.
ƒ Faire revenir un client après avoir quitter
est difficile et coûteux.
22. Exemple 1 - Marketing
Exemple 1 - Marketing
ƒ
ƒ Trois mois avant
Trois mois avant
l’expiration du contrat
l’expiration du contrat,
,
prédire
prédire les clients qui
les clients qui
vont
vont quitter :
quitter :
ƒ Si vous voulez les garder,
offrir un nouveau
téléphone.
Yippee!
Je reste !
Yippee!
Je reste !
23. Exemple 2 - Assurances
Exemple 2 - Assurances
ƒ
ƒ Vous êtes
Vous êtes un agent
un agent
d’assurance
d’assurance et
et vous
vous
devez définir
devez définir un
un
paiement mensuel adapté
paiement mensuel adapté
à un
à un jeune
jeune de 18
de 18 ans
ans qui a
qui a
acheté une
acheté une Ferrari.
Ferrari.
ƒ
ƒ Qu’est ce qu’il faut
Qu’est ce qu’il faut faire
faire
?
?
Oh, oui!
J’aime ma
Ferrari!
Oh, oui!
J’aime ma
Ferrari!
24. Exemple 2 - Assurances
Exemple 2 - Assurances
ƒ
ƒ Analyser
Analyser les
les données
données de
de tous
tous les
les
clients de la
clients de la compagnie
compagnie.
.
ƒ
ƒ La
La probabilité d’avoir
probabilité d’avoir un accident
un accident
est basée sur
est basée sur … ?
… ?
ƒ Sexe du client (M/F) et l’âge
ƒ Modèle de la voiture, âge, adresse, ....
ƒ etc.
ƒ
ƒ Si
Si la
la probabilité d’avoir
probabilité d’avoir un
un
accident
accident est supérieure
est supérieure à la
à la
moyenne
moyenne,
, initialiser
initialiser la
la mensualité
mensualité
suivant
suivant les
les risques
risques.
.
25. Exemple 3 – Banque - Télécom
Exemple 3 – Banque - Télécom
ƒ
ƒ Vous êtes
Vous êtes à
à l’étranger
l’étranger et
et
quelqu’un
quelqu’un a
a volé votre
volé votre carte de
carte de
crédir ou votre
crédir ou votre mobile …
mobile …
ƒ
ƒ compagnies bancaires
compagnies bancaires …
…
ƒ Utiliser les données historiques pour
construire un modèle de comportement
frauduleux et utiliser le data mining
pour identifier des instances
similaires.
ƒ
ƒ compagnies téléphoniques
compagnies téléphoniques …
…
ƒ Analyser les “patterns” qui dérivent du
comportement attendu (destinataire,
durée, etc.)
26. Exemple 4 - Web
Exemple 4 - Web
ƒ
ƒ Les logs des
Les logs des accés
accés Web
Web sont
sont
analysés
analysés pour …
pour …
ƒ Découvrir les préférences des
utilisateurs
ƒ Améliorer l’organisation du site
Web
ƒ
ƒ De
De manière similaire
manière similaire …
…
ƒ L’analyse de tous les types
d’informations sur les logs
ƒ Adaptation de l’interface
utilisateur/service
bonne
de surfing!
bonne
expérience de surfing!
expérience
27. Paramètres d’un processus KDD
Paramètres d’un processus KDD
Technique ?
Format, Type ?
Data
Mining
Data
Mining
Données
d’apprentissage
Tâche ?
Modèles,
Patterns
Type de
représentation ?
28. Les données
ƒ Valeurs des champs des enregistrements des
tables de l’entropot (base de données)
ƒ Types :
ƒ Données discrètes : données binaires (sexe, …),
données énumératives (couleur, …), énumératives
ordonnées (réponses 1:très satisfait, 2:satisfait,
…).
ƒ Données continues : données entières ou réelles
(âge, salaire, …)
ƒ Dates
ƒ Données textuelles
ƒ Pages/liens web, Multimédia, …
29. Tâches du Data Mining
Tâches du Data Mining
ƒ Classification
ƒ Clustering (Segmentation)
ƒ Recherche d’associations
ƒ Recherche de séquences
ƒ Détection de déviation
30. Classification
Classification
ƒ Elle permet de prédire si une instance de donnée est membre
d’un groupe ou d’une classe prédéfinie.
ƒ Classes
ƒ Groupes d’instances avec des profils particuliers
ƒ Apprentissage supervisé : classes connues à l’avance
ƒ Applications : marketing direct (profils des consommateurs),
grande distribution (classement des clients), médecine
(malades/non malades), etc.
ƒ Exemple : les acheteurs de voitures de sport sont de jeunes
citadins ayant un revenu important
31. Clustering (Segmentation)
Clustering (Segmentation)
ƒ Partitionnement logique de la base de données en
clusters
ƒ Clusters : groupes d’instances ayant les mêmes
caractéristiques
ƒ Apprentissage non supervisé (classes inconnues)
ƒ Pb : interprétation des clusters identifiés
ƒ Applications : Economie (segmentation de marchés),
médecine (localisation de tumeurs dans le cerveau), etc.
32. Règles d’association
Règles d’association
ƒ Corrélations (ou relations) entre attributs (méthode non
supervisée)
ƒ Applications : grande distribution, gestion des stocks, web
(pages visitées), etc.
ƒ 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)
33. Recherche de séquences
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%
34. Détection de déviation
Détection de déviation
ƒ Instances ayant des caractéristiques les plus
différentes des autres
ƒ Basée sur la notion de distance entre instances
ƒ Expression du problème
ƒ Temporelle : évolution des instances ?
ƒ Spatiale : caractéristique d’un cluster d’instances ?
ƒ Applications
ƒ Détection de fraudes (transactions avec une carte
bancaire inhabituelle en telemarketing)
ƒ Caractéristiques
ƒ Problème d’interprétation : bruit ou exception (donc
connaissance intéressante)
37. Résumé - Introduction
ƒ
ƒ Data mining :
Data mining : découverte automatique
découverte automatique de
de modèles
modèles
intéressants
intéressants à
à partir d’ensemble
partir d’ensemble de
de données
données de
de
grande taille
grande taille
ƒ
ƒ KDD (knowledge data discovery) est un processus :
KDD (knowledge data discovery) est un processus :
ƒ Pré-traitement (Pre-processing)
ƒ Data mining
ƒ Post-traitement (Post-processing)
ƒ
ƒ Pour le data mining, utilisation de différents …
Pour le data mining, utilisation de différents …
ƒ Base de données (relationelle, orientée objet, spatiale,
WWW, …)
ƒ Connaissances (classification, clustering, association, …)
ƒ Techniques (apprentissage, statistiques, optimisation, …)
ƒ Applications (génomique, télécom, banque, assurance,
distribution, …)
39. WEKA 3.2
Waikato Environment for Knowledge
Analysis
http://www.cs.waikato.ac.nz/ml/weka/
http://www.lifl.fr/~jourdan
40. WEKA
ƒ Logiciel gratuit disponible sur le web :
http://www.cs.waikato.ac.nz/ml/weka/
ƒ Plate forme logicielle en Java tournant
sous :
ƒ Windows
ƒ Linux
ƒ Facile à prendre en main
41. WEKA
ƒ Interface en ligne de commande
ƒ Explorer (interface graphique)
ƒ Filtre
ƒ Apprentissage (clustering,
classification, ...)
ƒ Sélection d’attributs
ƒ Visualisateur de données et de
résultats
ƒ Expérimenter (environnement
d’expérience)
ƒ Test d’une méthode spécifique sur
un ensemble de données avec des
critères variés pour la
comparaison de résultats
42. WEKA
ƒ En entrée : fichiers, base de données, Url
ƒ En sortie : affichage des résultats, sortie des
résultats dans des fichiers, visualisation
graphique …
Exemple de
visualisation après
une classification :
une couleur
représente une
classe
43. Weka - Explorer
Les fonctions disponibles :
ƒ Filtre et Preprocess sur les données
ƒ Classification
ƒ Clustering
ƒ Règles d’association
ƒ Sélection d’attributs
ƒ Visualisateur
44. Plan du cours
ƒ Clustering
ƒ Classification
ƒ Règles d’association
ƒ Outils pour le Data Mining
Plan
Plan
46. Clustering - Plan
Clustering - Plan
Sommaire
Sommaire
ƒ
ƒ Problèmatique du
Problèmatique du clustering
clustering
ƒ
ƒ Applications
Applications
ƒ
ƒ Similarité
Similarité et types de
et types de données
données
ƒ
ƒ Méthodes
Méthodes de clustering
de clustering
ƒ
ƒ Méthodes
Méthodes de
de partitionnement
partitionnement
ƒ
ƒ Méthodes hiérarchiques
Méthodes hiérarchiques
ƒ
ƒ Méthodes
Méthodes par
par voisinage
voisinage dense
dense
ƒ
ƒ Application
Application réelle
réelle en
en génomique
génomique
ƒ
ƒ Résumé
Résumé
47. Problèmatique
Problèmatique
ƒ Soient N instances de données à k attributs,
ƒ Trouver un partitionnement en c clusters
(groupes) ayant un sens (Similitude)
ƒ Affectation automatique de “labels” aux clusters
ƒ c peut être donné, ou “découvert”
ƒ Plus difficile que la classification car les classes
ne sont pas connues à l’avance (non supervisé)
ƒ Attributs
• Numériques (distance bien définie)
• Enumératifs ou mixtes (distance difficile à définir)
48. Qualité d’un clustering
Qualité d’un clustering
ƒ Une bonne méthode de clustering produira
des clusters d’excellente qualité avec :
avec :
ƒ Similarité intra
intra-
-classe
classe importante
ƒ Similarité inter
inter-
-classe
classe faible
ƒ La qualité
qualité d’un clustering dépend de :
ƒ La mesure de similarité utilisée
ƒ L’implémentation de la mesure de
similarité
ƒ La qualité d’une méthode
qualité d’une méthode de clustering est
évaluée par son abilité à découvrir certains
ou tous les “patterns” cachés.
49. Objectifs du clustering
Objectifs du clustering
Minimiser les distances
intra-cluster
Minimiser les distances
intra-cluster
Maximiser les distances
inter-clusters
Maximiser les distances
inter-clusters
50. Exemples d’applications
ƒ
ƒ Marketing
Marketing :
: segmentation du marché en découvrant des
groupes de clients distincts à partir de bases de doneées
d’achats.
ƒ
ƒ Environnement
Environnement :
: identification des zones terrestres
similaires (en termes d’utilisation) dans une base de
données d’observation de la terre.
ƒ
ƒ Assurance
Assurance:
: identification de groupes d’assurés distincts
associés à un nombre important de déclarations.
ƒ
ƒ Planification
Planification de
de villes
villes :
: identification de groupes
d’habitations suivant le type d’habitation, valeur,
localisation géographique, …
ƒ Médecine : Localisation de tumeurs dans le cerveau
ƒ Nuage de points du cerveau fournis par le neurologue
ƒ Identification des points définissant une tumeur
52. Mesure de la similarité
Mesure de la similarité
ƒ Il n’y a pas de définition unique
de la similarité entre objets
ƒ Différentes mesures de
distances d(x,y)
ƒ 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
53. Choix de la distance
Choix de la distance
ƒ Propriétés d’une distance :
ƒ Définir une distance sur chacun des champs
ƒ Champs numériques : d(x,y) = |x-y|, d(x,y)= |x-y|/dmax
(distance normalisée).
ƒ Exemple : Age, taille, poids, …
)
,
(
)
,
(
)
,
(
4.
)
,
(
)
,
(
3.
iff
0
)
,
(
2.
0
)
,
(
1.
z
y
d
y
x
d
z
x
d
x
y
d
y
x
d
y
x
y
x
d
y
x
d
+
≤
=
=
=
≥
54. Distance – Données numériques
Distance – Données numériques
ƒ Combiner les distances : Soient x=(x1,…,xn) et y=(y1, …,yn)
ƒ Exemples numériques :
ƒ Distance euclidienne :
ƒ Distance de Manhattan :
ƒ Distance de Minkowski :
k=1 : distance de Manhattan.
k=2 : distance euclidienne
∑
=
−
=
n
i
i
i y
x
y
x
d
1
)
,
(
( )
∑
=
−
=
n
i
i
i y
x
y
x
d
1
2
)
,
(
q q
n
i i
i y
x
y
x
d ∑ −
=
= 1
)
,
(
55. Choix de la distance
Choix de la distance
ƒ Champs discrets :
ƒ Données binaires : d(0,0)=d(1,1)=0, d(0,1)=d(1,0)=1
ƒ Donnée énumératives : distance nulle si les valeurs sont
égales et 1 sinon.
ƒ Donnée énumératives ordonnées : idem. On peut définir
une distance utilisant la relation d’ordre.
ƒ Données de types complexes : textes, images, données
génétiques, ...
56. Distance – Données binaires
Distance – Données binaires
Object j
p
d
b
c
a
sum
d
c
d
c
b
a
b
a
sum
+
+
+
+
0
1
0
1
Table de contingence
contingence
(
(dissimilarité
dissimilarité)
)
Object i
ƒ
ƒ Coefficient de
Coefficient de correspondance
correspondance simple
simple (similarité
invariante, si la variable binaire est symétrique
symétrique) :
ƒ
ƒ Coefficient de
Coefficient de Jaccard
Jaccard (similarité non invariante,
si la variable binaire est asymétrique
asymétrique):
d
c
b
a
c
b
j
i
d
+
+
+
+
=
)
,
(
c
b
a
c
b
j
i
d
+
+
+
=
)
,
(
57. Distance – Données binaires
Distance – Données binaires
Exemple
Exemple : dissimilarité entre variables binaires
• Table de patients
• 8 attributs, avec
ƒ Sexe un attribut symétrique, et
ƒ Les attributs restants sont asymétriques
(test VIH, …)
Nom Sexe Fièvre Toux Test-1 Test-2 Test-3 Test-4
Jack M Y N P N N N
Mary F Y N P N P N
Jim M Y P N N N N
58. Distance – Données binaires
Distance – Données binaires
ƒ Les valeurs Y et P sont initialisées à 1, et la
valeur N à 0.
ƒ Calculer la distance entre patients, basée
sur le coefficient de Jaccard.
75
.
0
2
1
1
2
1
)
,
(
67
.
0
1
1
1
1
1
)
,
(
33
.
0
1
0
2
1
0
)
,
(
=
+
+
+
=
=
+
+
+
=
=
+
+
+
=
mary
jim
d
jim
jack
d
mary
jack
d
59. Distance – Données énumératives
Distance – Données énumératives
ƒ Généralisation
énéralisation des variables binaires, avec
avec
plus de 2
plus de 2 états
états, e.g., rouge, jaune, bleu, vert
ƒ Méthode 1: correpondance
correpondance simple
simple
ƒ
ƒ m:
m: # de correspondances,
, p:
p: # total de
variables
p
m
p
j
i
d −
=
)
,
(
61. Données mixtes – Exemple 1
Données mixtes – Exemple 1
ƒ Base de données « Cancer du sein »
http://www1.ics.uci.edu/~mlearn/MLSummary.html
ƒ #instances = 286 (Institut Oncologie, Yugoslavie)
ƒ # attributs = 10
ƒ Classe : no-recurence-events, recurrence-events
ƒ Age : 10-19, 20-29, 30-39, 40-49, …, 90-99
ƒ Menopause : Lt40, Ge40, premeno
ƒ Taille de la tumeur : 0-4, 5-9, 10-14, …, 55-59
ƒ Inv-nodes : 0-2, 3-5, 6-8, …, 36-39 (ganglions lymphatiques)
ƒ Node-caps : Oui, Non
ƒ Deg-malig : 1, 2, 3 (Dégré de malignité)
ƒ Sein : Gauche, Droit
ƒ Breast-quad : left-up, left-low, right-up, right-low, central
ƒ Irradiation : Oui, Non
62. Données mixtes – Exemple 2
Données mixtes – Exemple 2
ƒ Base de données « Diabète » : Diagnostic (OMS)
http://www1.ics.uci.edu/~mlearn/MLSummary.html
ƒ #instances = 768 (Arizona, USA)
ƒ # attributs = 8
ƒ Nombre de grossesses
ƒ Concentration du taux de glucose dans le plasma
ƒ Pression sanguine diastolique (mm Hg)
ƒ Epaisseur de la graisse du triceps (mm)
ƒ Taux d’insuline après 2 heures (repas) (mu U/ml)
ƒ Indice de masse corporelle (poids en kg / (taille en m)^2)
ƒ Fonction « Diabete pedigree »
ƒ Age (ans)
ƒ Classe (Positif ou Négatif)
63. Méthodes de Clustering
Méthodes de Clustering
ƒ Méthode de partitionnement (K-
moyennes)
ƒ Méthodes hiérarchiques (par
agglomération)
ƒ Méthode par voisinage dense
ƒ Caractéristiques
ƒ Apprentissage non supervisé
(classes inconnues)
ƒ Pb : interprétation des
clusters identifiés
64. Méthodes de clustering - Caractéristiques
Méthodes de clustering - Caractéristiques
ƒ
ƒ Extensibilité
Extensibilité
ƒ
ƒ Abilité
Abilité à
à traiter différents
traiter différents
types de
types de données
données
ƒ
ƒ Découverte
Découverte de clusters de
de clusters de
différents formes
différents formes
ƒ
ƒ Connaissances requises
Connaissances requises
(
(paramètres
paramètres de
de l’algorithme
l’algorithme)
)
ƒ
ƒ Abilité
Abilité à
à traiter
traiter les
les données
données
bruitées
bruitées et
et isolées
isolées.
.
65. Algorithme des k-moyennes (K-means)
Algorithme des k-moyennes (K-means)
ƒ Entrée : un échantillon de m enregistrements x1, …, xm
ƒ 1. Choisir k centres initiaux c1, …, ck
ƒ 2. Répartir chacun des m enregistrements dans le groupe
i dont le centre ci est le plus proche.
ƒ 3. Si aucun élément ne change de groupe alors arrêt et
sortir les groupes
ƒ 4. Calculer les nouveaux centres : pour tout i, ci est la
moyenne des éléments du groupe i.
ƒ Aller en 2.
69. Algorithme des k-moyennes : Exemple
Algorithme des k-moyennes : Exemple
ƒ 8 points A, …, H de l ’espace euclidéen 2D. k=2 (2 groupes)
ƒ Tire aléatoirement 2 centres : B et D choisis.
points Centre
D(2,4),
B(2,2)
Centre
D(2,4),
I(27/7,17/7)
Centre
J(5/3,10/3),
K(24/5,11/5)
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
70. K-moyennes : Avantages
K-moyennes : Avantages
ƒ
ƒ Relativement
Relativement extensible
extensible dans le
traitement d’ensembles de taille
importante
ƒ
ƒ Relativement efficace
Relativement efficace : O(t.k.n),
où n représente # objets, k #
clusters, et t # iterations.
Normalement, k, t << n.
ƒ Produit généralement un optimum
local ; un optimum global peut être
obtenu en utilisant d’autres
techniques telles que :
algorithmes génétiques, …
71. K-moyennes : Inconvénients
K-moyennes : Inconvénients
ƒ
ƒ Applicable
Applicable seulement dans le cas où la
moyenne des objets est définie
ƒ
ƒ Besoin
Besoin de
de spécifier
spécifier k, le nombre de
clusters, a priori
ƒ
ƒ Incapable
Incapable de traiter les données
bruitées (noisy).
ƒ
ƒ Non
Non adapté
adapté pour découvrir des
clusters avec structures non-convexes,
et des clusters de tailles différentes
ƒ Les points isolés sont mal gérés
(doivent-ils appartenir obligatoirement
à un cluster ?) - probabiliste
72. K-moyennes : Variantes
K-moyennes : Variantes
ƒ Sélection des centres initiaux
ƒ Calcul des similarités
ƒ Calcul des centres (K-medoids : [Kaufman
& Rousseeuw’87] )
ƒ GMM : Variantes de K-moyennes basées
sur les probabilités
ƒ K-modes : données catégorielles
[Huang’98]
ƒ K-prototype : données mixtes (numériques
et catégorielles)
73. Méthodes hiérarchiques
ƒ
ƒ Une m
Une mé
éthode hi
thode hié
érarchique
rarchique :
:
construit une hiérarchie de clusters,
non seulement une partition unique
des objets.
ƒ Le nombre de clusters k n’est pas
exigé comme donnée
ƒ Utilise une matrice de distances
comme critère de clustering
ƒ Une condition de terminaison peut
être utilisée (ex. Nombre de
clusters)
74. Méthodes hiérarchiques
ƒ Entrée : un échantillon de m enregistrements x1, …, xm
ƒ 1. On commence avec m clusters (cluster = 1
enregistrement)
ƒ 2. Grouper les deux clusters les plus « proches ».
ƒ 3. S’arrêter lorsque tous les enregistrements sont
membres d’un seul groupe
ƒ 4. Aller en 2.
75. Arbre de clusters : Exemple
Step 0 Step 1 Step 2 Step 3 Step 4
b
d
c
e
a
a b
d e
c d e
a b c d e
76. Arbre de clusters
ƒ Résultat : Graphe hiérarchique qui peut être coupé à un
niveau de dissimilarité pour former une partition.
ƒ La hiérarchie de clusters est
représentée comme un arbre de
clusters, appelé dendrogramme
dendrogramme
ƒ Les feuilles de l’arbre représentent
les objets
ƒ Les noeuds intermédiaires de l’arbre
représentent les clusters
77. Distance entre clusters
ƒ Distance entre les centres des clusters (Centroid
Method)
ƒ Distance minimale entre toutes les paires de données des
2 clusters (Single Link Method)
ƒ Distance maximale entre toutes les paires de données
des 2 clusters (Complete Link Method)
ƒ Distance moyenne entre toutes la paires
d’enregistrements (Average Linkage)
{ }
)
,
(
min
)
,
( , y
x
d
j
i
d j
i C
y
C
x ∈
∈
=
{ }
)
,
(
max
)
,
( , y
x
d
j
i
d j
i C
y
C
x ∈
∈
=
{ }
)
,
(
)
,
( , y
x
d
avg
j
i
d j
i C
y
C
x ∈
∈
=
78. Méthodes hiérarchiques :
Avantages
ƒ
ƒ Conceptuellement
Conceptuellement simple
simple
ƒ
ƒ Propriétés
Propriétés théoriques
théoriques sont
bien connues
connues
ƒ Quand les clusters sont
groupés, la
la décision
décision est
est
définitive
définitive =>
=> le
le nombre
nombre
d’alternatives
d’alternatives différentes
différentes à
à
à examiner est réduit
réduit
79. Méthodes hiérarchiques :
Inconvénients
ƒ
ƒ Groupement
Groupement de clusters est
définitif
définitif =>
=> décisions
erronnées sont impossibles
impossibles à
à
modifier
modifier ultérieurement
ƒ Méthodes non
non extensibles
extensibles
pour des ensembles de
données de grandes tailles
80. Méthodes basées sur la densité
ƒ Pour ce types de problèmes, l’utilisation de mesures
de similarité (distance) est moins efficace que
l’utilisation de densité de voisinage.
81. Méthodes basées sur la densité
ƒ Minimiser la distance inter-clusters n’est pas
toujours un bon critère pour reconnaître des
«formes » (applications géographiques,
reconnaissance de formes – tumeurs, …).
Dist=18
Dist=15.3
82. Méthodes basées sur la densité (1)
ƒ Soit d* un nombre réel positif
ƒ Si d(P,Q)<=d*, Alors P et Q appartiennent au
même cluster
ƒ Si P et Q appartiennent au même cluster, et
d(Q,R)<=d*, Alors P et R appartiennent au
même cluster
83. Méthodes basées sur la densité (2)
ƒ Soit e* un nombre réel positif
ƒ Un point P est dense ssi |{Q/d(P,Q)<=d*}|>=e*
ƒ Si P et Q appartiennent au même cluster, et
d(Q,R)<=d* et Q est dense, Alors P et R
appartiennent au même cluster
ƒ Les points non-denses sont appelés points de
« bordure ».
ƒ Les points en dehors des clusters sont
appelés « bruits ».
84. Méthodes basées sur la densité
d* e*=4
P
Q
R
S
• Points noirs sont denses ; les autres ne sont pas denses
• Pour montrer que P et S appartiennent au même cluster, il suffit de
montrer que P et R appartiennent au même cluster. Pour le
montrer pour P et R, il suffit de le montrer pour P et Q …
85. Méthodes basées sur la densité
ƒ Deux clusters sont trouvés
ƒ Deux points sont des « bruits »
ƒ Trois points sont des « bordures »
86. Etude de cas réel : Génomique
Sélection d’attributs
+ Clustering
LIFL : Equipe OPAC
I.B.L
87. Le contexte
ƒ Génopole de Lille : Aspect génétique des
maladies multifactorielles
ƒ Collaboration avec l’I.B.L. (Institut de
Biologie de Lille) laboratoire des
maladies multifactorielles (UPRES-A
8090) : diabète, obésité
ƒ Génération de gros volumes de données :
outil d’aide à l’interprétation des
résultats
88. Etudes de l’IBL
ƒ Etudes de type familial (parents, enfants) –
Prélévement d’ADN
ƒ Analyse de liaison : co-transmission d’un gène
ƒ Comparaison de gènes entre paires d’individus
d’une même famille
Objectif :
Localiser un ou plusieurs gènes de
prédisposition pour la maladie
89. Problème posé
ƒ Très grand nombre de données générées
ƒ (~ 1 000 points de comparaison, 200 familles)
ƒ Méthodes statistiques limitées pour
étudier la corrélation entre gènes
Besoin d’un outil d’extraction
de connaissances : Data Mining
90. Contexte
Hypothèses de travail :
ƒ un cas particulier de Data Mining
ƒ les données fournies par l’IBL contiennent de
nombreux attributs
ƒ existence de données manquantes ou incertaines
ƒ contexte d ’apprentissage non supervisé
Objectif :
ƒ connaître les classes d ’attributs provoquant la
maladie
ƒ connaître les corrélations entre les attributs
91. Méthodologie adoptée
Réalisation :
• d’une sélection d ’attributs : Réduire le nombre
d ’attributs pour améliorer la classification
• d’un clustering
Sélection
d ’attributs Clustering
m attributs
N>>m
N attributs
Classes
92. K-moyennes
ƒ Sans sélection d ’attributs :
ƒ 400 attributs pour 200 objets,
ƒ temps de calcul > 7500 min. (>125 h.),
ƒ résultats inexploitables
ƒ Avec sélection d ’attributs :
ƒ une dizaine d ’attributs pour 200 objets,
ƒ temps de calcul entre 3 minutes et 15 minutes,
ƒ résultats exploitables.
93. Workshop GAW11 de 1998
ƒ Données simulées dont on connaît les
résultats
ƒ Résultats à trouver :
A B
D
C
E1
94. Résultats
Résultats obtenus sur le workshop GAW11 de 1998
ƒ Exemple d ’ensembles d ’attributs sélectionnés
(Support trouvé > 0.65) :
ƒ 81 85, 402 407, 224 229 (Locus C) , 308 313, 190
195, 374 379 (Locus B)
ƒ Exemple de clustering
E1 C
Classe 1
E2 B
Classe 2
95. 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
96. Clustering – Résumé (1)
ƒ
ƒ Le clustering
Le clustering groupe
groupe des
des objets
objets
en se
en se basant sur leurs
basant sur leurs
similarités
similarités.
.
ƒ
ƒ Le clustering
Le clustering possède plusieurs
possède plusieurs
applications
applications.
.
ƒ
ƒ La
La mesure
mesure de
de similarité peut
similarité peut
être calculée
être calculée pour
pour différents
différents
types de
types de données
données.
.
ƒ
ƒ La
La sélection
sélection de la
de la mesure
mesure de
de
similarité dépend
similarité dépend des
des données
données
utilisées
utilisées et le type de
et le type de similarité
similarité
recherchée
recherchée.
.
97. Clustering – Résumé (2)
ƒ
ƒ Les
Les méthodes
méthodes de clustering
de clustering
peuvent être classées
peuvent être classées en :
en :
ƒ
ƒ Méthodes
Méthodes de
de
partitionnement
partitionnement,
,
ƒ
ƒ Méthodes
Méthodes hiérarchiques
hiérarchiques,
,
ƒ
ƒ Méthodes
Méthodes à
à densité
densité de
de
voisinage
voisinage.
.
ƒ
ƒ Plusieurs
Plusieurs travaux
travaux de
de
recherche
recherche sur
sur le clustering
le clustering
en
en cours
cours et en perspective.
et en perspective.
ƒ
ƒ Plusieurs
Plusieurs applications en
applications en
perspective
perspective :
: Génomique
Génomique,
,
Environnement
Environnement, …
, …
98. Références
ƒ M. R. Anderberg. Cluster Analysis for Applications.
Academic Press, 1973.
ƒ P. Arabie, L. J. Hubert, and G. De Soete. Clustering
and Classification. World Scientific, 1996
ƒ A. K. Jain and R. C. Dubes. Algorithms for Clustering
Data. Prentice Hall, 1988
ƒ L. Kaufman and P. J. Rousseeuw. Finding Groups in
Data: an Introduction to Cluster Analysis. John
Wiley & Sons, 1990.
100. Sommaire
Sommaire
Sommaire
Sommaire
ƒ
ƒ Définition
Définition
ƒ
ƒ Validation
Validation d’une
d’une classification
classification
(accuracy)
(accuracy)
ƒ
ƒ K
K-
-NN (plus
NN (plus proches voisins
proches voisins)
)
ƒ
ƒ Arbres
Arbres de
de décision
décision
ƒ
ƒ Réseaux
Réseaux de
de neurones
neurones
ƒ
ƒ Autres méthodes
Autres méthodes de
de
classification
classification
ƒ
ƒ Etude de
Etude de cas réel
cas réel :
:
Protéomique
Protéomique
ƒ
ƒ Résumé
Résumé
101. Classification
Classification
ƒ Elle permet de prédire si un élément est membre
d’un groupe ou d ’une catégorie donné.
ƒ Classes
ƒ Identification de groupes avec des profils
particuliers
ƒ Possibilité de décider de l’appartenance d’une
entité à une classe
ƒ Caractéristiques
ƒ Apprentissage supervisé : classes connues à
l’avance
ƒ Pb : qualité de la classification (taux d’erreur)
ƒ Ex : établir un diagnostic (si erreur !!!)
103. Processus
Processus à
à deux étapes
deux étapes
processus
processus
à 2 étapes
à 2 étapes
Etape 1 :
Etape 1 :
Construction du modèle
Construction du modèle à
partir de l’ensemble
d’apprentissage (training
set)
Etape 2 :
Etape 2 :
Utilisation du modèle
Utilisation du modèle :
tester la précision du
modèle et l’utiliser dans la
classification de nouvelles
données
104. Construction
Construction du modèle
du modèle
ƒ
ƒ Chaque instance
Chaque instance est supposée
appartenir à une classe
prédéfinie
ƒ La classe d’une instance est
déterminée par l’attribut ”classe”
ƒ L’ensemble des instances
d’apprentissage est utilisé dans la
construction du modèle
ƒ Le modèle est représenté par des
règles de classification, arbres
de décision, formules
mathématiques, ...
Etape 1
Etape 1
105. Utilisation du modèle
Utilisation du modèle
Etape 2
Etape 2
ƒ
ƒ Classification de
Classification de nouvelles
nouvelles
instances ou instances
instances ou instances inconnues
inconnues
ƒ
ƒ Estimer le taux d’erreur du
Estimer le taux d’erreur du
modèle
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
106. Validation de la Classification
Validation de la Classification
(accuracy)
(accuracy)
Estimation des
Estimation des taux d’erreurs
taux d’erreurs :
:
ƒ
ƒ Partitionnement
Partitionnement : apprentissage et test (ensemble
de données important)
ƒ Utiliser 2 ensembles indépendents, e.g.,
ensemble d’apprentissage (2/3), ensemble test
(1/3)
Apprentissage Dt Validation DDt
107. Validation de la Classification
Validation de la Classification
(accuracy)
(accuracy)
ƒ
ƒ Validation
Validation croisée
croisée (ensemble de données modéré)
ƒ Diviser les données en k sous-ensembles
ƒ Utiliser k-1 sous-ensembles comme données
d’apprentissage et un sous-ensemble comme données test
ƒ
ƒ Bootstrapping
Bootstrapping : n instances test aléatoires (ensemble de
données réduit)
D1 D2 D3 D4
D1 D2 D3 D4 D1 D2 D3 D4
D1 D2 D3 D4 D1 D2 D3 D4
108. Exemple
Exemple : Construction
: Construction du modèle
du modèle
Données
Apprentissage
Nom Rang Année Titulaire
Mary Assistant Prof 3 non
James Assistant Prof 7 oui
Bill Professor 2 oui
John Associate Prof 7 oui
Mark Assistant Prof 6 non
Annie Associate Prof 3 non
Algorithmes
Classification
Si Rang = ‘Professor’
Ou Année > 6
Alors Titulaire = Oui
Modèle
109. Exemple
Exemple :
: Utilisation du modèle
Utilisation du modèle
Données
Test
Classifier
Nom Rang Année Titulaire
Tom Assistant Prof 2 non
Lisa Associate Prof 7 non
Jack Professor 5 oui
Ann Assistant Prof 7 oui
Taux d’erreur
du modèle ?
110. Exemple
Exemple :
: Utilisation du modèle
Utilisation du modèle
Donnée
inconnue
Classifier
Nom Rang Année Titulaire
Jeff Professor 4 ?
Paul Associate Prof 7 ?
Titulaire ?
Oui
Oui
Oui
Oui
111. Evaluation des
Evaluation des
méthodes
méthodes de classification
de classification
ƒ
ƒ Taux d’erreur (Accuracy)
Taux d’erreur (Accuracy)
ƒ
ƒ Temps d’exécution (construction,
Temps d’exécution (construction,
utilisation)
utilisation)
ƒ
ƒ Robustesse (bruit, données
Robustesse (bruit, données
manquantes,...)
manquantes,...)
ƒ
ƒ Extensibilité
Extensibilité
ƒ
ƒ Interprétabilité
Interprétabilité
ƒ
ƒ Simplicité
Simplicité
112. Méthodes de Classification
Méthodes de Classification
ƒ Méthode K-NN (plus proche
voisin)
ƒ Arbres de décision
ƒ Réseaux de neurones
ƒ Classification bayésienne
ƒ Caractéristiques
ƒ Apprentissage supervisé
(classes connues)
113. Méthode des plus proches voisins
Méthode des plus proches voisins
ƒ Méthode dédiée à la classification (k-NN : nearest
neighbor).
ƒ Méthode de raisonnement à partir de cas : prendre
des décisions en recherchant un ou des cas similaires
déjà résolus.
ƒ Pas d’étape d ’apprentissage : construction d ’un
modèle à partir d’un échantillon d ’apprentissage
(réseaux de neurones, arbres de décision, …).
ƒ Modèle = échantillon d’apprentissage + fonction de
distance + fonction de choix de la classe en fonction
des classes des voisins les plus proches.
114. Algorithme kNN (K-nearest neighbors)
Algorithme kNN (K-nearest neighbors)
ƒ Objectif : affecter une classe à une nouvelle instance
ƒ donnée : un échantillon de m enregistrements classés
(x, c(x))
ƒ entrée : un enregistrement y
ƒ 1. Déterminer les k plus proches enregistrements
de y
ƒ 2. combiner les classes de ces k exemples en une
classe c
ƒ sortie : la classe de y est c(y)=c
115. Algorithme kNN : sélection de la classe
Algorithme kNN : sélection de la classe
ƒ Solution simple : rechercher le cas le plus proche et
prendre la même décision (Méthode 1-NN).
ƒ Combinaison des k classes :
ƒ Heuristique : k = nombre d ’attributs + 1
ƒ Vote majoritaire : prendre la classe majoritaire.
ƒ Vote majoritaire pondéré : chaque classe est pondérée.
Le poids de c(xi) est inversement proportionnel à la
distance d(y,xi).
ƒ Confiance : Définir une confiance dans la classe attribuée
= rapport entre les votes gagnants et le total des votes.
117. Algorithme kNN : critique
Algorithme kNN : critique
ƒ Pas d’apprentissage : introduction de nouvelles données ne
nécessite pas la reconstruction du modèle.
ƒ Clarté des résultats
ƒ Tout type de données
ƒ Nombre d’attributs
ƒ Temps de classification : -
ƒ Stocker le modèle : -
ƒ Distance et nombre de voisins : dépend de la distance, du
nombre de voisins et du mode de combinaison.
118. Arbres
Arbres de
de décision
décision
ƒ
ƒ Génération
Génération d’arbres
d’arbres de
de décision
décision à
à partir
partir des
des données
données
ƒ
ƒ Arbre
Arbre =
= Représentation graphique d’une procédure
Représentation graphique d’une procédure de
de
classification
classification
MS>5000
Age>25
Autres comptes
Oui
Non Oui
Non
Oui
Oui Non
Oui Non
Accord d’un prêt bancaire
MS : moyenne solde compte courant Un
Un arbre
arbre de
de décision est
décision est un
un
arbre où
arbre où :
:
ƒ
ƒ Noeud
Noeud interne
interne = un
attribut
ƒ
ƒ Branche
Branche d’un noeud = un
test sur un attribut
ƒ
ƒ Feuilles
Feuilles = classe donnée
Non
119. Arbre
Arbre de
de décision
décision -
- Exemple
Exemple
Outlook Temperature Humidity Windy Class
sunny hot high false N
sunny hot high true N
overcast hot high false P
rain mild high false P
rain cool normal false P
rain cool normal true N
overcast cool normal true P
sunny mild high false N
sunny cool normal false P
rain mild normal false P
sunny mild normal true P
overcast mild high true P
overcast hot normal false P
rain mild high true N
Ensemble
Ensemble
d’apprentissage
d’apprentissage
Jouer au tennis ?
Jouer au tennis ?
120. Arbre de décision - Exemple
Outlook
Sunny Overcast Rain
Humidity Yes Wind
High Normal Strong Weak
No Yes No Yes
121. Exemple – Jouer au tennis ?
Sunny Overcast Rain
Normal
Chaque noeud interne teste un attribut
Chaque branche correspond à une
valeur de l’attribut
Chaque feuille représente une classe
Outlook
Humidity
High
No Yes
122. Tid Age Car Type Class
0 23 Family High
1 17 Sports High
2 43 Sports High
3 68 Family Low
4 32 Truck Low
5 20 Family High
Age < 27.5
High Low
CarType ∈ {Sports}
High
Age=40, CarType=Family ⇒ Class=Low
Numérique Enumératif
Arbres de décision – Exemple
Arbres de décision – Exemple
Risque - Assurances
123. Des arbres de décision aux règles
Des arbres de décision aux règles
Age < 27.5
CarType ∈ {Sports}
1) Age < 27.5 ⇒ High
2) Age >= 27.5 and
CarType = Sports ⇒ High
3) Age >= 27.5 and
CarType ≠ Sports ⇒ High
High
High Low
124. Arbres de décision – Exemple
Détection de fraudes fiscales
Arbres de décision – Exemple
Détection de fraudes fiscales
Id Ristourne Situation
famille
Impôt
revenu Fraude
1 Oui Célibat. 125K Non
2 Non Marié 100K Non
3 Non Célibat. 70K Non
4 Oui Marié 120K Non
5 Non Divorcé 95K Oui
6 Non Marié 60K Non
7 Oui Divorcé 220K Non
8 Non Célibat. 85K Oui
9 Non Marié 75K Non
10 Non Célibat. 90K Oui
10
if if
num
érique
classe
Ristourne
Situation
Oui
Non
Non
Non
Oui Non
Marié
Célibat, Divorcé
< 80K >= 80K
Attributs significatifs
ƒ L’attribut significatif à un noeud est
déterminé en se basant sur l’indice
Gini.
ƒ Pour classer une instance : descendre
dans l’arbre selon les réponses aux
différents tests. Ex = (Ristourne=Non,
Situation=Divorcé, Impôt=100K) Î Oui
énum
érat
énum
érat
Impôt
125. De
De l’arbre
l’arbre de
de décision
décision aux
aux règles
règles
de classification
de classification
ƒ une règle
règle est générée pour
chaque chemin
chemin de l’arbre (de
la racine à une feuille)
ƒ Les paires attribut-valeur
d’un chemin forment une
conjonction
ƒ Le noeud terminal
représente la classe prédite
ƒ Les règles sont
généralement plus faciles à
comprendre que les arbres
outlook
overcast
high normal false
true
sunny rain
P
P
N N P
windy
humidity
Si outlook=sunny
Et humidity=normal
Alors play tennis
126. Des arbres de décision aux règles
Des arbres de décision aux règles
Arbre
Arbre de
de décision
décision =
= Système
Système de
de règles exhaustives
règles exhaustives et
et
mutuellement
mutuellement exclusives
exclusives
1) Ristourne = Oui ⇒ Non
2) Ristourne = Non et
Situation in {Célibat., Divorcé}
et Impôt < 80K ⇒ Non
3) Ristourne = Non et
Situation in {Célibat., Divorcé}
et Impôt >= 80K ⇒ Oui
4) Ristourne = Non et
Situation in {Marié} ⇒ Non
Marié
Ristourne
Situation
Impôt
Oui
Non
Non
Non
Oui Non
Célibat., Divorcé
< 80K >= 80K
127. Des arbres de décision aux règles
Des arbres de décision aux règles
Outlook
Sunny Overcast Rain
Humidity
High Normal
Wind
Strong Weak
No Yes
Yes
Yes
No
R1: If (Outlook=Sunny) ∧ (Humidity=High) Then PlayTennis=No
R2: If (Outlook=Sunny) ∧ (Humidity=Normal) Then PlayTennis=Yes
R3: If (Outlook=Overcast) Then PlayTennis=Yes
R4: If (Outlook=Rain) ∧ (Wind=Strong) Then PlayTennis=No
R5: If (Outlook=Rain) ∧ (Wind=Weak) Then PlayTennis=Yes
128. Génération
Génération de
de l’arbre
l’arbre de
de décision
décision
Deux phases dans la génération de
Deux phases dans la génération de
l’arbre :
l’arbre :
ƒ
ƒ Construction de l’arbre
Construction de l’arbre
ƒ Arbre peut atteindre une taille
élevée
ƒ
ƒ Elaguer l’arbre (Pruning)
Elaguer l’arbre (Pruning)
ƒ Identifier et supprimer les
branches qui représentent du
“bruit” Æ Améliorer le taux
d’erreur
129. Algorithmes de classification
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
130. Algorithmes de classification
Algorithmes de classification
ƒ Traiter chaque noeud fils de façon récursive
ƒ Répéter jusqu’à ce que tous les noeuds soient des
terminaux. Un noeud courant est terminal si :
ƒ Il n’y a plus d’attributs disponibles
ƒ Le noeud est “pur”, i.e. toutes les instances
appartiennent à une seule classe,
ƒ Le noeud est “presque pur”, i.e. la majorité des instances
appartiennent à une seule classe (Ex : 95%)
ƒ Nombre minimun d’instances par branche (Ex :
algorithme C5 évite la croissance de l’arbre, k=2 par
défaut)
ƒ Etiqueter le noeud terminal par la classe
majoritaire
131. Algorithmes de classification
Algorithmes de classification
ƒ Elaguer l’arbre obtenu (pruning)
ƒ Supprimer les sous-arbres qui n’améliorent pas
l’erreur de la classification (accuracy) Î arbre
ayant un meilleur pouvoir de généralisation,
même si on augmente l’erreur sur l’ensemble
d’apprentissage
ƒ Eviter le problème de sur-spécialisation (over-
fitting), i.e., on a appris “par coeur” l’ensemble
d’apprentissage, mais on n’est pas capable de
généraliser
132. Sur
Sur-
-spécialisation
spécialisation -
- arbre
arbre de
de
décision
décision
ƒ
ƒ L’arbre généré peut sur
L’arbre généré peut sur-
-
spécialiser l’ensemble
spécialiser l’ensemble
d’apprentissage
d’apprentissage
ƒ Plusieurs branches
ƒ Taux d’erreur important pour les
instances inconnues
ƒ
ƒ Raisons de la
Raisons de la sur
sur-
-spécialisation
spécialisation
ƒ bruits et exceptions
ƒ Peu de donnée d’apprentissage
ƒ Maxima locaux dans la recherche
gloutonne
134. Comment
Comment éviter l’overfitting
éviter l’overfitting ?
?
ƒ
ƒ Deux approches
Deux approches :
:
ƒ
ƒ Pré
Pré-
-élagage
élagage :
: Arrêter de
façon prématurée la
construction de l’arbre
ƒ
ƒ Post
Post-
-élagage
élagage :
: Supprimer des
branches de l’arbre complet
(“fully grown”)
ƒ Convertir l’arbre en règles ;
élaguer les règles de façon
indépendante (C4.5)
135. Construction de l’arbre -
Synthèse
Construction de l’arbre -
Synthèse
ƒ Evaluation des différents branchements pour
tous les attributs
ƒ Sélection du “meilleur” branchement “et de
l’attribut “gagnant”
ƒ Partitionner les données entre les fils
ƒ Construction en largeur (C4.5) ou en profondeur
(SPLIT)
ƒ Questions critiques :
ƒ Formulation des tests de branchement
ƒ Mesure de sélection des attributes
136. Exemple
Exemple :
: Jouer
Jouer au tennis ?
au tennis ?
Outlook Temperature Humidity Windy Class
sunny hot high false N
sunny hot high true N
overcast hot high false P
rain mild high false P
rain cool normal false P
rain cool normal true N
overcast cool normal true P
sunny mild high false N
sunny cool normal false P
rain mild normal false P
sunny mild normal true P
overcast mild high true P
overcast hot normal false P
rain mild high true N
Ensemble
Ensemble
d’apprentissage
d’apprentissage
137. Arbre
Arbre de
de décision obtenu
décision obtenu avec
avec
ID3
ID3 (Quinlan 86)
(Quinlan 86)
Outlook
Sunny Overcast Rain
Humidity Yes Wind
High Normal Strong Weak
No Yes No Yes
138. Arbre
Arbre de
de décision obtenu
décision obtenu avec
avec
ID3
ID3 (Quinlan 86)
(Quinlan 86)
No
Outlook
Sunny Overcast Rain
Humidity
High Normal
Wind
Strong Weak
No Yes
Yes
Yes
No
Outlook Temperature Humidity Wind PlayTennis
Sunny Hot High Weak ?
139. Arbre
Arbre de
de décision
décision et
et conjonction
conjonction
Outlook=Sunny ∧ Wind=Weak
Outlook
Sunny Overcast Rain
Wind No No
Strong Weak
No Yes
140. Arbre
Arbre de
de décision
décision et
et disjonction
disjonction
Outlook=Sunny ∨ Wind=Weak
Sunny Overcast Rain
Yes Wind
Strong Weak Strong
Outlook
Weak
Wind
No Yes No Yes
141. Arbre
Arbre de
de décision
décision et XOR
et XOR
Outlook=Sunny XOR Wind=Weak
Outlook
Sunny Overcast Rain
Wind
Strong Weak
Yes No
Wind
Weak
Wind
Strong Weak Strong
No Yes No Yes
142. Arbre
Arbre de
de décision
décision et
et conjonction
conjonction
• arbre de décision représente des disjonctions de conjonctions
Outlook
Sunny Overcast Rain
Humidity
High Normal
Wind
Strong Weak
No Yes
Yes
Yes
No
(Outlook=Sunny ∧ Humidity=Normal)
∨ (Outlook=Overcast)
∨ (Outlook=Rain ∧ Wind=Weak)
143. Algorithmes
Algorithmes pour les
pour les arbres
arbres de
de
décision
décision
ƒ
ƒ Algorithme
Algorithme de base
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)
ƒ
ƒ Plusieurs variantes
Plusieurs variantes : ID3, C4.5, CART, CHAID
ƒ Différence principale : mesure de sélection
d’un attribut – critère de branchement
(split)
144. Mesures
Mesures de
de sélection d’attributs
sélection d’attributs
ƒ
ƒ Gain
Gain d’Information
d’Information (ID3,
(ID3,
C4.5)
C4.5)
ƒ
ƒ Indice Gini
Indice Gini (CART)
(CART)
ƒ
ƒ Table de contingence
Table de contingence
statistique
statistique χ
χ2
2 (CHAID)
(CHAID)
ƒ
ƒ G
G-
-statistic
statistic
145. Bonne sélection et branchement ?
CarType
Low Risk
High Risk
Sports
Age
< 25
146. Gain
Gain d’information
d’information
ƒ Sélectionner l’attribut avec le plus grand gain
d’information
ƒ Soient P et N deux classes et S un ensemble
d’instances avec p éléments de P et n éléments
de N
ƒ L’information nécessaire pour déterminer si
une instance prise au hasard fait partie de P
ou N est (entropie) :
n
p
n
n
p
n
n
p
p
n
p
p
n
p
I
+
+
−
+
+
−
= 2
2 log
log
)
,
(
147. Entropie
ƒ S est l’ensemble d’apprentissage
ƒ p+ est la proportion d’exemples positifs (P)
ƒ p- est la proportion d’exemples négatifs (N)
ƒ Entropie mesure l’impureté de S
ƒ Entropie(S) = -p+ log2 p+ - p- log2 p-
148. Gain
Gain d’information
d’information
ƒ Soient les ensembles {S
S1
1, S
, S2
2 , …,
, …, S
Sv
v} formant une
partition de l’ensemble S
S,
, en utilisant l’attribut A
ƒ Toute partition S
Si
i contient pi instances de P
P et ni
instances de N
N
ƒ
ƒ L’entropie
L’entropie, ou l’information nécessaire pour classifier
les instances dans les sous-arbres S
Si est :
ƒ Le gain d’information par rapport au branchement sur
A est
ƒ Choisir l’attribut qui maximise le gain Æ besoin
d’information minimal
∑
= +
+
=
ν
1
)
,
(
)
(
i
i
i
i
i
n
p
I
n
p
n
p
A
E
)
(
)
,
(
)
( A
E
n
p
I
A
Gain −
=
149. Gain
Gain d’information
d’information -
- Exemple
Exemple
Hypothèses
Hypothèses :
:
• Classe P
P : jouer_tennis =
“oui”
• Classe N
N : jouer_tennis =
“non”
• Information nécessaire
pour classer un exemple
donné est :
940
.
0
)
5
,
9
(
)
,
( =
= I
n
p
I
150. Gain
Gain d’information
d’information -
- Exemple
Exemple
Calculer l’entropie pour
l’attribut outlook :
outlook pi ni I(pi, ni)
sunny 2 3 0,971
overcast 4 0 0
rain 3 2 0,971
On a
694
.
0
)
2
,
3
(
14
5
)
0
,
4
(
14
4
)
3
,
2
(
14
5
)
( =
+
+
= I
I
I
outlook
E
Alors 246
.
0
)
(
)
5
,
9
(
)
( =
−
= outlook
E
I
outlook
Gain
De manière similaire
048
.
0
)
(
151
.
0
)
(
029
.
0
)
(
=
=
=
windy
Gain
humidity
Gain
e
temperatur
Gain
158. Algorithme ID3
Outlook
Sunny Overcast Rain
Humidity Yes Wind
[D3,D7,D12,D13]
High Normal Weak
Strong
No Yes No Yes
[D6,D14] [D4,D5,D10]
[D8,D9,D11]
[D1,D2]
159. Indice Gini
Indice Gini
ƒ Utiliser l’indice Gini pour un partitionnement pur
ƒ 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
)
(
)
(
)
,
(
1
)
(
2
2
1
1
2
1
1
2
S
Gini
n
n
S
Gini
n
n
S
S
Gini
p
S
Gini
c
i
i
+
=
−
= ∑
=
160. Indice Gini - Exemple
Indice Gini - Exemple
Revenu
Situation famille
Fraude
Pas fraude
Revenu
Situation famille
Calcul de Gini nécessite une Matrice de dénombrement
Non Oui
<80K 14 9
>80K 1 18
Non Oui
M 5 23
F 10 4
Gini(split) = 0.31 Gini(split) = 0.34
161. Attributs énumératifs – indice GINI
Attributs énumératifs – indice GINI
ƒ Pour chaque valeur distincte, calculer le nombre
d’instances de chaque classe
ƒ Utiliser la matrice de dénombrement pour la prise
de décision
Partage en deux “classes”
(trouver la meilleure partition de valeurs)
Partage en plusieurs
classes
CarType
{Sports,
Luxury}
{Family}
C1 3 1
C2 2 4
Gini 0.400
CarType
Family Sports Luxury
C1 1 2 1
C2 4 1 1
Gini 0.393
CarType
{Sports}
{Family,
Luxury}
C1 2 2
C2 1 5
Gini 0.419
162. Attributs numériques – indice GINI
Attributs numériques – indice GINI
ƒ calcul efficace : pour chaque attribut,
ƒ Trier les instances selon la valeur de l’attribut
ƒ Entre chaque valeur de cette liste : un test possible (split)
ƒ Evaluation de Gini pour chacun des test
ƒ Choisir le split qui minimise l’indice gini
Fraude No No No Yes Yes Yes No No No No
Revenu imposable
60 70 75 85 90 95 100 120 125 220
55 65 72 80 87 92 97 110 122 172 230
<= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= >
Yes 0 3 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0
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
Valeurs triées
Positions Split
163. Méthodes
Méthodes à base
à base d’arbres
d’arbres de
de
décision
décision
ƒ CART (BFO’80 - Classification and
regression trees, variables numériques,
Gini, Elagage ascendant)
ƒ C5 (Quinlan’93 - dernière version ID3 et
C4.5, attributs d’arité quelconque,
entropie et gain d’information)
ƒ
ƒ SLIQ
SLIQ (EDBT’96 — Mehta et al. IBM)
ƒ
ƒ SPRINT
SPRINT (VLDB’96—J. Shafer et al. IBM)
ƒ
ƒ PUBLIC
PUBLIC (VLDB’98 — Rastogi & Shim)
ƒ
ƒ RainForest
RainForest (VLDB’98 — Gehrke,
Ramakrishnan & Ganti)
ƒ CHAID (Chi-square Automation
Interaction Detection – variables
discrètes)
164. Arbres
Arbres de
de décision
décision -
- Avantages
Avantages
ƒ Compréhensible pour tout utilisateur
(lisibilité du résultat – règles - arbre)
ƒ Justification de la classification d’une
instance (racine Æ feuille)
ƒ Tout type de données
ƒ Robuste au bruit et aux valeurs manquantes
ƒ Attributs apparaissent dans l’ordre de
pertinence Æ tâche de pré-traitement
(sélection d’attributs)
ƒ Classification rapide (parcours d’un chemin
dans un arbre)
ƒ Outils disponibles dans la plupart des
environnements de data mining
165. Arbres
Arbres de
de décision
décision -
- Inconvénients
Inconvénients
ƒ Sensibles au nombre de
classes : performances se
dégradent
ƒ Evolutivité dans le temps :
si les données évoluent
dans le temps, il est
nécessaire de relance la
phase d’apprentissage
166. Réseaux de neurones
Réseaux de neurones
ƒ Réseau neuronal : simule le système nerveux biologique
ƒ Un réseau de neurones est composé de plusieurs
neurones interconnectés. Un poids est associé à chaque
arc. A chaque neurone on associe une valeur.
ƒ Temps de ”switch” d’un
neurone > 10-3 secs
ƒ Nombre de neurones
(humain) ~1010
ƒ Connexions (synapses)
par neurone : ~104–105
167. Neurone ou perceptron
Neurone ou perceptron
ƒ Neurone = Unité de calcul élémentaire
ƒ Le vecteur d’entrée X est transformé en une variable de sortie y,
par un produit scalaire et une fonction de transformation non
linéaire
X0
X1
Xn
w0
w1
wn
∑ f
Sortie y
Vecteur
entrée X
Vecteur
poids w
(coefficients
Synaptiques)
Somme
pondérée
Fonction
d’activation
168. Neurone ou perceptron
Neurone ou perceptron
Linear treshold unit (LTU)
Σ
x1
x2
xn
.
.
.
w1
w2
wn
x0=1
w0
Σi=0
n wi xi
o
1 si Σi=0
n wi xi >0
o(xi)=
-1 sinon
{
169. Neurone
Neurone
ƒ Fonction d’activation la plus utilisée est la fonction sigmoide
ƒ Elle prend ses valeurs (entrée et sortie) dans l’intervalle [0,1]
e
x x
+
=
1
1
)
(
σ
1
1
0
170. Réseaux de neurones
ƒ Capacité d ’apprentissage : apprendre et changer son
comportement en fonction de toute nouvelle
expérience.
ƒ Permettent de découvrir automatiquement des
modèles complexes.
ƒ Plusieurs modèles de réseaux de neurones : PMC
(Perceptron Multi-Couches), RBF (Radial Basis
Function), Kohonen, ...
171. Perceptron Multi Couches (PMC)
Couche sortie
Couche
entrée
Plusieurs
Couches
cachées
Vecteur sortie
Calculs effectués des entrées
vers les sorties
Graphe complet
Vecteur entrée
173. Algorithmes d’apprentissage
ƒ Rétro-propagation du gradient (Back
propagation)
ƒ Kohonen
ƒ RBF (Radial basis function)
ƒ Réseaux de neurones probabilistes
ƒ ART (Adaptive resonance theory)
ƒ …
174. Rétro-propagation du gradient
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
175. Construction du réseau
ƒ Nombre de noeuds en entrée : correspond à la
dimension des données du problème (attributs ou
leurs codages).
Normaliser dans l’intervalle [0,1].
Exemple énumératif : Attribut A prenant ses valeurs
{1,2,3,4,5}
ƒ 5 entrées à valeurs binaires ; 3 = 00100
ƒ 3 bits ; 3 = 010
ƒ 1 entrée réelle ; 0, 0.25, 0.5, 0.75, 1
176. Construction du réseau
ƒ Nombre de couches cachées : Ajuster pendant
l’apprentissage.
ƒ Nombre de nœuds par couche : Le nombre de nœuds
par couche est au moins égal à deux et au plus égal au
nombre de nœuds en entrée
ƒ Nombre de nœuds en sortie : fonction du nombre de
classes associées à l’application.
ƒ Réseau riche Æ pouvoir d’expression grand (Ex. 4-2-1
est moins puissant que 4-4-1)
ƒ Attention : Choisir une architecture riche mais pas
trop – Problème de sur-spécialisation
177. Apprentissage du réseau
ƒ Objectif principal : obtenir un ensemble de poids qui
font que la plupart des instances de l’ensemble
d’apprentissage sont correctement classées.
ƒ Etapes :
ƒ Poids initiaux sont générés aléatoirement
ƒ Les vecteurs en entrée sont traités en séquentiel par le
réseau
ƒ Calcul des valeurs d’activation des nœuds cachés
ƒ Calcul du vecteur de sortie
ƒ Calcul de l’erreur (sortie désirée – sortie actuelle).
ƒ d(x) : sortie désirée, a(x) : sortie actuelle
( )
∑ −
∈
=
S
x
x
a
x
d
PMC
e )
(
)
(
2
2
1
)
(
178. Apprentissage du réseau
ƒ Les poids sont mis à jour en utilisant l’erreur. Le nombre
d’instances qui sont passés dans le réseau avant la mise
à jour des poids est un paramètre (entre 1 –
convergence rapide et minimum local - et m –
convergence lente -).
ƒ Rétro propagation à l’aide de la méthode de gradient. Le
paramètre taux d’apprentissage [0,1] influe sur la
modification des poids.
Valeur grande : modification forte ; Valeur petite :
modification minime
179. Apprentissage du réseau
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)
ƒ Critère d’arrêt : la tolérance définit l’erreur cible.
et/ou Nombre d’instances bien classées (seuil)
181. Elagage du réseau
ƒ Réseau fortement connexe est difficile à articuler
ƒ N nœuds en entrée, h couches cachées, et m nœuds
en sortie Æ h(m+n) arcs (poids)
ƒ Elagage : Supprimer les arcs et les nœuds qui
n’affectent pas le taux d’erreur du réseau. Eviter le
problème de sur-spécialisation (over-fitting).
Ceci permet de générer des règles concises et
compréhensibles.
182. Réseaux de neurones - Avantages
ƒ
ƒ Taux d’erreur généralement
Taux d’erreur généralement bon
bon
ƒ
ƒ Outil disponible dans
Outil disponible dans les
les
environnements
environnements de data mining
de data mining
ƒ
ƒ Robustesse
Robustesse (bruit)
(bruit) –
–
reconnaissance de
reconnaissance de formes
formes (son,
(son,
images
images sur une rétine
sur une rétine, …)
, …)
ƒ
ƒ Classification
Classification rapide
rapide (
(réseau
réseau
étant construit
étant construit)
)
ƒ
ƒ Combinaison
Combinaison avec
avec d’autres
d’autres
méthodes
méthodes (ex :
(ex : arbre
arbre de
de décision
décision
pour
pour sélection d’attributs
sélection d’attributs)
)
183. Réseaux de neurones -
Inconvénients
ƒ
ƒ Apprentissage très
Apprentissage très long
long
ƒ
ƒ Plusieurs paramètres
Plusieurs paramètres
(architecture, coefficients
(architecture, coefficients
synaptiques
synaptiques, …)
, …)
ƒ
ƒ Pouvoir explicatif faible
Pouvoir explicatif faible (
(boite
boite
noire)
noire)
ƒ
ƒ Pas facile
Pas facile d’incorporer
d’incorporer les
les
connaissances du domaine
connaissances du domaine.
.
ƒ
ƒ Traitent facilement
Traitent facilement les
les attributs
attributs
numériques
numériques et
et binaires
binaires
ƒ
ƒ Evolutivité dans
Evolutivité dans le temps (phase
le temps (phase
d’apprentissage
d’apprentissage)
)
184. Classification
Classification bayésienne
bayésienne :
:
Pourquoi
Pourquoi ? (1)
? (1)
ƒ
ƒ Apprentissage probabiliste
Apprentissage probabiliste :
ƒ calcul explicite de probabilités sur des
hypothèses
ƒ Approche pratique pour certains types de
problèmes d’apprentissage
ƒ
ƒ Incrémental
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.
185. Classification
Classification bayésienne
bayésienne :
:
Pourquoi
Pourquoi ? (2)
? (2)
ƒ
ƒ Prédiction Probabiliste
Prédiction Probabiliste :
ƒ Prédit des hypothèses multiples, pondérées par
leurs probabilités.
ƒ
ƒ Référence
Référence en
en terme d’évaluation
terme d’évaluation :
ƒ Même si les méthodes bayésiennes sont
coûteuses en temps d’exécution, elles peuvent
fournir des solutions optimales à partir
desquelles les autres méthodes peuvent être
évaluées.
186. Classification
Classification bayésienne
bayésienne
ƒ Le problème de classification peut être formulé
en utilisant les probabilités a
a-
-posteriori
posteriori :
:
ƒ
ƒ P(
P(C|X) =
) = probabilité que le tuple (instance)
(instance)
X=<x1,…,xk> est dans la classe C
ƒ Par exemple
ƒ
ƒ P(
P(classe=
=N |
N | outlook=sunny,windy=true,…)
)
ƒ
ƒ Idée :
Idée : affecter à une instance X la classe C
telle que P(
P(C|X)
) est maximale
187. Estimation des
Estimation des probabilités
probabilités a
a-
-
posteriori
posteriori
ƒ
ƒ Théorème
Théorème de
de Bayes
Bayes :
ƒ
ƒ P(
P(C|X) = P(
) = P(X|C)·P(
)·P(C) / P(
) / P(X)
)
ƒ
ƒ P(
P(X)
) est une constante pour toutes les
classes
ƒ
ƒ P(
P(C)
) = fréquence relative des
instances de la classe C
C
ƒ C tel que P(
P(C|X) est maximal =
C tel que P(
P(X|C)·P(
)·P(C)
) est maximal
ƒ
ƒ Problème
Problème : calculer P(
P(X|C)
) est non
faisable !
188. Classification
Classification bayésienne
bayésienne naive
naive
ƒ Hypothèse Naïve : indépendance des
attributs
attributs
ƒ
ƒ P(
P(x1,…,xk|C) = P(
) = P(x1|C)·…·P(
)·…·P(xk|C)
)
P(
P(xi|C)
) est estimée comme la fréquence
relative des instances possédant la valeur
xi (i-ème attribut) dans la classe C
ƒ Non coûteux à calculer dans les deux cas
190. Classification
Classification bayésienne
bayésienne –
–
Exemple
Exemple (1)
(1)
ƒ Classification de X :
ƒ Une instance inconnue X = <rain, hot, high, false>
ƒ
ƒ P(
P(X|p)·P(
)·P(p) =
) =
P(
P(rain|p)·P(
)·P(hot|p)·P(
)·P(high|p)·P(
)·P(false|p)·P(
)·P(p) =
) =
3/9·2/9·3/9·6/9·9/14 =
= 0.010582
ƒ
ƒ P(
P(X|n)·P(
)·P(n) =
) =
P(
P(rain|n)·P(
)·P(hot|n)·P(
)·P(high|n)·P(
)·P(false|n)·P(
)·P(n) =
) =
2/5·2/5·4/5·2/5·5/14 =
= 0.018286
0.018286
ƒ Instance X est classifiée dans la classe n (ne pas
jouer)
191. Classification
Classification bayésienne
bayésienne –
–
l’hypothèse d’indépendance
l’hypothèse d’indépendance
ƒ … fait que le calcul est possible
ƒ … trouve un modèle de classification optimal si
hypothèse satisfaite
ƒ … mais est rarement satisfaite en pratique, étant
donné que les attributs (variables) sont souvent
corrélés.
ƒ Pour éliminer cette limitation :
ƒ
ƒ Réseaux bayésiens
Réseaux bayésiens, qui combinent le
raisonnement bayésien et la relation causale
entre attributs
ƒ
ƒ Arbres
Arbres de
de décision
décision, qui traitent un attribut à la
fois, considérant les attributs les plus importants
en premier
193. Les protéines
ƒ Une protéine = séquence d’acides aminés définie par un gêne
et ayant une fonction spécifique dans la cellule
« Building block of life »
• Les protéines sont partout :
• Protéines enzymatiques (catalyse)
• Protéines de transport : hémoglobine (oxygène),
albumine (corps gras) …
• Protéine messager : insuline …
• Protéines récepteur
• Protéines sériques : anticorps
• Protéines structurelles : collagène dans la peau,
kératine dans les cheveux, …
• …
194. Les protéines
ƒ 20 acides aminés distincts, chaque acide aminé étant
constitué de (jusqu’à) 18 atomes
ƒ Une séquence protéique est constituée de 50 à 2000
acides aminés
ƒ 3000 à 4000 protéines dans une cellule
ƒ Une protéine se replie « en pelote », adoptant une
configuration spatiale caractéristique de sa fonction
195. Les 20 Acides Aminés
ƒ M Met Methionine
ƒ N Asn Asparagine
ƒ P Pro Proline
ƒ Q Gln Glutamine
ƒ R Arg Arginine
ƒ S Ser Serine
ƒ T Thr Threonine
ƒ V Val Valine
ƒ W Trp Tryptophan
ƒ Y Tyr Tyrosine
ƒ A Ala Alanine
ƒ C Cys Cysteine
ƒ D Asp Aspartic
ƒ E Glu Glutamic
ƒ F Phe Phenylalanine
ƒ G Gly Glycine
ƒ H His Histidine
ƒ I Ile Isoleucine
ƒ K Lys Lysine
ƒ L Leu Leucine
20 Lettres de l’alphabet
196. Les structures
ƒ Structure primaire = ordre dans lequel sont
enchaînés les acides aminés dans la molécule
ƒ Structure secondaire = rotation des atomes de la
chaîne peptidique les uns par rapport aux autres au
cours de la synthèse de la chaîne
ƒ Structure tertiaire = résultat de liaisons diverses
(hydrogène, hydrophobes, électrostatiques,
covalentes,...) entre des acides aminés de la même
chaîne peptidique mais non voisins dans la
structure primaire
197. Structure primaire
O H O H O H O H O H O H O H
H3N+ CH C N CH C N CH C N CH C N CH C N CH C N CH C N CH COO-
CH2 CH2 CH CH2 H C CH3 CH2 CH2 CH2 CH2
COO- CH2 H3C CH3 CH2 HC CH CH2
CH2 CH3 HN N
NH CH
C
NH2 N+H2
Asp Arg Val Tyr Ile His Pro Phe
D R V Y I H P F
Séquence de la protéine : DRVYIHPF
198. Protein Folding Problem
Etant donné une séquence primaire de la protéine, ex.,
MDPNCSCAAAGDSCTCANSCTCLACKCTSCK,
prédire la structure secondaire et 3D.
199. Base de données
Structures prédites (connues) :
Protein Data Bank (PDB) (centaine de structures
non redondantes) [www.rcsb.org/pdb/]
Base de données de séquences de protéines :
Genbank (milliers de séquences)
[www.ncbi.nlm.nih.gov/Genbank/GenbankSearch.html]
SWISSPROT
[www.ebi.ac.uk/swissprot]
200. Structure secondaire
ƒ Hélice α
ƒ Feuillet ß parallèle :
tous les segments
ont la même
orientation
ƒ Feuillet ß anti-
parallèle
ƒ Feuillet ß mixte
201. Structure secondaire
ƒ Hélice α
ƒ Feuillet ß parallèle :
tous les segments
ont la même
orientation
ƒ Feuillet ß anti-
parallèle
ƒ Feuillet ß mixte
203. 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.).
Structure primaire Structure
secondaire / tertiaire
204. Réseaux de neurones
- Le processus neuronal de base traite des signaux
d'entrée d'un ou plusieurs neurones et envoie un
signal de sortie à un ou plusieurs (un 0 ou un 1)
- Le signal de sortie à chaque neurone récepteur est
pondéré – ces poids sont ajustés par entraînement
du modèle avec des séquences de structures
connues
- Le programme donne une évaluation de fiabilité de
chaque prévision basée sur la force des signaux
d’une hélice alpha, d’un feuillet bêta et d’une
boucle
Référence : Rost B, Sander C (1994) Combining evolutionary
information and neural networks to predict protein
secondary structure. Proteins, 19, 55-72
205. Réseaux de neurones
… Entrée
Sortie
Couche cachée
ƒ Entrée : structure
primaire
ƒ Sortie : indication sur
la structure
secondaire
Boucle
C
Hélice α
H
Feuillet β
B
Efficacité > 70%
206. Plus proches voisins
ƒ Une liste de fragments courts de séquence
est faite en glissant une fenêtre de
longueur n le long d'un ensemble
d'approximativement 100-400 séquence
d’entraînement de structure connue mais
de similitude minimale
ƒ La structure secondaire de l'acide aminé
central dans chaque fenêtre
d’entraînement est enregistrée
ƒ Une fenêtre coulissante de même taille est
alors choisi parmi la séquence de requête
207. Plus proches voisins
ƒ La séquence dans la fenêtre à chaque position de la
séquence demandée est comparée à chacun des
fragments d’entraînement et les 50 meilleurs
fragments appariés sont identifiés → Nécessité
d’une notion de distance
ƒ Les fréquences de la structure secondaire connue
de l'acide aminé du milieu dans chacun de ces
fragments appariés (H, B et C) sont alors employés
pour prévoir la structure secondaire de l'acide
aminé du milieu de la fenêtre de requête
ƒ Des règles ou un NN sont utilisées pour faire la
prédiction finale pour chaque AA.
208. Liens Web - Logiciels
ƒ 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
ƒ (B Rost: PHD: predicting one-dimensional protein
structure by profile based neural networks. Methods
in Enzymology, 266, 525-539, 1996 )
209. Autres méthodes
Autres méthodes de classification
de classification
ƒ
ƒ Réseaux bayésiens
Réseaux bayésiens
ƒ
ƒ Algorithmes génétiques
Algorithmes génétiques
ƒ
ƒ Case
Case-
-based reasoning
based reasoning
ƒ
ƒ Ensembles
Ensembles flous
flous
ƒ
ƒ Rough set
Rough set
ƒ
ƒ Analyse discriminante
Analyse discriminante
(
(Discriminant linéaire de Fisher,
Algorithme Closest Class Mean -
CCM-)
Autres
Autres
méthodes
méthodes
210. Classification
Classification -
- Résumé
Résumé
ƒ
ƒ La
La classification
classification est
est un
un
problème largement étudié
problème largement étudié
ƒ
ƒ La
La classification,
classification, avec
avec ses
ses
nombreuses
nombreuses extensions
extensions,
,
est probablement
est probablement la
la
technique la plus
technique la plus répandue
ƒ Modèles
ƒ Arbres de décision
ƒ Règles d’induction
ƒ Modèles de régression
ƒ Réseaux de neurones
répandue
Facile à comprendre
Difficile à comprendre
211. Classification
Classification -
- Résumé
Résumé
ƒ
ƒ L’extensibilité
L’extensibilité reste une
reste une
issue
issue importante
importante pour les
pour les
applications
applications
ƒ
ƒ Directions de
Directions de recherche
recherche :
:
classification de
classification de données
données
non
non relationnels
relationnels, e.x.,
, e.x.,
texte
texte,
, spatiales
spatiales et
et
données multimédia
données multimédia
212. Classification
Classification -
- Références
Références
ƒ J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan
Kaufman, 1993.
ƒ J. R. Quinlan. Induction of decision trees. Machine Learning,
1:81-106, 1986.
ƒ L. Breiman, J. Friedman, R. Olshen, and C. Stone. Classification
and Regression Trees. Wadsworth International Group, 1984.
ƒ S. M. Weiss and C. A. Kulikowski. Computer Systems that Learn:
Classification and Prediction Methods from Statistics, Neural
Nets, Machine Learning, and Expert Systems. Morgan Kaufman,
1991.
ƒ D. E. Rumelhart, G. E. Hinton and R. J. Williams. Learning
internal representation by error propagation. In D. E. Rumelhart
and J. L. McClelland (eds.) Parallel Distributed Processing. The
MIT Press, 1986
215. Exemple
Exemple :
: Analyse du panier
Analyse du panier
de la
de la ménagère
ménagère
•
• Découverte d’
Découverte d’associations
associations et de
et de corrélations
corrélations entre
entre les
les
articles
articles achetés
achetés par les clients en
par les clients en analysant
analysant les
les achats
achats
effectués
effectués (
(panier
panier)
)
Client 1
Client 1
Lait
Lait,
, Oeufs
Oeufs, Sucre,
, Sucre,
Pain
Pain
Client 3
Client 3
Oeufs
Oeufs, Sucre
, Sucre
Client 2
Client 2
Lait
Lait,
, Oeufs
Oeufs,
, Céréale
Céréale,
, Lait
Lait
216. Exemple
Exemple :
: Analyse du panier
Analyse du panier
de la
de la ménagère
ménagère
•
• Etant donnée
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
set of items-
-
(ex., produits)
•
• Trouver :
Trouver :
• Groupes d’articles (itemset) achetés fréquemment (ensemble)
217. Exemple
Exemple :
: Analyse du panier
Analyse du panier
de la
de la ménagère
ménagère
ƒ
ƒ Extraction d’informations sur le comportement
Extraction d’informations sur le comportement
de clients
de clients
ƒ SI achat de riz + vin blanc ALORS achat de poisson (avec
une grande probabilité)
ƒ
ƒ Intérêt
Intérêt de
de l’information
l’information :
: peut suggérer
peut suggérer ...
...
ƒ Disposition des produits dans le magasin
ƒ Quels produits mettre en promotion, gestion de stock, …
ƒ
ƒ Approche
Approche applicable
applicable dans d’autres domaines
dans d’autres domaines
ƒ Cartes de crédit, e-commerce, …
ƒ Services des compagnies de télécommunication
ƒ Services bancaires
ƒ Traitements médicaux, …
218. Règles d’associations
Règles d’associations
ƒ
ƒ Recherche
Recherche de
de règles d’association
règles d’association :
:
ƒ Découvrir des patterns, corrélations, associations
fréquentes, à partir d’ensembles d’items contenus dans
des base de données.
ƒ
ƒ Compréhensibles
Compréhensibles :
: Facile à comprendre
ƒ
ƒ Utiles
Utiles :
: Aide à la décision
ƒ
ƒ Efficaces
Efficaces :
: Algorithmes de recherche
ƒ
ƒ Applications
Applications :
:
ƒ Analyse des achats de clients, Marketing, Accés Web,
Design de catalogue, Génomique, etc.
219. Règles d’associations
Règles d’associations
ƒ
ƒ Formats de
Formats de représentation
représentation des
des règles
règles
d’association
d’association :
:
ƒ couches ⇒ bière [0.5%, 60%]
ƒ achète:couches ⇒ achète:bière [0.5%, 60%]
ƒ “SI achète couches ALORS achète bière dans 60% de
cas. Les couches et la bière sont tous deux achetés dans
0.5% des transactions de la base de données."
ƒ
ƒ Autres représentations
Autres représentations (
(utilisée dans l’ouvrage
utilisée dans l’ouvrage
de Han) :
de Han) :
ƒ achète(x, “couches") ⇒ achète(x, “bière") [0.5%, 60%]
220. Règles d’associations
Règles d’associations
couche ⇒ bière [0.5%, 60%]
1 2 3 4
“SI achète couche,
ALORS achète bière,
dans 60% de cas,
dans 0.5% de la base"
1
1 Condition
Condition, partie gauche de la règle
2
2 Cons
Consé
équence
quence, partie droite de la règle
3
3 Support
Support, fréquence (“partie gauche et droite sont
présentes ensemble dans la base”)
4
4 Confiance
Confiance (“si partie gauche de la règle est
vérifiée, probabilité que la partie droite de la
règle soit vérifiée“)
221. Règles d’associations
Règles d’associations
•
• Support
Support :
: % d’instances de la base vérifiant la règle.
support(
support(A
A ⇒
⇒ B [ s, c ]
B [ s, c ]) =
) = p(
p(A
A∪
∪B
B) =
) = support ({A,B})
support ({A,B})
•
• Confiance
Confiance :
: % d’instances de la base vérifiant l’implication
confiance
confiance(
(A
A ⇒
⇒ B [ s, c ]
B [ s, c ]) =
) = p(B|A)
p(B|A) =
= p(A
p(A∪
∪B) / p(A) =
B) / p(A) =
support({A,B}) / support({A})
support({A,B}) / support({A})
222. Exemple
Exemple
TID Items
1 Pain, Lait
2 Bière, Couches, Pain, Oeufs
3 Bière, Coca, Couches, Lait
4 Bière, Pain, Couches, Lait
5 Coca, Pain, Couches, Lait
y
X ,α
s
⇒
))
y
X,
(
(
|
|
)
y
X
(
P
s
T
s =
∪
=
σ
))
X
|
y
(
(
|
)
X
(
)
y
X
(
P
=
∪
= α
σ
σ
α
Règle :
Support :
Confiance :
ière
ouches s
B
}
Lait
,
C
{ ,α
⇒
4
.
0
5
2
instances
d'
total
Nombre
)
Bière
Lait,
,
C
(
=
=
=
ouches
s
σ
66
.
0
|
)
Lait
,
C
(
)
Bière
Lait,
,
C
(
=
=
ouches
ouches
σ
σ
α
223. Règles d’associations
Règles d’associations
ƒ
ƒ Support minimum
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
Confiance minimum
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
Valeurs utilisées :
: σ
σ = 2 - 10 %, γ
γ = 70 - 90 %
224. Règles d’associations
Règles d’associations
ƒ
ƒ Etant donné
Etant donné :
: (1) un base de données de
transactions, (2) chaque transaction est un
ensemble d’articles (items) achetés
ƒ
ƒ Trouver
Trouver :
: toutes les règles avec un support et une
confiance minimum donnés
Transaction ID Items achetés
100 A,B,C
200 A,C
400 A,D
500 B,E,F
Itemset fréquent Support
{A} 3 ou 75%
{B} et {C} 2 ou 50%
{D}, {E} et {F} 1 ou 25%
{A,C} 2 ou 50%
Autres paires d’items max 25%
• Si support min. 50% et confiance min. 50%, alors
A
A ⇒
⇒ C
C [50%, 66.6%], C
C ⇒
⇒ A
A [50%, 100%]
225. Recherche de règles d’association
Recherche de règles d’association
ƒ Données d ’entrée : liste d ’achats
ƒ Achat = liste d ’articles (longueur variable)
Produit
A
Produit
B
Produit
C
Produit
D
Produit
E
Achat 1
* *
Achat 2
* * *
Achat 3
* *
Achat 4
* * *
Achat 5
* *
226. Recherche de règles d’association
Recherche de règles d’association
ƒ Tableau de co-occurrence : combien de fois deux
produits ont été achetés ensemble ?
Produit
A
Produit
B
Produit
C
Produit
D
Produit
E
Produit A 4 1 1 2 1
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
227. Illustration / Exemple
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%
ƒ On préfère la règle 3 à la règle 2.
228. Description de la méthode
Description de la méthode
ƒ Support et confiance ne sont pas toujours suffisants
ƒ Ex : Soient les 3 articles A, B et C
ƒ Règles à 3 articles : même support 5%
ƒ Confiance
ƒ Règle : Si A et B alors C = 0.20
ƒ Règle : Si A et C alors B = 0.25
ƒ Règle : Si B et C alors A = 0.33
article A B C A et B A et C B et C A, B et C
fréquence 45% 42,5% 40% 25% 20% 15% 5%
229. Description de la méthode
Description de la méthode
ƒ Amélioration = confiance / fréq(résultat)
ƒ Comparer le résultat de la prédiction en utilisant la
règle avec la prédiction sans la règle
ƒ Règle intéressante si Amélioration > 1
ƒ Règle : Si A alors B ; support=25% ; confiance=55% ;
Amélioration = 1.31 Meilleure règle
Règle Confiance F(résultat) Amélioration
Si A et B alors C 0.20 40% 0.50
Si A et C alors B 0.25 42.5% 0.59
Si B et C alors A 0.33 45% 0.74
230. Recherche de règles
Recherche de règles
ƒ Soient une liste de n articles et de m achats.
ƒ 1. Calculer le nombre d’occurrences de chaque article.
ƒ 2. Calculer le tableau des co-occurrences pour les paires
d ’articles.
ƒ 3. Déterminer les règles de niveau 2 en utilisant les
valeurs de support, confiance et amélioration.
ƒ 4. Calculer le tableau des co-occurrences pour les
triplets d ’articles.
ƒ 5. Déterminer les règles de niveau 3 en utilisant les
valeurs de support, confiance et amélioration
ƒ ...
231. Complexité
Complexité
ƒ Soient :
ƒ n : nombre de transactions dans la BD
ƒ m : Nombre d’attributs (items) différents
ƒ Complexité
ƒ Nombre de règles d’association :
ƒ Complexité de calcul :
)
2
.
( 1
−
Ο m
m
)
2
.
.
( m
m
n
Ο
232. ƒ 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
ƒ Conclusion de la règle restreinte à un sous-ensemble de l ’ensemble
des articles vendus.
ƒ Exemple : articles nouvellement vendues.
ƒ Création de groupes d ’articles (différents niveaux d’abstraction).
ƒ Elagage par support minimum.
Réduction de la complexité
Réduction de la complexité
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
233. Illustration sur une BD commerciale
Illustration sur une BD commerciale
Attribut Compteur
Pain 4
Coca 2
Lait 4
Bière 3
Couches 4
Oeufs 1
Attributs (1-itemsets)
Itemset Compteur
{Pain,Lait} 3
{Pain,Bière} 2
{Pain,Couches} 3
{Lait,Bière} 2
{Lait,Couches} 3
{Bière,Couches} 3
paires (2-itemsets)
Triplets (3-itemsets)
Support Minimum = 3
Itemset Compteur
{Pain,Lait,Couches} 3
{Lait,Couches,Bière} 2
Si tout sous-ensemble est considéré,
C6
1 + C6
2 + C6
3 = 41
En considérant un seuil support min,
6 + 6 + 2 = 14
234. L’algorithme Apriori [Agrawal93]
L’algorithme Apriori [Agrawal93]
ƒ 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
ƒ Construction des règles à partir des k-itemsets
trouvés
ƒ Une règle fréquente est retenue si et seulement si sa
confiance c≥ MINCONF
ƒ Exemple : ABCD fréquent
ƒ AB Æ CD est retenue si sa confiance ≥ MINCONF
236. Recherche des k-itemsets fréquents (2)
Recherche des k-itemsets fréquents (2)
ƒ Calcul de L3 (ensemble des 3-itemsets)
ƒ C3 = {ABD} (ABC ∉ C3 car AC ∉ L2)
ƒ s(ABD) = 3/6
ƒ L3 = {ABD}
ƒ Calcul de L4 (ensemble des 4-itemsets)
ƒ C4 = φ
ƒ L4 = φ
ƒ Calcul de L (ensembles des itemsets fréquents)
ƒ L = ∪Li = {A, B, C, D, AB, AD, BD, CD, ABD}
237. L’algorithme Apriori
L’algorithme Apriori
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;
238. La procédure Apriori_gen
La procédure Apriori_gen
{ Jointure Lk-1 * Lk-1 ; k-2 éléments communs}
insert into Ck;
select p.item1, p.item2, …, p.itemk-1, q.itemk-1
from Lk-1p, Lk-1q
where p.item1=q.item1, …, p.itemk-2=q.itemk-2
, p.itemk-1< q.itemk-1
forall itemsets c ∈ Ck do
forall (k-1)-itemsets s⊂c do
if s∉Lk-1 then
delete c from Ck;
239. Apriori - Exemple
Apriori - Exemple
TID Items
100 1 3 4
200 2 3 5
300 1 2 3 5
400 2 5
Base de
Base de
données
données D
D
Scan D
Scan D
itemset sup.
{1} 2
{2} 3
{3} 3
{4} 1
{5} 3
C
C1
1
itemset sup.
{1} 2
{2} 3
{3} 3
{5} 3
L
L1
1
240. Apriori - Exemple
Apriori - Exemple
itemset
{1 2}
{1 3}
{1 5}
{2 3}
{2 5}
{3 5}
C
C2
2
Scan D
Scan D
itemset sup
{1 2} 1
{1 3} 2
{1 5} 1
{2 3} 2
{2 5} 3
{3 5} 2
C
C2
2
itemset sup
{1 3} 2
{2 3} 2
{2 5} 3
{3 5} 2
L
L2
2
241. Apriori - Exemple
Apriori - Exemple
itemset
{2 3 5}
C
C3
3
itemset sup
{2 3 5} 2
L
L3
3
Scan D
Scan D
245. Génération des règles à partir des itemsets
Génération des règles à partir des itemsets
ƒ
ƒ Pseudo
Pseudo-
-code
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
ƒ
ƒ Exemple
Exemple :
: itemset fr
itemset fré
équent
quent l = {
l = {abc
abc},
},
ƒ
ƒ Sous
Sous-
-itemsets
itemsets s = {a, b, c,
s = {a, b, c, ab
ab, ac,
, ac, bc
bc)
)
ƒ a ⇒
⇒ bc, b ⇒
⇒ ac, c ⇒
⇒ ab
ƒ ab ⇒
⇒ c, ac ⇒
⇒ b, bc ⇒
⇒ a