Vous êtes sur la page 1sur 42

Ecole Nationale d’Ingénieurs de Sfax, Université de Sfax

Cours Business Intelligence – GI3


Partie II

Fatma Ben Saïd


fatma.bensaid@enis.tn
© 2018
Business Intelligence – Partie II
Séance 6

Fatma Ben Saïd Cours Business Intelligence – Partie II 2


fatma.bensaid@enis.tn
Mise à niveau Business Intelligence Rappel

Fatma Ben Saïd Cours Business Intelligence – Partie II 3


fatma.bensaid@enis.tn
Data Mining & Machine Learning Rappel

Fatma Ben Saïd Cours Business Intelligence – Partie II 4


fatma.bensaid@enis.tn
Rappel

Machine
Learning

Supervised Unsupervised Reinforcement


Learning Learning Learning

Dimensionali
Regression Classification Clustering
ty Reduction

Fatma Ben Saïd Cours Business Intelligence – Partie II 5


fatma.bensaid@enis.tn
Rappel

Machine
Learning

Supervised Unsupervised Reinforcement


Learning Learning Learning

Dimensionali
Regression Classification Clustering
ty Reduction

Fatma Ben Saïd Cours Business Intelligence – Partie II 6


fatma.bensaid@enis.tn
Définitions Rappel

• Clustering : regrouper des éléments similaires ou plus


précisément des points de données pouvant être des images,
des vidéos, des documents texte, etc.
• Les différents algorithmes de clustering diffèrent sur:
- Les critères de convergence (Comment arrêter après la
fin du clustering)
-Comment les clusters sont affectés aux points de
données.
-La mesure de similitude (Quels points de données sont
similaires)
Fatma Ben Saïd Cours Business Intelligence – Partie II 7
fatma.bensaid@enis.tn
Modèles de Clustering Rappel

définit les clusters comme des


représente chaque cluster régions denses connectées
par un seul vecteur moyen Clustering
dans l'espace de données

Centroid Density
models models

k-means DBSCAN
algorithm algorithm

Fatma Ben Saïd Cours Business Intelligence – Partie II 8


fatma.bensaid@enis.tn
Kmeans : applications

Classification de Optimisation du Identification des Segmentation de la


document magasin de livraison localités criminelles clientèle

Détection de fraude à Analyse des données Analyse détaillée des Clustering des alertes
l'assurance de covoiturage enregistrements d'appels informatiques
Fatma Ben Saïd Cours Business Intelligence – Partie II 9
fatma.bensaid@enis.tn
L’algorithme kmeans Rappel

Fatma Ben Saïd Cours Business Intelligence – Partie II 10


fatma.bensaid@enis.tn
L’algorithme kmeans (suite) Rappel

Fatma Ben Saïd Cours Business Intelligence – Partie II 11


fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
• Soit ce jeux de données:
X1 = (1,0) F1 F2
X2 = (0,1) X1 1 0
X2 0 1
X3 = (2,1) X3 2 1
X4 = (3,3) X4 3 3

• Soit C1 = (X1, X3) et C2 = (X2,X4)


• Calculer le centroide du cluster C1 et celui du cluster C2

Fatma Ben Saïd Cours Business Intelligence – Partie II 12


fatma.bensaid@enis.tn
Critères d’évaluation : Indices de validité interne

Centroïde
On appelle centroïde d'un cluster le
barycentre des points de ce cluster :

Fatma Ben Saïd Cours Business Intelligence – Partie II 13


fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
X1 = (1,0) X2 = (0,1)
X3 = (2,1) X4 = (3,3)

• X1X3
F11 = (1+2) / 2 = 3/2 = 1.5
F12 = (0+1) / 2 = ½ = 0.5
µ1 = (1.5 , 0.5)

• X2X4
F21 = (0+3)/2 = 3/2 = 1.5
F22 = (1+3)/2 = 4/2 = 2
µ2 = (1.5 , 2)
Fatma Ben Saïd Cours Business Intelligence – Partie II 14
fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1

• Calculer la distance euclidienne au carré entre les instances Xi


et les centroides µj

µ1 (1.5,0.5) µ2 (1.5,2)
X1 (1,0)
X2 (0,1)
X3 (2,1)
X4 (3,3)

Fatma Ben Saïd Cours Business Intelligence – Partie II 15


fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
• Calculer la distance euclidienne au carré entre les
instances Xi et les centroides µj
• DistE(X1, µ1) = (1-1.5)2 + (0-0.5)2 = 0.25 + 0.25 = 0.5
µ1 µ2
• DistE(X1, µ2) = (1-1.5)2 + (0-2)2 = 0.25 + 4 = 4.25 (1.5,0.5) (1.5,2)
• DistE(X2, µ1) = (0-1.5)2 + (1-0.5)2 = 2.25 + 0.25 = 2.5 X1 (1,0) 0.5 4.25
• DistE(X2, µ2) = (0-1.5)2 + (1-2)2 = 2.25 + 1 = 3.25 X2 (0,1) 2.5 3.25

• DistE(X3, µ1) = (2-1.5)2 + (1-0.5)2 = 0.25 + 0.25 = 0.5 X3 (2,1) 0.5 1.25
X4 (3,3) 8.5 3.25
• DistE(X3, µ2) = (2-1.5)2 + (1-2)2 = 0.25 + 1 = 1.25
• DistE(X4, µ1) = (3-1.5)2 + (3-0.5)2 = 2.25 + 6.25 = 8.5
• DistE(X4, µ2) = (3-1.5)2 + (3-2)2 = 2.25 + 1 = 3.25
Fatma Ben Saïd Cours Business Intelligence – Partie II 16
fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
• Assigner chaque xi au cluster le plus proche (suivant la
distance à chaque centroide)
µ1 µ2
(1.5,0.5) (1.5,2)
X1 (1,0) 0.5 4.25
X2 (0,1) 2.5 3.25
X3 (2,1) 0.5 1.25
X4 (3,3) 8.5 3.25

Fatma Ben Saïd Cours Business Intelligence – Partie II 17


fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
• Assigner chaque xi au cluster le plus proche (suivant la
distance à chaque centroide)
µ1 µ2
(1.5,0.5) (1.5,2)
X1 (1,0) 0.5 4.25
X2 (0,1) 2.5 3.25
X3 (2,1) 0.5 1.25
X4 (3,3) 8.5 3.25

• C1 : X1, X2, X3
• C2 : X4
Fatma Ben Saïd Cours Business Intelligence – Partie II 18
fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
• Trouver les nouveaux centroides

Fatma Ben Saïd Cours Business Intelligence – Partie II 19


fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
• Trouver les nouveaux centroides
• C1 X1 = (1,0)
X2 = (0,1)
F11’ = (1+0+2)/3 = 1 X3 = (2,1)
F12’ = (0+1+1)/3 = 0.67 X4 = (3,3)

µ’1 (1, 0.67)


• C2
F21’ = 3
F21’ = 3
µ’2 (3, 3)
Fatma Ben Saïd Cours Business Intelligence – Partie II 20
fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1

• Recalculer la distance euclidienne au carré entre les instances


Xi et les centroides µ’j

µ’1 (1,0.67) µ’2 (3,3)


X1 (1,0)
X2 (0,1)
X3 (2,1)
X4 (3,3)

Fatma Ben Saïd Cours Business Intelligence – Partie II 21


fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
• Distance euclidienne au carré entre les instances Xi et les
centroides µ’j
• DistE(X1, µ’1) = (1-1)2 + (0-0.67)2 = 0 + 0.449 = 0.449
µ’1 µ’2
• DistE(X1, µ’2) = (1-3)2 + (0-3)2 = 4 + 9 = 13 (1,0.67) (3,3)
• DistE(X2, µ’1) = (0-1)2 + (1-0.67)2 = 1 + 0.109 = 1.109 X1 (1,0) 0.449 13

• DistE(X2, µ’2) = (0-3)2 + (1-3)2 = 9 + 4 = 13 X2 (0,1) 1.109 13


X3 (2,1) 1.109 5
• DistE(X3, µ’1) = (2-1)2 + (1-0.67)2 = 1 + 0.109 = 1.109
X4 (3,3) 9.429 0
• DistE(X3, µ’2) = (2-3)2 + (1-3)2 = 1 + 4 = 5
• DistE(X4, µ’1) = (3-1)2 + (3-0.67)2 = 4 + 5.429 = 9.429
• DistE(X4, µ’2) = (3-3)2 + (3-3)2 = 0
Fatma Ben Saïd Cours Business Intelligence – Partie II 22
fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
• Assigner chaque xi au cluster le plus proche (suivant la
distance à chaque nouveau centroide)

µ’1 µ’2
(1,0.67) (3,3)
X1 (1,0) 0.449 8
X2 (0,1) 1.109 13
X3 (2,1) 1.109 5
X4 (3,3) 9.429 0

