SlideShare une entreprise Scribd logo
1  sur  325
Télécharger pour lire hors ligne
O
Laboratoire d’Informatique
Fondamentale de Lille
OP
AC
OP
AC
Fouille de données (Data Mining)
- Un tour d’horizon -
E-G. Talbi
talbi@lifl.fr
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
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
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
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
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
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
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
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
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
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.
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, …)
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
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.
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)
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
*
*
*
*
*
*
*
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
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...
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.
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.
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.
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 !
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!
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.
.
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.)
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
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 ?
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, …
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
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
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.
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)
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%
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)
Illustration
Illustration
Point isolé
Techniques utilisées
ƒ K-moyennes, A-priori, K-NN
ƒ Réseaux de neurones
ƒ Algorithmes génétiques
ƒ Chaînes de Markov cachées
ƒ Arbres de décision
ƒ Réseaux bayesiens
ƒ Soft computing : ensembles flous
ƒ …
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, …)
Travaux pratiques :
Cadre du travail
WEKA 3.2
Waikato Environment for Knowledge
Analysis
http://www.cs.waikato.ac.nz/ml/weka/
http://www.lifl.fr/~jourdan
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
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
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
Weka - Explorer
Les fonctions disponibles :
ƒ Filtre et Preprocess sur les données
ƒ Classification
ƒ Clustering
ƒ Règles d’association
ƒ Sélection d’attributs
ƒ Visualisateur
Plan du cours
ƒ Clustering
ƒ Classification
ƒ Règles d’association
ƒ Outils pour le Data Mining
Plan
Plan
Clustering
(Segmentation)
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é
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)
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.
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
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
Exemple: segmentation de marchés
Exemple: segmentation de marchés
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
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
+
≤
=
=
=
≥
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
)
,
(
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, ...
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
+
+
+
=
)
,
(
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
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
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 −
=
)
,
(
Distance – Données mixtes
Distance – Données mixtes
ƒ Exemple : (Age, Propriétaire résidence principale, montant
des mensualités en cours)
ƒ x=(30,1,1000), y=(40,0,2200), z=(45,1,4000)
ƒ d(x,y)=sqrt( (10/15)2 + 12 + (1200/3000)2) = 1.27
ƒ d(x,z)= sqrt( (15/15)2 + 02 + (3000/3000)2) = 1.41
ƒ d(y,z)= sqrt( (5/15)2 + 12 + (1800/3000)2) = 1.21
ƒ plus proche voisin de x = y
ƒ Distances normalisées.
ƒ Sommation : d(x,y)=d1(x1,y1) + … + dn(xn,yn)
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
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)
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
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.
.
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.
Illustration (1)
Illustration (1)
Centres
initiaux
Illustration (2)
Illustration (2)
Nouveaux
centres
Illustration (3)
Illustration (3)
Centres
finaux
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
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, …
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
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)
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)
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.
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
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
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 ∈
∈
=
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
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
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.
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
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
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 ».
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 …
Méthodes basées sur la densité
ƒ Deux clusters sont trouvés
ƒ Deux points sont des « bruits »
ƒ Trois points sont des « bordures »
Etude de cas réel : Génomique
Sélection d’attributs
+ Clustering
LIFL : Equipe OPAC
I.B.L
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
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
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
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
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
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.
Workshop GAW11 de 1998
ƒ Données simulées dont on connaît les
résultats
ƒ Résultats à trouver :
A B
D
C
E1
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
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
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.
.
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, …
, …
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.
Classification
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é
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 !!!)
Classification
Classification -
- Applications
Applications
Applications
Applications
ƒ
ƒ Accord de crédit
Accord de crédit
ƒ
ƒ Marketing ciblé
Marketing ciblé
ƒ
ƒ Diagnostic médical
Diagnostic médical
ƒ
ƒ Analyse de l’effet d’un
Analyse de l’effet d’un
traitement
traitement
ƒ
ƒ Détection de fraudes
Détection de fraudes
fiscales
fiscales
ƒ
ƒ etc
etc.
.
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
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
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
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
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
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
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 ?
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
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é
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)
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.
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
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.
Illustration
Illustration
Voisinage
5 de la classe
=
3 de la classe
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.
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
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 ?
Arbre de décision - Exemple
Outlook
Sunny Overcast Rain
Humidity Yes Wind
High Normal Strong Weak
No Yes No Yes
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
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
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
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
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
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
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
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
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
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
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
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
Overfitting dans les arbres de décision
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)
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
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
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
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 ?
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
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
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
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)
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)
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
Bonne sélection et branchement ?
CarType
Low Risk
High Risk
Sports
Age
< 25
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
)
,
(
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-
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 −
=
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
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
Quel Attribut est ”meilleur” ?
A1=?
True False
[21+, 5-] [8+, 30-]
[29+,35-] A2=?
True False
[18+, 33-] [11+, 2-]
[29+,35-]
Gain
Gain d’information
d’information -
- Exemple
Exemple
ƒ Gain(S,A) : réduction attendue de l’entropie dûe
au branchement de S sur l’attribut A
Gain(S,A)=Entropie(S) - ∑v∈values(A) |Sv|/|S| Entropie(Sv)
Entropie([29+,35-]) = -29/64 log2 29/64 – 35/64 log2 35/64
= 0.99
A1=?
True False
[21+, 5-] [8+, 30-]
[29+,35-] A2=?
True False
[18+, 33-] [11+, 2-]
[29+,35-]
Gain
Gain d’information
d’information -
- Exemple
Exemple
A1=?
True False
[21+, 5-] [8+, 30-]
[29+,35-]
Entropie([21+,5-]) = 0.71
Entropie([8+,30-]) = 0.74
Gain(S,A1)=Entropie(S)
-26/64*Entropie([21+,5-])
-38/64*Entropie([8+,30-])
=0.27
Entropie([18+,33-]) = 0.94
Entropie([8+,30-]) = 0.62
Gain(S,A2)=Entropie(S)
-51/64*Entropie([18+,33-])
-13/64*Entropie([11+,2-])
=0.12
A2=?
True False
[18+, 33-] [11+, 2-]
[29+,35-]
Exemple d’apprentissage
No
Strong
High
Mild
Rain
D14
Yes
Weak
Normal
Hot
Overcast
D13
Yes
Strong
High
Mild
Overcast
D12
Yes
Strong
Normal
Mild
Sunny
D11
Yes
Strong
Normal
Mild
Rain
D10
Yes
Weak
Normal
Cold
Sunny
D9
No
Weak
High
Mild
Sunny
D8
Yes
Weak
Normal
Cool
Overcast
D7
No
Strong
Normal
Cool
Rain
D6
Yes
Weak
Normal
Cool
Rain
D5
Yes
Weak
High
Mild
Rain
D4
Yes
Weak
High
Hot
Overcast
D3
No
Strong
High
Hot
Sunny
D2
No
Weak
High
Hot
Sunny
D1
Play Tennis
Wind
Humidit
y
Temp.
Outlook
Day
Sélection de l’attribut suivant
S=[9+,5-]
E=0.940
Humidity
High Normal
[3+, 4-] [6+, 1-]
Gain(S,Humidity)
=0.940-(7/14)*0.985
– (7/14)*0.592
=0.151
E=0.985 E=0.592
Weak
S=[9+,5-]
E=0.940
Wind
Strong
[6+, 2-] [3+, 3-]
E=0.811 E=1.0
Gain(S,Wind)
=0.940-(8/14)*0.811
– (6/14)*1.0
=0.048
Sélection de l’attribut suivant
Rain
[4+, 0]
S=[9+,5-]
E=0.940
Outlook
Over
cast
Sunny
[3+, 2-]
[2+, 3-]
E=0.971
E=0.971 E=0.0
Gain(S,Outlook)
=0.940-(5/14)*0.971
-(4/14)*0.0 – (5/14)*0.0971
=0.247
Algorithme ID3
Outlook
Sunny Overcast Rain
[D1,D2,…,D14]
[9+,5-]
[D3,D7,D12,D13]
[4+,0-]
[D4,D5,D6,D10,D14]
[3+,2-]
Ssunny=[D1,D2,D8,D9,D11]
[2+,3-]
Yes
? ?
Gain(Ssunny , Humidity)=0.970-(3/5)0.0 – 2/5(0.0) = 0.970
Gain(Ssunny , Temp.)=0.970-(2/5)0.0 –2/5(1.0)-(1/5)0.0 = 0.570
Gain(Ssunny , Wind)=0.970= -(2/5)1.0 – 3/5(0.918) = 0.019
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]
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
+
=
−
= ∑
=
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
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
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
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)
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
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
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
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
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
{
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
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, ...
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
Paradigme d’apprentissage
Vecteur sortie
Classification : Ajuster les poids
en utilisant l’erreur
Erreur = Valeur désirée – Valeur
actuelle
Vecteur entrée
Algorithmes d’apprentissage
ƒ Rétro-propagation du gradient (Back
propagation)
ƒ Kohonen
ƒ RBF (Radial basis function)
ƒ Réseaux de neurones probabilistes
ƒ ART (Adaptive resonance theory)
ƒ …
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
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
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
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
)
(
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
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)
Apprentissage du réseau
(w1,w2)
(w1+∆w1,w2 +∆w2)
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.
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)
)
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)
)
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.
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.
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
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 !
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
Classification
Classification bayésienne
bayésienne –
–
Exemple
Exemple (1)
(1)
ƒ Estimation de P(
P(xi|C)
)
P(n
n) = 5/14
P(p
p) = 9/14
Outlook
P(sunny | p) = 2/9 P(sunny | n) = 3/5
P(overcast | p) = 4/9 P(overcast | n) = 0
P(rain | p) = 3/9 P(rain | n) = 2/5
Temperature
P(hot | p) = 2/9 P(hot | n) = 2/5
P(mild | p) = 4/9 P(mild | n) = 2/5
P(cool | p) = 3/9 P(cool | n) = 1/5
Humidity
P(high | p) = 3/9 P(high | n) = 4/5
P(normal | p) = 6/9 P(normal | n) = 1/5
Windy
P(true | p) = 3/9 P(true | n) = 3/5
P(false | p) = 6/9 P(false | n) = 2/5
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)
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
Etude de cas
Prédiction de structure de la
protéine
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, …
• …
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
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
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
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
Protein Folding Problem
Etant donné une séquence primaire de la protéine, ex.,
MDPNCSCAAAGDSCTCANSCTCLACKCTSCK,
prédire la structure secondaire et 3D.
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]
Structure secondaire
ƒ 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.).
Structure primaire Structure
secondaire / tertiaire
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
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%
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
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.
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 )
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
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
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
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
Règles
d’association
Sommaire
Sommaire
Sommaire
Sommaire
ƒ
ƒ Exemple
Exemple :
: Panier
Panier de la
de la
ménagère
ménagère
ƒ
ƒ Définitions
Définitions
ƒ
ƒ A
A-
-Priori
Priori
ƒ
ƒ Algorithmes génétiques
Algorithmes génétiques
ƒ
ƒ Résumé
Résumé
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
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)
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, …
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.
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%]
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“)
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})
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
σ
σ
α
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 %
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%]
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
* *
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
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.
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%
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
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
ƒ ...
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
Ο
ƒ 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
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
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
Recherche des k-itemsets fréquents (1)
Recherche des k-itemsets fréquents (1)
ƒ 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)
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}
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;
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;
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
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
Apriori - Exemple
Apriori - Exemple
itemset
{2 3 5}
C
C3
3
itemset sup
{2 3 5} 2
L
L3
3
Scan D
Scan D
Apriori - Exemple
Apriori - Exemple
1
1 2
2 3
3 4
4 5
5
12 13 14 15 23 24 25 34 35 4
12 13 14 15 23 24 25 34 35 45
5
123 124 125 134 135 145 234 235 245
123 124 125 134 135 145 234 235 245 345
345
1234
1234 1235
1235 1245
1245 1345 2345
1345 2345
12345
12345
Espace
Espace de
de
recherche
recherche
Apriori - Exemple
Apriori - Exemple
Apriori
Apriori
au
au Niveau
Niveau 1
12345
12345
1
1
1 2
2 3
3 4
4 5
5
12 13
12 13 14
14 15 23
15 23 24
24 25
25 34
34 35
35 45
45
123
123 124
124 125
125 134
134 135
135 145
145 234
234 235
235 245 345
245 345
1234
1234 1235
1235 1245
1245 1345
1345 2345
2345
Apriori - Exemple
Apriori - Exemple
Apriori
Apriori
au
au niveau
niveau 2
12345
12345
2
1234
1234 1235
1235 1245
1245 1345 2345
1345 2345
1
1 2
2 3
3 4
4 5
5
12
12 13
13 14
14 15
15 23
23 24
24 25
25 34
34 35
35 45
45
123 124 125 134 135 145 234
123 124 125 134 135 145 234 235
235 245 345
245 345
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
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf
uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf

