Data mining Data mining
(partie 2) (partie 2)
Master MIAGE - ENITE
Spécialité ACSI
Année universitaire 2013-2014
2
Plan Plan
✔
Introduction
✔
1. Les tâches du data mining
✔
2. Le processus de data mining
✔
3. Les bases de l'analyse de données
✔
4. Les modèles du data mining
✔
5. Critères pour le choix d’un logiciel
✔
Conclusion et perspectives
3
Data Mining : Cocktail de techniques Data Mining : Cocktail de techniques
✔
Évolution des techniques de statistique + apports des SGBD, de l’IA et de l’apprentissage automatique
✔
Mélange de plusieurs disciplines
degré de transformation des données
implication de l’utilisateur dans le processus
performance et lisibilité du modèle
SGBD Machine Learning
Représentation de la Connaissance
4
✔
Logiciel presse-bouton
(apprentissage automatique non supervisé)
✔
Interaction avec l’utilisateur au niveau de l’apprentissage (paramètres) ou pendant la recherche du modèle
✔
Logiciel basé sur des techniques statistiques : experts requis
⇒ les outils de DM intègrent des tests statistiques et des
algorithmes de choix des meilleures techniques de modélisation en fonction des caractéristiques du cas
Data Mining : Utilisateur ou Statisticien ?
Data Mining : Utilisateur ou Statisticien ?
5
✔
Compromis entre clarté du modèle et pouvoir prédictif
Data Mining : Lisibilité ou Puissance Data Mining : Lisibilité ou Puissance
- Lisibilités des résultats + + Pouvoir de prédiction -
réseaux neuronaux
algorithmes génétiques réseaux bayésiens scores
régression
cluster arbres de décision
analyse d’association
raisonnement à base de cas
- Compétences +
6
✔
a) Associations
✔
b) Raisonnement à base de cas
✔
c) K-means, agglomération
✔
d) Arbres de décision
✔
e) Algorithmes génétiques
✔
f) Réseaux neuronaux
✔
g) Réseaux Bayésiens
Quelques techniques Quelques techniques
7
a) Recherche d'associations ou a) Recherche d'associations ou analyse du panier de la ménagère analyse du panier de la ménagère
✔
Processus de découverte de connaissances non dirigée
✔
Étudier quels articles ont tendance à être achetés ensemble
✔
Issue du secteur de la distribution
applicable dès que plusieurs actions faites par un même individu
✔
Utilisée pour découvrir des règles d'association
but principal descriptif
prédictive car résultats éventuellement situés dans le temps souvent départ d'une analyse
✯ règles claires et explicites pour l'utilisateur métier
✯ ensuite mise en œuvre d'un processus de test d'hypothèses ou de découverte dirigée
8
✔ Construire un modèle basé sur des règles conditionnelles à partir d’un fichier de données
✔ Le modèle :
Règles de la forme :
Si prédicat(x) et prédicat(y)… alors prédicat(z) Pondération par une probabilité ou par une métrique de confiance Éventuellement situées dans le temps :
Si action1 ou condition à l'instant t1 alors action2 à l'instant t2
✔ Exemples de règles :
Si achat de riz et de vin blanc, alors achat de poisson (84%)
Si achat de téléviseur alors achat d'un enregistreur dans les 3 ans (45%) Si présence et travail alors réussite à l'examen (99,9%)
Les Associations
Les Associations
9
✔
Les domaines :
Analyse des tickets de caisse
(mise en relation entre n produits, relation de comportement de produits)
Analyse des séquences d’achats
détection d’association de ventes pour un même client
⇒ dimension temporelle et notion d’antériorité
✔
Les enjeux :
Optimisation des stocks, merchandising, ventes croisées (bon de réduction, promotion)
Les Associations Les Associations
10
✔
Principes de construction d’une association
Transaction ⇔ ticket de caisse
✯ une transaction T contient le détail des articles ou de leur famille
✯ chaque article est une variable binaire
Une association est une implication de la forme X → Y avec : X et Y ∈ T et X ∩Y = ∅
Deux indicateurs pour apprécier une association :
✯ niveau de confiance : Card(X → Y)/ Card(X)
✯ niveau de support : Card(X → Y) / Card(X ou Y)
Extraire les associations pertinentes
Les Associations Les Associations
11
Les Associations Les Associations
Ticket 1 Ticket 2 Ticket 3 Ticket 4 farine œufs farine œufs sucre sucre œufs chocolat lait chocolat sucre thé
chocolat
Article Fréquence Support farine
sucre lait œufs chocolat thé
12
Article Fréquence Support
farine 2 50%
sucre 3 75%
lait 1 25%
œufs 3 75%
chocolat 3 75%
thé 1 25%
Les Associations Les Associations
Ticket 1 Ticket 2 Ticket 3 Ticket 4 farine œufs farine œufs sucre sucre œufs chocolat lait chocolat sucre thé
chocolat
13
Les Associations Les Associations
Ticket 1 Ticket 2 Ticket 3 Ticket 4 farine œufs farine œufs sucre sucre œufs chocolat lait chocolat sucre thé
chocolat Assoc. Niv. 2 Fréquence Confiance Support
farine sucre 2 sucre farine 2 sucre œufs 2 œufs sucre 2 sucre chocolat 2 chocolat sucre 2 œufs chocolat 3 chocolat œufs 3
Assoc. Niv. 3 Fréquence Confiance Support œufs, chocolat sucre 2
sucre, œufs chocolat 2 chocolat, sucre œufs 2
14
Assoc. Niv. 2 Fréquence Confiance Support
farine sucre 2 100% 67%
sucre farine 2 67% 67%
sucre œufs 2 67% 50%
œufs sucre 2 67% 50%
sucre chocolat 2 67% 50%
chocolat sucre 2 67% 50%
œufs chocolat 3 100% 100%
chocolat œufs 3 100% 100%
Les Associations Les Associations
Ticket 1 Ticket 2 Ticket 3 Ticket 4 farine œufs farine œufs sucre sucre œufs chocolat lait chocolat sucre thé
chocolat
Assoc. Niv. 3 Fréquence Confiance Support œufs, chocolat sucre 2 67% 50%
sucre, œufs chocolat 2 100% 67%
chocolat, sucre œufs 2 100% 67%
15
✔
Exemple :
Analyse d’achats dans la grande distribution
✔
Limites de l’approche : Article = code-barres
Famille d’articles = 100 références
Volume de données : 100 000 réf. élémentaires
⇒ hiérarchie de concepts
Niveau élémentaire pour confirmer l’impact de la marque X sur les ventes de Y
⇒ vérifier les associations sur des concepts de haut niveau
Les Associations Les Associations
16
Mise en œuvre : taxinomie Mise en œuvre : taxinomie
✔
Un supermarché gère environ 100 000 références différentes
✔
Analyse sur tous les articles : tableau de 10 milliards de cellules pour des associations de deux articles !
des espaces disques importants (en téra-octets) des temps de traitements en conséquence pas très raisonnable !
✔
Solution : la taxinomie
Regrouper les articles, les généraliser sous un même terme générique, une même rubrique
Exemple : le terme chocolat regroupe les chocolats noirs, au lait, de différentes marques, aux noisettes, allégés,…
17
Mise en œuvre : articles virtuels Mise en œuvre : articles virtuels
✔
Ajout fréquent d’articles virtuels
pour améliorer la performance du système pour représenter des informations transversales
pour regrouper les articles d'une autre manière que la taxinomie
✯ Exemple : produits allégés, marque que l'on trouve dans plusieurs rubriques
pour donner des indications supplémentaires sur la transaction
✯ donnée temporelle (jour de la semaine, heure, mois, saison, …), mode de paiement, météo, …
✯ si possible, données sur le client (satisfaction, type d'habitat, catégorie socioprofessionnelle, âge, statut matrimonial, …)
pour fournir des règles du type :
« si printemps et jardin alors achat de gants de jardinage »
18
Mise en œuvre : règles de dissociation Mise en œuvre : règles de dissociation
✔
Analogue à une règle d'association mais fait apparaître la notion de « non »
✔
Exemple :
Dans une entreprise, 5 produits (A,B,C,D,E)
Si un client prend les produits A, B et D, alors il engendrera la transaction {A, B, non C, D, non E}
✔
Ce procédé engendre des règles comme :
« si achat produit A et produit C alors non achat produit E »
✔
Inconvénient majeur : fournit des règles où tout est nié
« si non A et non B alors non C »
connaissances engendrées peu exploitables
19
Mise en œuvre : séries temporelles Mise en œuvre : séries temporelles
✔
L'analyse du panier de la ménagère
Objectif : faire de la description et non de la prévision Outil non optimal pour étudier les séries temporelles
✔
Contrainte : avoir une information de temps et une clé d'identification de l'objet (principalement le client)
✔
Difficulté : transformer les données en transactions
✔
Plusieurs possibilités offertes :
Ajouter à chaque article la notion de temps : avant, après, en même temps
Créer des fenêtres temporelles : regrouper toutes les transactions effectuées dans un même intervalle de temps par un même individu
✯ permet de dégager des profils, surtout associée à des articles virtuels
20
Mise en œuvre Mise en œuvre
Plusieurs indicateurs complémentaires pour évaluer La fréquence
✔ Règle vraie pour deux clients sur cinq : fréquence = 40%
Le niveau (ou taux) de confiance
✔ Mesure de la probabilité dans la sous-population concernée par la condition de la règle (fréquence sur une sous-population)
✔ Ex : règle « si achat de jus d'orange, alors achat d'eau minérale »
La population ayant acheté du jus d'orange (ex : 4 individus) Le nombre de fois où la règle est respectée (ex : 2)
La proportion obtenue (ici 2 sur 4, soit 50 %) : niveau de confiance
✔ Permet de mesurer la force de l'association
Prudence : n'intègre pas la notion d'effectif
Ex : « si achat de lait, alors achat de nettoyant vitres »
✯ effectif 1 individu : très relatif malgré un très bon taux de confiance !
21
Le niveau de support
✔ Nombre de fois où l'association est respectée, ramenée au nombre de fois où l'un des articles est présent.
✔ Permet de mesurer la fréquence de l'association.
Le taux d'amélioration
✔ Permet de mesurer la pertinence de l'association
✔ Que vaut une règle si son taux de confiance est inférieur à la fréquence du résultat sans condition ?
✔ Ex : règle « si achat d'eau minérale, alors achat de jus d'orange »
Règle vraie pour 2 clients sur 3 qui ont acheté de l'eau
Taux de confiance pour l'achat du jus d'orange dans ces conditions : 67%
Or, 4 clients sur 5 achètent du jus d'orange, soit 80% !
Règle inintéressante à exploiter car ajout de condition pour taux moins bon
✔ Pour mesurer l'amélioration apportée par la règle, on divise le taux de confiance par la fréquence de l'événement
Ici : 0.67 / 0.80 = 83 %
Si résultat supérieur à 1, la règle apporte une amélioration sur le résultat
Sinon renoncer à l'exploiter 22
Conclusion Conclusion
✔
Points forts de l'analyse du panier de la ménagère :
Résultats clairs et explicites
Adaptée à l'exploitation non dirigée des données Traite des données de taille variable
Technique et calculs simples à comprendre
✔
Points faibles de l'analyse du panier de la ménagère :
Le volume de calculs croît au carré ou au cube du volume de données
Prend mal en compte les articles rares
Difficile de déterminer le bon nombre d'articles
Attributs des articles (détails et quantités) souvent ignorés
23
Conclusion Conclusion
✔
Technique s'appliquant aux problèmes : d'exploitation non dirigée des données
contenant des articles bien définis, qui se regroupent entre eux de manière intéressante
✔
Souvent utilisé comme analyse préalable :
car elle génère des règles susceptibles de soulever des interrogations ou des idées
débouchera sur d'autres analyses plus fines : test d'hypothèse ou découverte de connaissance dirigée pour expliquer un phénomène révélé
24
✔
a) Associations
✔
b) Raisonnement à base de cas
✔
c) K-means, agglomération
✔
d) Arbres de décision
✔
e) Algorithmes génétiques
✔
f) Réseaux neuronaux
✔
g) Réseaux Bayésiens
Quelques techniques
Quelques techniques
25
b) Le raisonnement à base de cas b) Le raisonnement à base de cas
✔
Technique de découverte de connaissances dirigée
Utilisée dans un but de classification et de prédiction Bien adapté aux bases de données relationnelles Mise en œuvre simple
✔
Équivalence de l'expérience chez l'homme
Processus : identification des cas similaires puis application de l'information provenant de ces cas au problème actuel
Principe : on présente un nouvel enregistrement, il trouve les voisins les plus proches et positionne ce nouvel élément
✯ s'applique à tous les types de données.
✔ Utilisé pour estimer des éléments manquants, détecter des fraudes, prédire l'intérêt d'un client pour une offre, classifier les réponses en texte libre
26
Exemple : Ventes de voitures Renault ventilées en fonction de l'âge et du nombre d'enfants de l'acheteur
Véhicule Âge Enfants
Twingo 25 0
Espace 32 4
Twingo 28 1
Scénic 30 2
Latitude 50 1
Laguna 35 2
Espace 40 3
Twingo 30 1
Scénic 34 2
Latitude 52 2
Laguna 38 1
Espace 34 5
Véhicule Âge Enfants
Twingo 27 1
Scénic 30 2
Laguna 39 0
Latitude 55 0
Twingo 24 1
Scénic 33 2
Laguna 38 2
Twingo 22 0
Scénic 35 1
Laguna 39 2
Latitude 54 1
27
0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5
20 25 30 35 40 45 50 55 60
Ventes de voitures Renault
Espace Laguna Latitude Scénic Twingo
Nbre d'enfants
Âge
29
Fonction de distance Fonction de distance
✔
Pour les données numériques
La valeur absolue de la différence : |A-B|
Le carré de la différence : (A-B)²
La valeur absolue normalisée : |A-B| / (différence maximale)
✯ avantage : toujours entre 0 et 1, supprime les problèmes d'échelles
Libre de créer sa propre fonction…
✔
Pour les autres types de données
A l'utilisateur de définir sa propre fonction de distance Exemple :
✯ pour comparer le genre de deux individus, valeur 1 s'ils sont différents ou valeur 0 s'ils sont identiques
✯ pour des communes, prendre la distance entre elles ou une codification en fonction du type (urbaine, péri-urbaine, rurale) ou de la région
Mais, toujours préférable d'avoir le résultat entre 0 et 1
30
Fonction de combinaison Fonction de combinaison
Consiste à combiner les n voisins les plus proches pour obtenir le résultat de la prédiction souhaitée
Exemple :
Soit une liste de clients ayant déjà répondu à une offre commerciale (par oui ou non).
L'utilisateur métier estime que les critères les plus déterminants sont le genre, l'âge et le salaire net du dernier semestre.
31
Numéro Age Genre Salaire Acheteur
A 27 F 3000 Non
B 51 M 10000 Oui
C 52 M 16000 Non
D 33 F 8500 Oui
E 45 M 7000 Oui
32
✔
Soit un nouveau client : une femme de 45 ans ayant un revenu de 15500 euros
✔
Cette cliente sera-t-elle intéressée par l'offre ?
✔
La fonction de distance est définie ainsi :
Il s'agit d'une femme, donc distance de 1 avec les hommes et de 0 avec les femmes
Et ajout de la distance normalisée du salaire et de l'âge Tableau des distances :
Client Age Genre Salaire Distance totale
A 1.000 0 1.000 2.000
B 0.333 1 0.440 1.773
C 0.388 1 0.004 1.393
D 0.666 0 0.560 1.227
E 0.000 1 0.680 1.680
Les voisins les plus proches sont dans l'ordre : D C E B A
33
✔
Utilisons maintenant la fonction de combinaison
nombre de voisins retenus ? Nombre de voisins
retenus
1 2 3 4 5
Numéro des voisins D DC DCE DCEB DCEBA
Réponses des voisins O O,N O,N,O O,N,O,O O,N,O,O ,N Décompte des
réponses
Oui 1 Non 0
Oui 1 Non 1
Oui 2 Non 1
Oui 3 Non 1
Oui 3 Non 2
Valeur retenue Oui ? Oui Oui Oui
Evaluation 100 % 50 % 66 % 75 % 60 %
• Si 3 voisins, réponse favorable avec une probabilité (plutôt espérance) de 66%
• Possible également de donner un poids à chaque contribution
• Ex: 1er voisin a un poids de 3, 2ème poids de 2, 3ème un poids de 1
• Possible de pondérer chaque variable utilisée dans la fonction de
distance 34
Quelques remarques Quelques remarques
✔
Complexité en fonction de la taille de la base de cas
✔
Technique d’optimisation
Ajout d’expertise pour guider la recherche vers les critères les plus pertinents
Exemple : utilisation d’un arbre de décision
✔
D’où, principes suivants :
Collecte des données
✯ Nombre d’exemples lié au nombre de variables et de valeurs par variable
Recherche des facteurs pertinents
✯ Par mots clés (mc)
dist(x,y) = 1 - (nombre_mc_commun(x,y) / nombre_mc(x ou y))
✯ Hiérarchisation de concepts
Indexation des données (plus proche voisin)
35
Conclusion Conclusion
✔
Les points forts :
produit des résultats explicites s'applique à tout type de données
capable de travailler sur de nombreux champs facile à mettre en œuvre et à comprendre
✔
Les points faibles :
nécessite un grand volume de données pour être performant
très dépendant des fonctions de distance et de combinaison
36
✔
a) Associations
✔
b) Raisonnement à base de cas
✔
c) K-means, agglomération
✔
d) Arbres de décision
✔
e) Algorithmes génétiques
✔
f) Réseaux neuronaux
✔
g) Réseaux Bayésiens
Quelques techniques
Quelques techniques
37
c) Détection automatique de clusters c) Détection automatique de clusters
✔ Méthode de découverte de connaissances non dirigée (apprentis- sage sans supervision)
✔ Ne nécessite aucun apprentissage
✔ Principe : regrouper les éléments par similarités successives
✔ Deux grandes catégories :
la méthode des K-moyennes et les méthodes par agglomération
✔ Objectif : procéder à une classification du type regroupement par similitude
✔ Un groupe est appelé cluster
✔ Utilisation classique : clusteriser une population avant une étude
✔ Prévoir une fonction de distance qui mesure l'écart entre deux enregistrements
38
K-means K-means
✔
Permet de découper une population en K clusters K défini par l'utilisateur
✔
Principe de fonctionnement :
On positionne les K premiers points (ou noyaux) au hasard
Chaque enregistrement est affecté au noyau le plus proche
A la fin de la première affectation, calcul de la valeur moyenne de chaque cluster
Le noyau prend cette nouvelle valeur Répétition jusqu'à stabilisation des clusters
39
27 51 52 33 45 22 28 44 40 38 20 57
Noyau 27 0.00 0.65 0.68 0.16 0.49 0.14 0.03 0.46 0.35 0.30 0.19 0.81
Noyau 51 0.65 0.00 0.03 0.49 0.16 0.78 0.62 0.19 0.30 0.35 0.84 0.16
Noyau 52 0.68 0.03 0.00 0.51 0.19 0.81 0.65 0.22 0.32 0.38 0.86 0.14
Minimum 0 0 0 0.16 0.16 0.14 0.03 0.19 0.3 0.3 0.19 0.14
Affectation 1 2 3 1 2 1 1 2 2 1 1 3
Exemple Exemple
✔
Personnes d'âge
27, 51, 52, 33, 45, 22, 28, 44, 40, 38, 20, 57✔
Exemple : K=3
Les 3 noyaux initiaux = les trois premières valeurs
✔ Distance = différence / (amplitude maximum) = différence / 37
noyau 1 (27) : 27 - 33 - 22 - 28 - 38 - 20 noyau 2 (51) : 51 - 45 - 44 - 40
noyau 3 (52) : 52 - 57 40
✔
Calcul des centroïdes : moyenne arithmétique du cluster
soit 28 pour noyau 1, 45 pour noyau 2 et 54.5 pour noyau 3 Ces valeurs = positions des nouveaux noyaux
✔
Recommençons le processus par rapport à ces valeurs
27 51 52 33 45 22 28 44 40 38 20 57
Noyau 28 0.03 0.62 0.65 0.14 0.46 0.16 0 0.43 0.32 0.27 0.22 0.78
Noyau 45 0.49 0.16 0.19 0.32 0 0.62 0.46 0.03 0.14 0.19 0.68 0.32
Noyau 54.5 0.74 0.09 0.07 0.58 0.26 0.88 0.72 0.28 0.39 0.45 0.93 0.07
Minimum 0.03 0.09 0.07 0.14 0 0.16 0 0.03 0.14 0.19 0.22 0.07
Affectation 1 3 3 1 2 1 1 2 2 2 1 3
L'affectation donne la répartition suivante :
noyau 1 (28) : 27 - 33 - 22 - 28 - 20 Moyenne = 26 noyau 2 (45) : 45 - 44 - 40 - 38 Moyenne = 41.75 noyau 3 (54.5) : 51 - 52 - 57 Moyenne = 53.33 En réitérant le processus, aucune modification des affectations.
Les clusters sont finalisés :
Cluster 1: 27 - 33 - 22 - 28 - 20 Jeunes majeurs - Centroïde = 26 Cluster 2: 45 - 44 - 40 - 38 Quadragénaires - Centroïde = 41.75 Cluster 3: 51 - 52 - 57 Quinquagénaires - Centroïde = 53.33
41
Classification hiérarchique ascendante Classification hiérarchique ascendante
✔
Calcul des distances 2 à 2
✔
Agglomération des plus proches voisins (inférieurs à un seuil)
✔
Calcul des centroïdes
✔
On itère...
42
Exemple Exemple
27 51 52 33 45 22 28 44 40 38 20 57
27 0.00 0.65 0.68 0.16 0.49 0.14 0.03 0.46 0.35 0.30 0.19 0.81
51 0.65 0.00 0.03 0.49 0.16 0.78 0.62 0.19 0.30 0.35 0.84 0.16
52 0.68 0.03 0.00 0.51 0.19 0.81 0.65 0.22 0.32 0.38 0.86 0.14
33 0.16 0.49 0.51 0.00 0.32 0.30 0.14 0.30 0.19 0.14 0.35 0.65
45 0.49 0.16 0.19 0.32 0.00 0.62 0.46 0.03 0.14 0.19 0.68 0.32
22 0.14 0.78 0.81 0.30 0.62 0.00 0.16 0.59 0.49 0.43 0.05 0.95
28 0.03 0.62 0.65 0.14 0.46 0.16 0.00 0.43 0.32 0.27 0.22 0.78
44 0.46 0.19 0.22 0.30 0.03 0.59 0.43 0.00 0.11 0.16 0.65 0.35
40 0.35 0.30 0.32 0.19 0.14 0.49 0.32 0.11 0.00 0.05 0.54 0.46
38 0.30 0.35 0.38 0.14 0.19 0.43 0.27 0.16 0.05 0.00 0.49 0.51
20 0.19 0.84 0.86 0.35 0.68 0.05 0.22 0.65 0.54 0.49 0.00 1.00
57 0.81 0.16 0.14 0.65 0.32 0.95 0.78 0.35 0.46 0.51 1.00 0.00
43
✔
Seuil = 7,5% (0.075) à chaque itération fixé aléatoirement en fonction du niveau de regroupement souhaité par l'utilisateur.
✔
Ensemble des valeurs ordonné en ordre croissant
✔
Valeurs ayant un seuil inférieur à 7,5%, soit : 0.03 (52-51), 0.03 (27-28), 0.03 (44-45),
0.05 (38-40), 0.05 (20-22)
Chaque cluster est représenté par son centroïde (ici moyenne) 27.5 - 51.5 - 33 - 44.5 - 21 - 39 - 57
27 28 51 52 33 44 45 20 22 38 40 57
44
✔
On recommence avec un seuil de 15%
27.5 51.5 33 44.5 21 39 57
27.5 0.00 0.67 0.15 0.47 0.18 0.32 0.82
51.5 0.67 0.00 0.51 0.19 0.85 0.35 0.15
33 0.15 0.51 0.00 0.32 0.33 0.17 0.67
44.5 0.47 0.19 0.32 0.00 0.65 0.15 0.35
21 0.18 0.85 0.33 0.65 0.00 0.50 1.00
39 0.32 0.35 0.17 0.15 0.50 0.00 0.50
57 0.82 0.15 0.67 0.35 1.00 0.50 0.00
45
✔
On obtient alors
Soit 4 clusters : {20,22}, {27,28,33}, {38,40,44,45}, {51,52,57}
✔
Puis avec un seuil de 22,5%, regroupement des deux premiers clusters
Remarque : si le seuil à chaque itération était de 10%, dès le 2
èmeniveau, il n’y aurait eu qu’un seul cluster.
20 22 27 28 33 38 40 44 45 51 52 57
46
Conclusion Conclusion
✔
Les points forts :
Les résultats sont clairs
Plutôt facile à mettre en œuvre
Pas grosse consommatrice de ressources Application facile.
✔
Les points faibles :
Difficile de trouver une bonne fonction de distance Certains clusters résultants peuvent être difficiles à expliquer
47
✔
a) Associations
✔
b) Raisonnement à base de cas
✔
c) K-means, agglomération
✔
d) Arbres de décision
✔
e) Algorithmes génétiques
✔
f) Réseaux neuronaux
✔
g) Réseaux Bayésiens
Quelques techniques Quelques techniques
48
d) Les arbres de décision d) Les arbres de décision
✔
Objectif : classification et prédiction
✔
Fonctionnement basé sur un enchaînement hiérarchique de règles en langage courant
✔
Composé :
d’un nœud racine de questions
de réponses qui conditionnent la question suivante de nœuds feuilles correspondant à un classement
✔ Jeu de questions-réponses itératif jusqu’à arriver à un nœud feuille
✔ Pour déterminer quelle variable affecter à chaque nœud, application d'un algorithme sur chaque paramètre et conservation du plus représentatif pour un découpage
1
2 3
4 5
Noeud racine
Noeud fils
Noeuds feuilles
Noeud feuille
49
✔
Le modèle
Utiliser la valeur des attributs pour subdiviser l’ensemble d’exemples en sous-ensembles de plus en plus fins
Réitérer la démarche jusqu’à obtenir un sous-ensemble avec un nombre majoritaire de n-uplets appartenant à la même classe
Arbre : nœud racine = ensemble des exemples Découpage successif par une séquence de décisions Résultat : un ensemble de règles
Règle : Si X=a et Y=b et… alors Classe 1
Parcours de l’arbre (liste d’attributs dont la valeur détermine une classe d’appartenance)
Les arbres de décisions Les arbres de décisions
50
Les arbres de décisions Les arbres de décisions
✔
Traitement des informations bruitées ou corrompues
2 classes mais plus d’attributs pour subdiviser :
✯ étiquetage par la classe majoritaire ou probabilité
✯ test statistique : pour mesurer l’indépendance entre attribut et classe
✔
Traitement des valeurs manquantes
Valeur majoritaire (renforce l’entropie) Ignorer l’exemple
Probabilité sur chacune des branches
51
Les arbres de décisions Les arbres de décisions
Principes de calculs
Algorithme de détermination de la variable significative Diminution du désordre apparent dans les données
✔
Cas de descripteur qualitatif
✯ Probabilité d’appartenance
ex : grand-moyen-petit - sur 100 observations 20 ont la valeur « grand » - 20%
✯ Mesure de l’incertitude (désordre) : théorème de Shannon
= - Σ Pi log2(Pi)
avec Pi : probabilité d’appartenance à la catégorie
✯ Algorithme issus du Khi 2 qui permet de vérifier la conformité d’un phénomène aléatoire à une loi de probabilité posée en hypothèse (algorithme de CHAID)
52
Principes de calculs
✔
Cas des attributs à valeur (oui, non)
métrique de Hamming
Hd = nombre de non coïncidences entre deux attributs
pseudo-métrique de Hamming (facteur de la mesure du désordre) Pm = Min ((nbre ex - Hd), Hd)
Les arbres de décisions
Les arbres de décisions
53
Les arbres de décisions Les arbres de décisions
Question E1 E2 E3 E4 E5 E6 Hd Pm
Q1 Connaît l’école ? Oui Oui Non Oui Non Non 2 2 Q2 A eu un stagiaire ? Oui Non Non Non Non Non 2 2 Q3 A embauché un étudiant ? Non Oui Non Oui Non Oui 4 2 Q4 Verse la taxe ? Non Oui Oui Non Non Non 1 1 Q5 Participation à un événement ? Oui Oui Oui Oui Oui Oui 3 3
R Rendez-vous Oui Oui Oui Non Non Non
Oui verse la taxe Non
à l’école
A eu un stagiaire RDV accepté
RDV refusé RDV accepté
Oui Non
Arbre obtenu après 2 itérations
Exemple d’application de la distance de Hamming
54
Principes de calculs
✔
Cas de descripteur quantitatif
Méthode de grappe :
✯ partition sur la médiane pour deux classes, en déciles pour plusieurs classes ;
✯ pas de garantie pour obtenir un seuil optimal de découpage mais la méthode est rapide.
Méthode exhaustive :
✯ méthode qui détermine le seuil optimal de découpage de la variable ;
✯ parcours de toutes les valeurs numériques prises par l’attribut ;
✯ calcul du pouvoir discriminant pour chaque valeur, la valeur ayant le plus grand pouvoir discriminant devient seuil.
Les arbres de décisions Les arbres de décisions
55
✔
Enjeux
La détection de variables importantes
(structuration du phénomène étudié et mise en place de solutions correctrices)
La construction d'un système d'information
(repérage des variables déterminantes, amélioration des règles d'alimentation d'un datawarehouse, affinement d'un processus d'historisation)
Data mining de masse (formalisme très simple)
Les arbres de décisions Les arbres de décisions
56
✔
Résoudre 2 types de problèmes :
Segmentation d’une population Affectation d’une classe à un individu
✔
Domaines d’application
Étude de marketing (critères prépondérants dans l’achat) Marketing direct (isoler les meilleurs critères explicatifs) Ventes (analyse des performances)
SAV (détecter les causes de réclamation, les défauts) Contrôle de qualité (identifier les éléments du processus) Domaine médical...
Les arbres de décisions
Les arbres de décisions
57
✔
Avantages et limites
Simplicité d’utilisation
Lisibilité du modèle : règles si ... alors ... sinon ...
Pas adapté à un apprentissage incrémental (base de test) Taille de l’arbre :
✯ un arbre « touffu » perd son pouvoir de généralisation et de prédiction
✯ importance de l’utilisateur métier
Les arbres de décisions Les arbres de décisions
58
✔
a) Associations
✔
b) Raisonnement à base de cas
✔
c) K-means, agglomération
✔
d) Arbres de décision
✔
e) Algorithmes génétiques
✔
f) Réseaux neuronaux
✔
g) Réseaux Bayésiens
Quelques techniques Quelques techniques
59
✔
Définition
Travaux « récents » : 1975 (J. Holland)
Système artificiel qui s’appuie sur le principe de sélection de Darwin et les méthodes de combinaison de gènes de Mendel
Description de l’évolution d’une population d’individus en réponse à leur environnement
✯Sélection : survie du plus adapté
✯Reproduction
✯Mutation
e) Les algorithmes génétiques e) Les algorithmes génétiques
60
Principe Principe
✔
Individus codés comme un ensemble de chromosomes
Chaque chromosome a sa vie propre
✔
Travail sur une population nombreuse de solutions potentielles, toutes différentes
✔
Élimination des plus faibles pour reproduire les mieux adaptés
Individus les plus adaptés ont une plus forte chance d'être sélectionnés et d’exister à la génération suivante
✔
Reproduction par hybridation génétique des plus forts
Donne des individus encore plus forts (a priori)
La mutation d’un gène permet de conserver une certaine diversité dans la population
61
✔
La population initiale cherche à peupler l'espace des solutions
✔
Succès dans les problèmes d'optimisation (proche des techniques de recherche opérationnelle)
✔
L'application successive du processus de sélection et mutation permet d'atteindre une solution
optimale
Remarque Remarque
62
Codage Codage
✔
Codage sous forme de 0 et 1 (codage du chromosome)
Exemples :
Ancienneté de la cmde : 1 si < 6 mois, et 0 sinon CA annuel : 1 si < 100 000 €, et 0 sinon
Variable numérique transformée en entier puis en binaire
63
Fonction d'évaluation Fonction d'évaluation
✔
Dépendante du problème Ex : taux d'impayés constatés
✔
Permet de sélectionner le taux de reproduction à la génération suivante
Taille de la population constante
Tirage au hasard des candidats à la survie
✯Biaisé : ceux qui ont une fonction d'évaluation importante
64
Manipulation génétique Manipulation génétique
✔
Hybridation
échange d'un « morceau » entre 2 chromosomes
✔
Mutation
changement de parité
✔
Inversion
inversion de 2 caractères successifs
65
✔
Principe
Les algorithmes génétiques Les algorithmes génétiques
Population Initiale
Solution acceptable ?
Nouvelle génération
Solution retenue Tri des solutions sur la
fonction d’évaluation
Sélection des individus à conserver
Hybridation Mutation
Non Oui
66
✔
Domaines d’application
Domaine industriel
problème d’optimisation ou de contrôle de processus complexes (ex : optimisation de la température d’un four, de la pression d’un cylindre)
Domaine spatial et géomarketing
(ex : optimisation de l’emplacement d’automates bancaires, optimisation d’une campagne d’affichage)
Utiliser d’autres techniques en complément
(RN modifier le poids des liaisons, arbre de décision en isolant les variables qui expliquent un comportement)
Les algorithmes génétiques Les algorithmes génétiques
67
✔
Avantages et limites
Capacité à découvrir l’espace : N ⇒ N3 Limite du codage (formé de 0 et 1)
✯ complexe à mettre en place
✯ problème pour représenter la proximité de valeurs numériques
Dosage des mutations : problème des sous-optimums locaux Réglage subtil entre le mouvement et la stabilité
✯ ↑ taux d’hybridation ⇒ recombinaison des chaînes mais risque de détruire de bonnes solutions
✯ ↑ taux de mutation ⇒ ↑ espace de solutions avec des risques d’altération
Les algorithmes génétiques Les algorithmes génétiques
68
✔
a) Associations
✔
b) Raisonnement à base de cas
✔
c) K-means, agglomération
✔
d) Arbres de décision
✔
e) Algorithmes génétiques
✔
f) Réseaux neuronaux
✔
g) Réseaux Bayésiens
Quelques techniques
Quelques techniques
69
f) Les réseaux neuronaux f) Les réseaux neuronaux
✔
Définition
1943 McCulloch et Pitts - Perceptron, Connexionisme Analogie avec le fonctionnement du cerveau
2 catégories :
✯ supervisé : réponse connue (apprentissage à partir d'exemples)
✯ non supervisé : le réseau ne connaît pas le type de résultat
Découvrir la structure sous-jacente des données par une recherche des corrélations des entrées pour les organiser en catégories
Réseau non supervisé ≈ techniques statistiques (analyse de données)
70
Structure Structure
Les composants :
✔
Le neurone formel
✔
Une règle d’activation
✔
Une organisation en couches
✔
Une règle d’apprentissage
71
Neurone formel Neurone formel
✔
Calcule la somme pondérée des entrées transmises par le reste du réseau
Σ(X
i* W
i)
X1 X2 X3 X4
Σ W1
W2
W3
W4
Variables en entrée
Poids associés à chaque connexion
72
Règle d'activation Règle d'activation
✔
Associée à chaque neurone formel
✔
Définie avec
une fréquence T
une fonction généralement sigmoïde, dont le résultat est d’activer ou non le neurone de sortie (selon un seuil)
X1 X2 X3 X4
Σ W1
W2
W3
W4
Fonction Sortie
73
Les réseaux neuronaux Les réseaux neuronaux
✔ Définition
Organisation en couches pour résoudre des problèmes de toute complexité La couche d’entrée transmet ses résultats à la couche supérieure qui, ayant de nouvelles données et de nouveaux poids retransmet ses données résultantes à la couche suivante et ainsi de suite jusqu’à la couche de sortie qui fournit le neurone de sortie
Couches intermédiaires = couches cachées.
Matrice des poids pour chaque couche Activation du nœud en sortie
X1 X2 X3 X4 X5
W1 W15
U1
74
✔
Auto-apprentissage
Capacité du réseau à changer son comportement en fonction de son expérience passée
⇒ variation des poids de connexion Règle d’apprentissage :
minimiser l’erreur entre la donnée fournie par le réseau et la donnée réelle
Renforcement des connexions les plus actives (règle de Hebb)
⇒ convergence rapide du réseau
Possibilité d’intégrer des relations complexes entre les données
Les réseaux neuronaux Les réseaux neuronaux
75
Construction d’un réseau de neurones
✔
Phase 1 : préparation des données
Données en entrée / sortie
Constitution de la base d’exemples
✯Représentativité de toutes les classes en sortie
=> Augmentation du pouvoir de prédiction
ex : même si 3% refus, proportion de 50% refus et 50% accepté
Codage des entrées
✯Variable discrète = un neurone par type de valeur
✯Certaines variables continues traitées comme des variables discrètes
Optimisation du jeu de données
Les réseaux neuronaux Les réseaux neuronaux
76
Construction d’un réseau de neurones
✔
Phase 2 : création des fichiers
Base d’exemples (80%) et base de test (20%) Répartition aléatoire
✔
Phase 3 : paramètres du réseau
Matrice : poids entre les connexions
Logiciels : modes par défaut (mode novice ou expert)
Nombreux paramètres :
✯ architecture, fonction de sommation, fonction de transformation (fonction sigmoïde), normalisation de la sortie, transmission de la sortie (sorties actives, rétro-propagation), calcul de l’erreur (erreur
quadratique, absolue, moyenne…)
Les réseaux neuronaux
Les réseaux neuronaux
77
Construction d’un réseau de neurones
✔ Phase 4 : apprentissage (mise à jour itérative des poids)
Calcul de la rétro-propagation
1. Initialisation de la matrice des poids au hasard 2. Choix d’un exemple en entrée
3. Propagation du calcul de cette entrée dans le réseau 4. Calcul de la sortie de cette entrée
5. Mesure de l’erreur de prédiction (≠ sortie réelle et sortie prévue) 6. Calcul de la sensibilité d’un neurone (contribution à l’erreur) 7. Détermination du gradient
8. Correction des poids des neurones 9. Retour à l’étape 2
✔ Phase 5 : performance du réseau
Matrice de confusion
Les réseaux neuronaux Les réseaux neuronaux
78
✔
Nombreux domaines d’application
Reconnaissance des formes Traitement du signal
✯ domaine médical, risque cardiovasculaire
✯ domaine bancaire, risque de défaillance ou d’utilisation frauduleuse
Classification
✯ marketing (identification de segments de clients)
✯ industrie (détection de défauts et de pannes)
Prévision
✯ prévision de valeurs boursières, des ventes en marketing…
Contrôle adaptatif (robotique)
Les réseaux neuronaux Les réseaux neuronaux
79
✔
Avantages et limites
Auto-apprentissage
Technologie éprouvée (des réponses aux limites) Faux mythe de la boite noire
Risque de trop apprendre Taille de la base d’exemple
✯ ex : 256 entrées, une couche intermédiaire à 10 neurones et 3 neurones en sortie = 2590 connexions soit 25 900 exemples
Risque de non optimalité
✯ présence de minima locaux
apprentissage sur plusieurs réseaux à partir de plusieurs matrices de poids ou variation du delta au cours de la construction du réseau
Temps de calcul
Les réseaux neuronaux Les réseaux neuronaux
80
✔
a) Associations
✔
b) Raisonnement à base de cas
✔
c) K-means, agglomération
✔
d) Arbres de décision
✔
e) Algorithmes génétiques
✔
f) Réseaux neuronaux
✔
g) Réseaux Bayésiens
Quelques techniques
Quelques techniques
81
g) Les réseaux Bayésiens g) Les réseaux Bayésiens
✔
Définition
Modèle graphique qui encode les probabilités entre les variables les plus pertinentes
Associer une probabilité d’apparition d’un événement étant donnée la connaissance d’autres événements
Comprendre certaines relations causales (notion d’antériorité ou d’impact)
Conjonction de certaines variables pour déclencher une action
82
Les réseaux Bayésiens Les réseaux Bayésiens
✔
Conception des réseaux bayésiens
Graphe orienté :
Probabilité d’apparition d’un événement :
Force des dépendances entre variable
= probabilité conditionnelle Objet Prêt
Contentieux Sain
Montant
Durée
P(Sain|Objet, Durée, Montant) = P(Objet) × P(Montant|Objet)
× P(Durée|Montant, Objet) × P(Sain|Montant, Durée)
83
Les réseaux Bayésiens Les réseaux Bayésiens
✔
Conception des réseaux bayésiens
Complexité du réseau
✯ Variables discontinues ⇒ autant de nœuds que de valeurs
✯ Variables continues modélisées par la techniques de grappe
⇒ Limiter le nombre de nœuds et de connexions
Ex : 10 objets de prêt, 10 tranches de montant, 10 tranches de durée, 2 résultats en sortie = 32 nœuds
Élagage du réseau
✯ Regroupement des valeurs
✯ Limitations des liens : recherche de la couverture minimale
84
Les réseaux Bayésiens Les réseaux Bayésiens
✔
Domaines d’application
Peu d’applications opérationnelles - technique jeune
(modélisation de processus d’alertes, prédiction de risques d’impayés pour télécommunications)
Peu de logiciels
✔
Avantages et limites
Bon compromis entre puissance et compréhension Bonne résistance au bruit
Limite de la puissance de calcul
Ex : 3 var. de 10 modalités et 2 parents = 90 lectures
101
Plan Plan
✔
Introduction
✔
1. Les tâches du data mining
✔
2. Le processus de data mining
✔
3. Les bases de l'analyse de données
✔
4. Les modèles du data mining
✔
5. Critères pour le choix d’un logiciel
✔
Conclusion et perspectives
102
Logiciels : catégories Logiciels : catégories
Trois catégories principales :
✔ Outils d'aide à l'analyse pour OLAP
Aident les utilisateurs OLAP à identifier les dimensions et les segments importants
Exemples : SAP BO BI, IBM Cognos BI
✔ Outils « purs »
Pour experts en DM
Pour résoudre un spectre très large de problèmes
Outils lourds : IBM Intelligent Miner, Oracle Data Miner, SAS Entreprise Miner, SPSS Clementine
Outils légers : RapidMiner, Weka, Knime, Rattle.
✔ Applications analytiques
Implantent des processus métiers spécifiques
Intègrent entièrement le DM comme un composant parmi d'autres
103
Logiciels : capacités de base Logiciels : capacités de base
Critères d'évaluation de la capacité des outils :
✔ Architecture système
Ordinateur indépendant ou architecture client/serveur ?
✔ Préparation des données
Tâche la plus coûteuse du processus Aides appréciées :
✯ Nettoyage des données (manquantes, erreurs,…)
✯ Description des données (décomptes, distribution,…)
✯ Transformation des données (création de colonnes, calculs, groupement par intervalles ou dichotomiques,…)
✯ Échantillonnage de données (construction d'ensembles d'entrainement et de tests)
✯ Sélection de prédicteurs à partir de l'ensemble des variables, et identification de colonnes colinéaires
104
Logiciels : capacités de base Logiciels : capacités de base
✔ Accès aux données
Nécessité d'un format interne intermédiaire, ou accès direct aux bases de données ?
Nécessité parfois d'utiliser ODBC, si le format des bases n'est pas standard, ou s'il y a des sources multiples
✔ Algorithmes
Maîtriser les caractéristiques des algos utilisés
Connaître avantages et inconvénients selon le problème traité et ses données
Sensibilité du bruit dans les données sur l'algo et les résultats ?
✔ Interfaces avec d'autres produits
Facilité d'intégration avec des outils d'interrogation, de rapport, graphiques, de visualisation, OLAP ?
105
Logiciels : capacités de base Logiciels : capacités de base
✔ Évaluation et interprétation du modèle
Mesures fournies ? Et sous que format ?
✔ Déploiement du modèle
Incorporation soit via un programme utilisant une API, soit directement du code engendré par l'outil de DM
Inclusion des transformations nécessaires pour faire les prédictions ? (souvent un job à part…)
✔ Passage à l'échelle
Capacité réelle de l'outil face à un nombre très important de données (lignes et colonnes) ?
Support du parallélisme ? Jusqu'à quel point ? Algorithmes adaptés au parallélisme ?
✔ Interface utilisateur
GUI ou scripts pour la construction semi-automatique des modèles ?
106
Logiciels : pièges à éviter Logiciels : pièges à éviter
✔
Système d’exploitation
Windows (en général)
Unix/Linux (poids lourds + produits peu commerciaux)
✔
Matériel
RAM minimum ? Rapidité du réseau ?
✔
Coût
Achat ou location ?
✔
Dépendances
Besoin de « modules » supplémentaires ?
✔
Expérimentations
Indispensables pour choisir un outil !
107
Plan Plan
✔
Introduction
✔
1. Les tâches du data mining
✔
2. Le processus de data mining
✔
3. Les bases de l'analyse de données
✔
4. Les modèles du data mining
✔
5. Critères pour le choix d’un logiciel
✔
Conclusion et perspectives
108
Conclusion et Perspectives Conclusion et Perspectives
✔
Réussite d’un bon projet pilote
Constituer un enjeu pour l’entreprise
Impliquer plusieurs directions (application transversale) Avoir des effets mesurables rapidement
✯ typologie client - pas immédiatement opérationnel
✯ plus facile : optimisation d’une cible de marketing
Sujet pour lequel il existe une compétence interne
✯ complémentarité avec les experts
✯ découverte de phénomène insoupçonnés (+ du DM)
Aboutir à des conclusions pouvant être mises en œuvre Rechercher les problèmes répétitifs de l’entreprise