Fatma Ben Saïd Cours Business Intelligence – Partie II 23


fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 1
• Assigner chaque xi au cluster le plus proche (suivant la
distance à chaque nouveau centroide)
µ’1 µ’2
(1,0.67) (3,3)
X1 (1,0) 0.449 8
X2 (0,1) 1.109 13
X3 (2,1) 1.109 5
X4 (3,3) 9.429 0

• C1 : X1, X2, X3
• C2 : X4
Fatma Ben Saïd Cours Business Intelligence – Partie II 24
fatma.bensaid@enis.tn
Kmeans (TD) : Exercice 2
En guise d'illustration d'un algorithme kmeans, considérons l'ensemble de
données suivant, constitué des scores de deux variables (2 caractéristiques
A et B) sur chacun des sept individus:

Fatma Ben Saïd Cours Business Intelligence – Partie II 25


fatma.bensaid@enis.tn
Kmeans (TD)
• Cet ensemble de données doit être regroupé en deux groupes.
1. Comme première étape pour trouver une partition initiale
raisonnable, laissez les valeurs A et B des deux individus les plus
éloignés (en utilisant la mesure de distance euclidienne): choix
arbitraire des 2 centroides.
2. Soit les individus 1 et 4 ces deux centroides

Fatma Ben Saïd Cours Business Intelligence – Partie II 26


fatma.bensaid@enis.tn
Kmeans (TD)

3. Continuer à exécuter l’algorithme kmeans afin de


segmenter ces individus en deux groupes.

Fatma Ben Saïd Cours Business Intelligence – Partie II 27


fatma.bensaid@enis.tn
Kmeans (TD)
Solution
• Les individus restants sont maintenant examinés en séquence
et attribués au groupe dans lequel ils sont le plus proches, en
termes de distance euclidienne par rapport à la moyenne du
groupe. Le vecteur moyen est recalculé chaque fois qu'un
nouveau membre est ajouté. Cela conduit à la série d'étapes
suivante:

Fatma Ben Saïd Cours Business Intelligence – Partie II 28


fatma.bensaid@enis.tn
Kmeans (TD)
Solution

Fatma Ben Saïd Cours Business Intelligence – Partie II 29


fatma.bensaid@enis.tn
Kmeans (TD)
Solution
• Maintenant, la partition initiale a changé et les deux clusters à ce stade
présentent les caractéristiques suivantes:

• Mais nous ne pouvons pas encore être sûrs que chaque individu a été
assigné au bon cluster. Ainsi, nous comparons la distance de chaque
individu à sa propre moyenne de cluster et à celle du cluster opposé. Et
nous trouvons:

Fatma Ben Saïd Cours Business Intelligence – Partie II 30


fatma.bensaid@enis.tn
Kmeans (TD)
Solution
• Mais nous ne pouvons pas encore être sûrs que chaque individu a été
assigné au bon cluster. Ainsi, nous comparons la distance de chaque
individu à sa propre moyenne de cluster et à celle du cluster opposé. Et
nous trouvons:

Fatma Ben Saïd Cours Business Intelligence – Partie II 31


fatma.bensaid@enis.tn
Kmeans (TD)
Solution
• Seul l'individu 3 est plus proche de la moyenne du groupe opposé (groupe
2) que le sien (groupe 1).
• En d'autres termes, la distance de chaque individu à sa propre moyenne
de cluster devrait être inférieure à la distance à la moyenne de l'autre
cluster (ce qui n'est pas le cas avec l'individu 3).
• Ainsi, l’individu 3 est déplacé vers le cluster 2, ce qui donne la nouvelle
partition:

Fatma Ben Saïd Cours Business Intelligence – Partie II 32


fatma.bensaid@enis.tn
Indices de validité (TD)
• Supposons k=2; qu’on a 2 centres C1, C2.
• Soit 3 points dans C1 (c1p1, c1p2, c1p3) et 3 points dans C2
(c2p4, c2p5, c2p6).
• Calculez WCSS pour k=2 sachant que :

c1p1 (1,1)
c1p2 (1,1.5)
c1p3 (2,1)
c2p4 (4,2)
c2p5 (4,2.5)
c2p6 (4.5,3)

Fatma Ben Saïd Cours Business Intelligence – Partie II 33