Contenu connexe

Similaire à uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf

Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdfOuailChoukhairi
 
Assurtech : Big Data & Plateformes
Assurtech : Big Data & PlateformesAssurtech : Big Data & Plateformes
Assurtech : Big Data & PlateformesSerrerom
 
La data n’a pas besoin d’être « big » pour générer de la valeur
La data n’a pas besoin d’être « big » pour générer de la valeurLa data n’a pas besoin d’être « big » pour générer de la valeur
La data n’a pas besoin d’être « big » pour générer de la valeurMicrosoft Ideas
 
Big Data: quelle valeur pour l'entreprise
Big Data: quelle valeur pour l'entrepriseBig Data: quelle valeur pour l'entreprise
Big Data: quelle valeur pour l'entrepriseGenève Lab
 
Etude Apec - Les métiers de la data
Etude Apec - Les métiers de la dataEtude Apec - Les métiers de la data
Etude Apec - Les métiers de la dataApec
 
Big data-2-170220212621
Big data-2-170220212621Big data-2-170220212621
Big data-2-170220212621Haifa Akermi
 
Datas présentation alger 2 juin2013
Datas présentation alger 2 juin2013Datas présentation alger 2 juin2013
Datas présentation alger 2 juin2013Xavier Dordor
 
Bluemix Paris Meetup : Big data et Analytics - 15 avril 2015
Bluemix Paris Meetup :  Big data et Analytics - 15 avril 2015Bluemix Paris Meetup :  Big data et Analytics - 15 avril 2015
Bluemix Paris Meetup : Big data et Analytics - 15 avril 2015IBM France Lab
 
Big Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendancesBig Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendancesJean-Michel Franco
 
Big Data, Charles Huot, Aproged,février 2013
Big Data, Charles Huot, Aproged,février 2013Big Data, Charles Huot, Aproged,février 2013
Big Data, Charles Huot, Aproged,février 2013ADBS
 
Le marketing des NTIC par Yann A. Gourvennec
Le marketing des NTIC par Yann A. GourvennecLe marketing des NTIC par Yann A. Gourvennec
Le marketing des NTIC par Yann A. Gourvennecthib
 
Le marketing des NTIC par Yann A. Gourvennec
Le marketing des NTIC par Yann A. GourvennecLe marketing des NTIC par Yann A. Gourvennec
Le marketing des NTIC par Yann A. Gourvennecthib
 
Livre blanc big data et data lake le duo gagnant extrait_itelligence
Livre blanc big data et data lake le duo gagnant extrait_itelligenceLivre blanc big data et data lake le duo gagnant extrait_itelligence
Livre blanc big data et data lake le duo gagnant extrait_itelligenceHélène Etienne
 

Similaire à uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf (20)

Data Mining (Partie 1).pdf
Data Mining (Partie 1).pdfData Mining (Partie 1).pdf
Data Mining (Partie 1).pdf
 
Assurtech : Big Data & Plateformes
Assurtech : Big Data & PlateformesAssurtech : Big Data & Plateformes
Assurtech : Big Data & Plateformes
 