fatma.bensaid@enis.tn
Indices de validité (TD)
1. Calcul des deux centroides
2. Mesure de dist euclidienne entre les points de chaque centre
et leur centroide
3. Calculer clusters sum of squares
4. Calculer WCSS
c1p1 (1,1)
c1p2 (1,1.5)
c1p3 (2,1)
c2p4 (4,2)
c2p5 (4,2.5)
c2p6 (4.5,3)

Fatma Ben Saïd Cours Business Intelligence – Partie II 34


fatma.bensaid@enis.tn
Modèles de Clustering Rappel

définit les clusters comme des


régions denses connectées
Clustering
dans l'espace de données

Centroid Density
models models

k-means DBSCAN
algorithm algorithm

Fatma Ben Saïd Cours Business Intelligence – Partie II 35


fatma.bensaid@enis.tn
DBSCAN Rappel

• DBSCAN est un algorithme de clustering basé sur la densité.


• Densité = nombre de points dans un rayon spécifié (Eps)
• Un point est un point central ou point intérieur (core point) s'il
a plus d'un nombre spécifié de points (MinPts) au sein d'Eps.
Ce sont des points qui sont à l'intérieur d'un cluster.
• Un point frontière a moins de MinPts dans Eps, mais il est dans
le voisinage d'un point central.
• Un outlier ou point aberrant ou point de bruit est un point qui
n'est pas un point central ou un point frontière.

Fatma Ben Saïd Cours Business Intelligence – Partie II 36


fatma.bensaid@enis.tn
DBSCAN (TD)

Fatma Ben Saïd Cours Business Intelligence – Partie II 37


fatma.bensaid@enis.tn
Pourquoi débuter avec Scikit-Learn

• C'est une bonne idée de débuter la découverte de l'apprentissage


automatique avec cette librairie:
• Elle dispose d'une excellente documentation fournissant de
nombreux exemples
• Elle dispose d'une API uniforme entre tous les algorithmes, ce qui
fait qu'il est facile de basculer de l'un à l'autre
• Elle est très bien intégrée avec les Librairies Pandas et Seaborn
• Elle dispose d'une grande communauté et de plus de 800
contributeurs référencés sur GitHub !
• C'est un projet open source

Fatma Ben Saïd Cours Business Intelligence – Partie II 38


fatma.bensaid@enis.tn
Les concepts de la librairie sklearn
Les données
 Vos données sont représentées par des tableaux à 2 dimensions.
 Typiquement, des tableaux Numpy ou Pandas ou Python
 Les lignes représentent les enregistrements
 Les colonnes les attributs (hauteur, longueur, couleur, autre information)
 Une donnée est un vecteur de paramètres, généralement des réels, mais les
entiers, booléens et valeurs discrètes sont autorisées dans certains cas
 Les labels peuvent être de différents types, généralement des entiers ou
chaînes
 Les labels sont contenus dans un tableau à une dimension, sauf rares cas où ils
peuvent être dans le vecteur de paramètres
Fatma Ben Saïd Cours Business Intelligence – Partie II 39
fatma.bensaid@enis.tn
Les concepts de la librairie sklearn (suite)
Prédiction
L'algorithme de prédiction est représenté par une classe.
• Vous devez commencer par choisir l'algorithme à utiliser, qu’on appelle
prédicteur/classifieur/estimator
• Les algorithmes sont des classes Python. Les données sont toujours des tableaux
Numpy/Scipy/Pandas/Python
• Vous précisez ses éventuels paramètres, appelés hyperparamètres en instanciant
la classe
• Vous l'alimentez avec la fonction fit dans le cas d'un apprentissage supervisé
• Vous lancez la prédiction sur un ensemble de valeurs via la fonction predict parfois
appelée transform dans le cas de l'apprentissage non supervisé
Fatma Ben Saïd Cours Business Intelligence – Partie II 40
fatma.bensaid@enis.tn
Fin du cours BI-
PartieII

Fatma Ben Said


fatma.bensaid@enis.tn

Fatma Ben Saïd Cours Business Intelligence – Partie II 41


fatma.bensaid@enis.tn
La différence entre BI & ML
Business Intelligence Machine Learning
Compétence Analyste Data Scientist
Outils Produits dédiés aux Langages de programmation et outils de
entreprises science des données
Méthode Exploration Procedural
• Sample
• Train
• Run
• Re-Train
Validation Facile à valider Difficile à valider
(les chiffres s’additionnent) • Statistical concepts
• Probability based…
Performance Rapide même sur les big data Lent

Fatma Ben Saïd Cours Business Intelligence – Partie II 42


fatma.bensaid@enis.tn

Vous aimerez peut-être aussi