La data n’a pas besoin d’être « big » pour générer de la valeur
La data n’a pas besoin d’être « big » pour générer de la valeurLa data n’a pas besoin d’être « big » pour générer de la valeur
La data n’a pas besoin d’être « big » pour générer de la valeur
 
Big data
Big dataBig data
Big data
 
Big Data: quelle valeur pour l'entreprise
Big Data: quelle valeur pour l'entrepriseBig Data: quelle valeur pour l'entreprise
Big Data: quelle valeur pour l'entreprise
 
BIG DATA
BIG DATABIG DATA
BIG DATA
 
Etude Apec - Les métiers de la data
Etude Apec - Les métiers de la dataEtude Apec - Les métiers de la data
Etude Apec - Les métiers de la data
 
Big data-2-170220212621
Big data-2-170220212621Big data-2-170220212621
Big data-2-170220212621
 
Big data
Big dataBig data
Big data
 
Datas présentation alger 2 juin2013
Datas présentation alger 2 juin2013Datas présentation alger 2 juin2013
Datas présentation alger 2 juin2013
 
Bluemix Paris Meetup : Big data et Analytics - 15 avril 2015
Bluemix Paris Meetup :  Big data et Analytics - 15 avril 2015Bluemix Paris Meetup :  Big data et Analytics - 15 avril 2015
Bluemix Paris Meetup : Big data et Analytics - 15 avril 2015
 
Big Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendancesBig Data : concepts, cas d'usage et tendances
Big Data : concepts, cas d'usage et tendances
 
Big Data, Charles Huot, Aproged,février 2013
Big Data, Charles Huot, Aproged,février 2013Big Data, Charles Huot, Aproged,février 2013
Big Data, Charles Huot, Aproged,février 2013
 
Final
FinalFinal
Final
 
Final
FinalFinal
Final
 
Le marketing des NTIC par Yann A. Gourvennec
Le marketing des NTIC par Yann A. GourvennecLe marketing des NTIC par Yann A. Gourvennec
Le marketing des NTIC par Yann A. Gourvennec
 
Le marketing des NTIC par Yann A. Gourvennec
Le marketing des NTIC par Yann A. GourvennecLe marketing des NTIC par Yann A. Gourvennec
Le marketing des NTIC par Yann A. Gourvennec
 
Livre blanc big data et data lake le duo gagnant extrait_itelligence
Livre blanc big data et data lake le duo gagnant extrait_itelligenceLivre blanc big data et data lake le duo gagnant extrait_itelligence
Livre blanc big data et data lake le duo gagnant extrait_itelligence
 
BigData BigBuzz @ Le Node
BigData BigBuzz @ Le Node BigData BigBuzz @ Le Node
BigData BigBuzz @ Le Node
 
Partie1BI-DW2019
Partie1BI-DW2019Partie1BI-DW2019
Partie1BI-DW2019
 

Dernier

666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeBenamraneMarwa
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 

Dernier (15)

666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Guide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étudeGuide Final de rédaction de mémoire de fin d'étude
Guide Final de rédaction de mémoire de fin d'étude
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 

uyéyefygjhqjhgjhgequtCours-Data-Mining.pdf

  • 1. O Laboratoire d’Informatique Fondamentale de Lille OP AC OP AC Fouille de données (Data Mining) - Un tour d’horizon - E-G. Talbi talbi@lifl.fr
  • 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)
  • 36. Techniques utilisées ƒ K-moyennes, A-priori, K-NN ƒ Réseaux de neurones ƒ Algorithmes génétiques ƒ Chaînes de Markov cachées ƒ Arbres de décision ƒ Réseaux bayesiens ƒ Soft computing : ensembles flous ƒ …
  • 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
  • 51. Exemple: segmentation de marchés Exemple: segmentation de marchés
  • 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 − = ) , (
  • 60. Distance – Données mixtes Distance – Données mixtes ƒ Exemple : (Age, Propriétaire résidence principale, montant des mensualités en cours) ƒ x=(30,1,1000), y=(40,0,2200), z=(45,1,4000) ƒ d(x,y)=sqrt( (10/15)2 + 12 + (1200/3000)2) = 1.27 ƒ d(x,z)= sqrt( (15/15)2 + 02 + (3000/3000)2) = 1.41 ƒ d(y,z)= sqrt( (5/15)2 + 12 + (1800/3000)2) = 1.21 ƒ plus proche voisin de x = y ƒ Distances normalisées. ƒ Sommation : d(x,y)=d1(x1,y1) + … + dn(xn,yn)
  • 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 !!!)
  • 102. Classification Classification - - Applications Applications Applications Applications ƒ ƒ Accord de crédit Accord de crédit ƒ ƒ Marketing ciblé Marketing ciblé ƒ ƒ Diagnostic médical Diagnostic médical ƒ ƒ Analyse de l’effet d’un Analyse de l’effet d’un traitement traitement ƒ ƒ Détection de fraudes Détection de fraudes fiscales fiscales ƒ ƒ etc etc. .
  • 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
  • 133. Overfitting dans les arbres de décision
  • 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
  • 151. Quel Attribut est ”meilleur” ? A1=? True False [21+, 5-] [8+, 30-] [29+,35-] A2=? True False [18+, 33-] [11+, 2-] [29+,35-]
  • 152. Gain Gain d’information d’information - - Exemple Exemple ƒ Gain(S,A) : réduction attendue de l’entropie dûe au branchement de S sur l’attribut A Gain(S,A)=Entropie(S) - ∑v∈values(A) |Sv|/|S| Entropie(Sv) Entropie([29+,35-]) = -29/64 log2 29/64 – 35/64 log2 35/64 = 0.99 A1=? True False [21+, 5-] [8+, 30-] [29+,35-] A2=? True False [18+, 33-] [11+, 2-] [29+,35-]
  • 153. Gain Gain d’information d’information - - Exemple Exemple A1=? True False [21+, 5-] [8+, 30-] [29+,35-] Entropie([21+,5-]) = 0.71 Entropie([8+,30-]) = 0.74 Gain(S,A1)=Entropie(S) -26/64*Entropie([21+,5-]) -38/64*Entropie([8+,30-]) =0.27 Entropie([18+,33-]) = 0.94 Entropie([8+,30-]) = 0.62 Gain(S,A2)=Entropie(S) -51/64*Entropie([18+,33-]) -13/64*Entropie([11+,2-]) =0.12 A2=? True False [18+, 33-] [11+, 2-] [29+,35-]
  • 155. Sélection de l’attribut suivant S=[9+,5-] E=0.940 Humidity High Normal [3+, 4-] [6+, 1-] Gain(S,Humidity) =0.940-(7/14)*0.985 – (7/14)*0.592 =0.151 E=0.985 E=0.592 Weak S=[9+,5-] E=0.940 Wind Strong [6+, 2-] [3+, 3-] E=0.811 E=1.0 Gain(S,Wind) =0.940-(8/14)*0.811 – (6/14)*1.0 =0.048
  • 156. Sélection de l’attribut suivant Rain [4+, 0] S=[9+,5-] E=0.940 Outlook Over cast Sunny [3+, 2-] [2+, 3-] E=0.971 E=0.971 E=0.0 Gain(S,Outlook) =0.940-(5/14)*0.971 -(4/14)*0.0 – (5/14)*0.0971 =0.247
  • 157. Algorithme ID3 Outlook Sunny Overcast Rain [D1,D2,…,D14] [9+,5-] [D3,D7,D12,D13] [4+,0-] [D4,D5,D6,D10,D14] [3+,2-] Ssunny=[D1,D2,D8,D9,D11] [2+,3-] Yes ? ? Gain(Ssunny , Humidity)=0.970-(3/5)0.0 – 2/5(0.0) = 0.970 Gain(Ssunny , Temp.)=0.970-(2/5)0.0 –2/5(1.0)-(1/5)0.0 = 0.570 Gain(Ssunny , Wind)=0.970= -(2/5)1.0 – 3/5(0.918) = 0.019
  • 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
  • 172. Paradigme d’apprentissage Vecteur sortie Classification : Ajuster les poids en utilisant l’erreur Erreur = Valeur désirée – Valeur actuelle 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
  • 189. Classification Classification bayésienne bayésienne – – Exemple Exemple (1) (1) ƒ Estimation de P( P(xi|C) ) P(n n) = 5/14 P(p p) = 9/14 Outlook P(sunny | p) = 2/9 P(sunny | n) = 3/5 P(overcast | p) = 4/9 P(overcast | n) = 0 P(rain | p) = 3/9 P(rain | n) = 2/5 Temperature P(hot | p) = 2/9 P(hot | n) = 2/5 P(mild | p) = 4/9 P(mild | n) = 2/5 P(cool | p) = 3/9 P(cool | n) = 1/5 Humidity P(high | p) = 3/9 P(high | n) = 4/5 P(normal | p) = 6/9 P(normal | n) = 1/5 Windy P(true | p) = 3/9 P(true | n) = 3/5 P(false | p) = 6/9 P(false | n) = 2/5
  • 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
  • 192. Etude de cas Prédiction de structure de la protéine
  • 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
  • 214. Sommaire Sommaire Sommaire Sommaire ƒ ƒ Exemple Exemple : : Panier Panier de la de la ménagère ménagère ƒ ƒ Définitions Définitions ƒ ƒ A A- -Priori Priori ƒ ƒ Algorithmes génétiques Algorithmes génétiques ƒ ƒ Résumé Résumé
  • 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
  • 235. Recherche des k-itemsets fréquents (1) Recherche des k-itemsets fréquents (1) ƒ 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}
  • 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
  • 242. Apriori - Exemple Apriori - Exemple 1 1 2 2 3 3 4 4 5 5 12 13 14 15 23 24 25 34 35 4 12 13 14 15 23 24 25 34 35 45 5 123 124 125 134 135 145 234 235 245 123 124 125 134 135 145 234 235 245 345 345 1234 1234 1235 1235 1245 1245 1345 2345 1345 2345 12345 12345 Espace Espace de de recherche recherche
  • 243. Apriori - Exemple Apriori - Exemple Apriori Apriori au au Niveau Niveau 1 12345 12345 1 1 1 2 2 3 3 4 4 5 5 12 13 12 13 14 14 15 23 15 23 24 24 25 25 34 34 35 35 45 45 123 123 124 124 125 125 134 134 135 135 145 145 234 234 235 235 245 345 245 345 1234 1234 1235 1235 1245 1245 1345 1345 2345 2345
  • 244. Apriori - Exemple Apriori - Exemple Apriori Apriori au au niveau niveau 2 12345 12345 2 1234 1234 1235 1235 1245 1245 1345 2345 1345 2345 1 1 2 2 3 3 4 4 5 5 12 12 13 13 14 14 15 15 23 23 24 24 25 25 34 34 35 35 45 45 123 124 125 134 135 145 234 123 124 125 134 135 145 234 235 235 245 345 245 345
  • 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