Ilovepdf Merged
Ilovepdf Merged
Ilovepdf Merged
FOUILLE DE DONNÉES
2ème année Génie Informatique
Semestre 1
PRÉSENTÉ PAR
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 2
Organisation du cours
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 3
Motivation
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 4
Qu’est-ce que le processus ECD ?
ECD= processus qui fait intervenir des méthodes et des outils issus
de différents domaines en vue de découvrir des connaissances utiles
ECD vise à transformer les données en connaissances
Connaissances (Informations
interprétées)
Sens
Informations (Données interprétées
avec une signification)
Contexte
Données
(Elément brut)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 5
Connaissances?
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 6
Fouille de données (Data Mining)*
Données
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 7
Fouille de données vs Apprentissage automatique
Fouille de données=
Découverte de connaissances à
partir de données Statistiques
Apprentissage automatique=
la façon d’écrire des programmes Apprentissage Intelligence
qui peuvent apprendre Automatique artificielle
Fouille de
La fouille de données implique données
l’utilisation de l’apprentissage
automatique ECD
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 8
Cadre applicatif
Médecine ✓
Education ✓
Affaire et Marketing ✓
Surveillance ✓
Web et recherche d’information ✓
Science ✓
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 9
PLAN
DU COURS
Plan du cours
4 Prétraitement de données
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 11
Plan du cours (3- Classification & Régression)
B- Arbres de décision
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 12
CHAPITRE 1
APERÇU GÉNÉRAL SUR
LE PROCESSUS ECD
Génie Indus 3
13
Processus ECD Trois phases majeurs!
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 14
Processus ECD Trois phases majeurs!
Données Données
I-Préparation des
données
II-Data Mining
Connaissances Modèles
III-Validation
Modèle retenu
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 15
PhaseI: Préparation des données
Observations
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 16
PhaseI: Préparation des données
Aucune relation existe entre les valeurs Les valeurs ont un ordre significatif
N’est pas possible de calculer des distances
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 17
PhaseI: Préparation des données
Les deux résultats sont d’importance égale Les résultats n’ont pas la même importance
ex. sexe H/F ex. Test médical P/N
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 18
PhaseI: Préparation des données
Nettoyage de données
Remplacer les valeurs manquantes
Transformation des données
Supprimer les valeurs aberrantes
Normaliser les données
Détecter les anomalies (outliers detection)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 19
PhaseII : Data Mining Tâches
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 20
PhaseII : Data Mining DM descriptif
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 21
PhaseII : Data Mining DM descriptif
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 22
PhaseII : Data Mining DM prédictif
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 23
Apprentissage supervisé
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 24
Apprentissage supervisé
⚫ Techniques
Arbres de décision ✓
Réseau de neurones ✓
Régression logistique ✓
Support Vector Machine (SVM) ✓
Bagging & Boosting
✓
Random Forest ✓
⋮
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 25
PhaseIII: Validation
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 26
Quiz
1. L’étape de préparation de données consiste principalement à (une seule réponse)
Donner un contexte aux données
Donner un sens aux informations
Évaluer et interpréter la fiabilité des données
Répartir les données
2. L’espace de descripteurs est une représentation matricielle (Choix multiple)
De connaissances
D’informations
Où les colonnes sont les descripteurs et les lignes sont les échantillons
Où les colonnes sont les échantillons et les lignes sont les descripteurs
3. L’apprentissage supervisé (une seule réponse)
Est appliqué pour constituer des groupes d’objets homogènes et différenciés
Consiste à utiliser des données brutes pour prédire des connaissances
Est appliqué principalement pour le regroupement (Clustering)
Nécessite des échantillons étiquetés par un ou plusieurs classes
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 27
Outils de Data Mining
Open Source
Licensed
⋮ ⋮
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 28
Librairies & Framework
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 29
CHAPITRE 2
DÉCOUVERTE DES
RÈGLES D’ASSOCIATIONS
Génie Indus 3
30
Motivation
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 31
Règles d’association
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 32
Représentation binaire
𝐀 𝐁 𝐂 𝐃 𝐄
t1 1 0 0 1 0
t2 1 1 1 0 0
Observations=
t3 1 0 0 0 1
Liste d’achats
t4 1 0 0 1 1
t5 0 1 0 1 0
𝐭 𝟏 = 𝐀𝐃 / 𝐭 𝟐 = 𝐀𝐁𝐂 / 𝐭 𝟑 = 𝐀𝐄 / 𝐭 𝟒 = 𝐀𝐃𝐄 / 𝐭 𝟓 = 𝐁𝐃
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 33
Ensemble des items
𝐭 𝟏 = 𝐀𝐃 / 𝐭 𝟐 = 𝐀𝐁𝐂 / 𝐭 𝟑 = 𝐀𝐄 / 𝐭 𝟒 = 𝐀𝐃𝐄 / 𝐭 𝟓 = 𝐁𝐃
k m!
Nombre d’items dans un 𝐤-itemset= Cm =
m−k !×k!
Avec 𝐦 est le nombre de descripteurs dans la base de transactions
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 34
Calcul de support
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 35
Calcul de support Propriétés
Sous-ensemble
Si l’item 𝐀𝐁𝐂 est fréquent alors les sous-ensembles
Sur-ensemble
1-itemset
d’items 𝐀𝐁, 𝐀𝐂 et 𝐁𝐂 sont aussi fréquents 2-itemset
3-itemset
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 36
Calcul de support Exemple
X= {𝐀, 𝐁, 𝐂} 1-itemset
t1 = 𝐀𝐂
t 2 = 𝐁𝐂 Y= {𝐀𝐁, 𝐀𝐂, 𝐁𝐂} 2-itemset
2- Est-ce que les items 𝐀 et 𝐂 sont fréquents? (sans faire le calcul de support)
supp 𝐀𝐂 = 0.66≥ Smin alors 𝐀𝐂 est fréquent → 𝐀 fréquent et 𝐂 fréquent
3- Est-ce que l’item 𝐀𝐁𝐂 est fréquent? (sans faire le calcul de support)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 37
Règles d’association
Application de la forme R : 𝐱 → 𝐲
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 38
Règles d’association
card(t j |𝐱 ⊆ t j , t j ∈ T)
supp 𝐱 = ; j ∈ 1. . n [0,1]
n
n est le nombre de transactions dans la base
card(t j |𝐱 ⊆ t j , t j ∈ T) est le nombre de transaction qui supportent X
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 39
Extraction des règles d’association
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 40
Algorithme général
Entrée T : Base de 𝐧 transactions de 𝐦 descripteurs
Smin : support minimum
Confmin : confiance minimale
Sortie Ensemble des règles d’association retenu 𝐄_𝐫
1. Déterminer l’ensemble 𝟏-itemset 𝐗 𝟏 de 𝐦 éléments à partir de T
2. 𝐤 ←2;
3. 𝐄_𝐫 ← ∅ # Initialiser l’ensemble des règles d’association à retenir
4. Répéter
a. Déterminer l’ensemble 𝐤-itemset 𝐗 𝐤
b. Déterminer les combinaisons de règles d’association possibles pour
chaque item de 𝐗 𝐤
c. Pour chaque règle d’association obtenue 𝐑
Calculer supp 𝐑 et conf 𝐑
Si supp 𝐑 ≥ Smin et conf 𝐑 ≥ Confmin alors
𝐄_𝐫 ← 𝐄_𝐫 ∪ {𝐑}
d. 𝐤 ← 𝐤 +1
Jusqu’à 𝐤 = 𝐦
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 41
Algorithme général
Exemple :
Déterminer les règles d’association associées à la base de transactions suivantes :
t1 = 𝐀𝐃, 𝐭 𝟐 = 𝐀𝐁𝐂, 𝐭 𝟑 = 𝐁𝐂, 𝐭 𝟒 = 𝐀𝐂
avec Smin=40% et confmin=60%
𝐀 𝐁 𝐂 𝐃 1-itemset
𝐤 =2
𝐄_𝐫 = ∅
𝐀𝐁 𝐀𝐂 𝐀𝐃 𝐁𝐂 𝐁𝐃 𝐂𝐃 2-itemset C42 =6
𝟏 𝟏
R : 𝐀 → 𝐁 supp R = 𝟒 =0.25 conf R = 𝟑 =0.33
𝟏 𝟏
R : 𝐁 → 𝐀 supp R = 𝟒 =0.25 conf R = 𝟐 =0.5
𝐄_𝐫 = ∅
⋮
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 42
Algorithme général
Considérer que les règles ayant un support supérieur à un taux fixé a priori
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 43
|ALGORITHME
A_PRIORI
Algorithme A_priori
Entrée T : Base de 𝐧 transactions de 𝐦 descripteurs
Smin : support minimum
Sortie Ensemble des items fréquents 𝐅
1. 𝐤 ←1;
2. Déterminer l’ensemble 𝐤-itemset 𝐗 𝐤 à partir de T (𝐗 𝐤 = 𝐗 𝟏 )
3. 𝐅 ← ∅ # Initialiser l’ensemble des items fréquents à retenir
4. Tant que 𝐗 𝐤 ≠ ∅
a. 𝐅𝐤 ← ∅ # Initialiser l’ensemble des items fréquents de 𝐗 𝐤
b. Pour chaque item 𝐱 𝐢 de 𝐗 𝐤
Calculer supp 𝐱 𝐢
Si supp 𝐱 𝐢 ≥ Smin alors
𝐅𝐤 ← 𝐅𝐤 ∪ {𝐱 𝐢 }
c. 𝐤 ← 𝐤 +1
d. Déterminer l’ensemble 𝐤-itemset 𝐗 𝐤 à partir de 𝐅𝐤
e. Si 𝐤 > 𝟏 alors 𝐅 ← 𝐅 ∪ 𝐅𝐤
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 45
Algorithme A_priori
Exemple :
Déterminer l’ensemble d’item fréquents associés à la base de transactions
suivantes : t1 = 𝐀𝐃, 𝐭 𝟐 = 𝐀𝐁𝐂, 𝐭 𝟑 = 𝐁𝐂, 𝐭 𝟒 = 𝐀𝐂 avec Smin=40%
𝐤 =1
𝐗𝟏 { 𝐀 𝐁 𝐂 𝐃 }
𝐅 ∅
𝐅𝟏 ∅
3
supp 𝐀 = 4=0.75 supp 𝐁 =0.5 supp 𝐂 =0.75 supp 𝐃 =0.25
𝐅𝟏 { 𝐀 𝐁 𝐂 }
𝐤 =1 2
𝐗 𝟐 { 𝐀𝐁 𝐀𝐂 𝐁𝐂 } C32 =3
supp 𝐀𝐁 =0.25 supp 𝐀𝐂 =0.5 supp 𝐁𝐂 =0.5
𝐅𝟐 { 𝐀𝐂 𝐁𝐂 }
𝐅 { 𝐀𝐂 𝐁𝐂 } ⋮
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 46
Sélection des règles d’association pertinentes
Exemple :
Déterminer les règles d’association pertinentes associées à la base de transactions
suivantes : t1 = 𝐀𝐃, 𝐭 𝟐 = 𝐀𝐁𝐂, 𝐭 𝟑 = 𝐁𝐂, 𝐭 𝟒 = 𝐀𝐂 sachant que l’ensemble des
items fréquents 𝐅={𝐀𝐂, 𝐁𝐂} et Confmin=70%
𝐀𝐂 𝐁𝐂
R:𝐀→𝐂 R:𝐁→𝐂
R:𝐂→𝐀 R:𝐂→𝐁
2
conf 𝐀 → 𝐂 = 3 =0.666 (66.6%) conf 𝐁 → 𝐂 =1 (100%)
2 conf 𝐂 → 𝐁 =0.666 (66.6%)
conf 𝐂 → 𝐀 = 3 =0.666 (66.6%)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 47
Règles d’association redondantes
Exemple :
R1 : 𝐀 → 𝐂 R1 : 𝐀 → 𝐁𝐂𝐃
R2 : 𝐀𝐁 → 𝐂 R2 : 𝐀 → 𝐂
Éliminer R2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 48
𝐥𝐢𝐟𝐭, 𝐥𝐞𝐯𝐞𝐫𝐚𝐠𝐞 et 𝐜𝐨𝐧𝐯𝐢𝐜𝐭𝐢𝐨𝐧
Étant donnée R : 𝐱 → 𝐲
conf R
lift R =
supp(𝐲 )
NB. Des règles avec un haut degré de confiance ne sont pas nécessairement intéressantes
𝐥𝐞𝐯𝐞𝐫𝐚𝐠𝐞: [-1,1]
Étant donnée R : 𝐱 → 𝐲
leverage R = supp(R)-supp(𝐱) × supp(𝐲)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 50
Inconvénients des règles d’association
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 51
Quiz
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 52
FP-Growth (1/2)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 53
FP-Growth (2/2)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 54
DÉCOUVERTE DES RÈGLES D’ASSOCIATION
AVEC PYTHON : mlextend *
Génie Indus 3
55
mlextend (1/2)
𝐭 𝟏 = 𝐀𝐃, 𝐭 𝟐 = 𝐀𝐁𝐂, 𝐭 𝟑 = 𝐀𝐄, 𝐭 𝟒 = 𝐀𝐃𝐄, 𝐭 𝟓 = 𝐁𝐃 data_A.xlsx
import pandas as pd
from mlxtend.frequent_patterns import apriori,
association_rules
df=pd.read_excel(r'chemin\data_A.xlsx')
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 56
mlextend (2/2)
𝐭 𝟏 = 𝐀𝐃, 𝐭 𝟐 = 𝐀𝐁𝐂, 𝐭 𝟑 = 𝐀𝐄, 𝐭 𝟒 = 𝐀𝐃𝐄, 𝐭 𝟓 = 𝐁𝐃
freq_items
⋮
freq_items = apriori(df, min_support=0.4,
use_colnames=True) # freq_items correspond à un Dataframe
rules = association_rules(freq_items,
metric="confidence", min_threshold=0.6)
rules
metric="confidence"
metric="lift"
metric="leverage" …
metric="conviction"
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 57
CHAPITRE 3
CLASSIFICATION &
RÉGRESSION
Génie Indus 3
58
Classification & Régression : Apprentissage supervisée
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 59
Classification & Régression : Apprentissage supervisée
Jeu de données
d’apprentissage Classe désirée
Est-ce-que le
modèle obtenu
est performant?
Apprentissage
Modèle 𝓜
supervisée
?
! Estimer la performance du modèle : Validation
! Spécifier des données de validation : Echantillonnage
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 60
PARTIE-A
ESTIMATION DES
PERFORMANCES
Critères de performance
désirée
Ci et prédites comme Ci
Classe
⋮ ⋮
Ci CM(i,j)
*n le nombre total des observations
CN CM(N,N)
❑ Rappel recallCi
Mesure la proportion d’observations Classe prédite
correctement prédites comme i parmi tous 𝐂𝐌 C1 … Ci CN
les observations désirées comme i CM(1,1) CM(1,i)
C1
désirée
CM(i,i)
Classe
⋮ ⋮
recallCi = CM(i,i)
σN
j=1 CM(i,j)
Ci
CN CM(N,N)
désirée
Classe
no 𝐅𝐏 𝐓𝐍
recallno = True Negative rate
𝐓𝐍
= Specificity = 𝐅𝐏+𝐓𝐍
False Positive True Negative
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 63
Critères de performance
❑ Précision precisionCi
Mesure la proportion d’observations Classe prédite
correctement prédites comme i parmi tous 𝐂𝐌 C1 … Ci CN
les observations prédites comme i CM(1,1) CM(1,i)
C1
désirée
CM(i,i)
Classe
⋮ ⋮
precisionCi = CM(i,i)
σN
j=1 CM(j,i)
Ci
CN CM(N,N)
❑ F- measure F1 − scoreCi
Mesure la moyenne harmonique de rappel
et précision
2 × (precisionCi × recallCi ) la précision et le rappel sont
F1 − scoreCi = pondérés de façon égale
precisionCi + recallCi
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 64
Critères de performance
désirée
𝟏𝟒𝟎
Classe
precisionChat = = 𝟖𝟕. 𝟓%
𝟏𝟒𝟎 + 𝟐𝟎 Chat 𝟐𝟎 𝟏𝟎
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 65
Classification à différents seuils (Cas de 2 classes))
[0..1] 1
Courbe Receiver Operating Characteristics (ROC)
ROC
Sensitivity
❑ 2Plus Area Under Curve
1 (AUC)Nonest élevée? , plus le
3modèle est capable0.5 Nonla classe correcte
de prédire ? AUC [0..1]
4 0.4 Non ?
5 0.65 Oui ? 0 1-Specificity 1
6
Precision-Recall 0.7(PRC)Oui
Curve ? =False Positive rate
7 0.6 Non ?
PRC
❑8Montre le compromis
0.45entreOui
la précision ?et le
(classe positive)
rappel pour différents seuils
Precision
❑ Des scores élevés de rappel et précision montrent
[0..1]
que le classifieur renvoie des résultats précis
Sensitivity
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 66
Echantillonnage
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 67
Méthodes de validation
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 68
Split validation
Ensemble d’apprentissage
Jeu(70%)
de données Ensemble de test (30%)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 69
Cross validation : 𝐊-Folds
NB. Répéter l’opération de sorte que toutes les observations aient été
utilisé exactement une fois pour le test
Apprentissage
Exemple 𝐤= 4 Test
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 70
Cross validation : Leave-one-out
Exemple 𝐤= 5
Apprentissage
Test
Fold 1
Fold 2
Fold 3
Leave-one-out= 𝐤-fold avec 𝐤= 𝐍
Fold 4
Fold 5
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 71
Cross validation : Bootstrapping
𝐊=?
Test
Apprentissage
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 72
Sous-apprentissage vs. Sur-apprentissage
Test Test
Erreur
Erreur
Erreur
Apprentissage Test
Apprentissage
Apprentissage
Sous-apprentissage Sur-apprentissage
Parfait
Underfitting Overfitting
Incapacité à apprendre
perfect Learning noise
les caractéristiques
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 73
Quiz
1. Étant donnée un jeu de données de 20 observations; le taux de classification
obtenu en appliquant la validation croisée 20-Folds est égal à 91.6% ; En
appliquant leave-one-out, le taux d’erreur est égal à (une seule réponse)
8.4%
91.6%
50%
Aucune bonne réponse
ARBRES DE DÉCISION
Définition
Ai>Y
Un nœud représente une « classe » de
plus en plus fine depuis la racine
un arc représente un prédicat de
partitionnement de la classe source
Un parcours représente une règle de
décision
Nœuds
Branches (arcs)
Feuilles
Parcours
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 76
Construction d’un arbre
Construction descendante
x1 C1 Ci (i=1... n) : classe i
x 2 C2 xi (i=1... n) : les observations
1. Affecter tous les observations ⋮ ⋮
associées à la classe i
x n Cn
d’apprentissage au nœud racine de l’arbre
*Les individus de la base d’apprentissage partitionnés selon la classe à prédire
2. Répéter
Jusqu’à aucune observation n’est mal classée (Tous les nœuds feuilles sont pures)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 77
Choix du meilleur attribut !
weather_n
Variables explicatives :
outlook, temperature, humidity et windy
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 78
Choix du meilleur attribut !
weather_n
9 yes
5 no
sunny rainy
outlook
overcast
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 79
Choix du meilleur attribut !
weather_n
9 yes
5 no
hot cold
temperature
mild
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 80
Choix du meilleur attribut !
weather_n
9 yes
5 no
high normal
humidity
4 yes 6 yes
4 no 1 no
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 81
Choix du meilleur attribut !
weather_n
9 yes
5 no
True False
windy
3 yes 6 yes
3 no 2 no
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 82
Choix du meilleur attribut !
Objectifs
Minimiser le nombre de tests pour classer un nouvel objet
Minimiser l’entropie d’une partition
Maximiser le gain de partitionnement
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 83
Calcul d’entropie
Mesure de désordre
→ plus le désordre est grand, plus la valeur de l’entropie est grande
x1 C1
Ci (i=1... n) : classe i
x 2 C2
⋮ ⋮
xi (i=1... n) : les observations
x n Cn associées à la classe i
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 84
Calcul d’entropie
Indice de Gini
Soit D un nœud comportant 𝐧 classes, x1 C1
n D x 2 C2
⋮ ⋮
2 x n Cn
Υ D = Gini D = 1 − (pi )
i=1 Ci (i=1... n) : classe i
𝐱𝐢 xi (i=1... n) : les observations
pi =σn associées à la classe i
i=1 𝐱 𝐢
pi est la probabilité de la classe i
Exemple n=2
S0 6 yes 6 3
Gini S0 = 1 − (9)2 −(9)2 = 0.44
3 no
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 85
Calcul d’entropie
Exemple n=2
S0 6 yes 6 6 3
I S0 = −(9)log 2 (9) − (9)log 2 (9)= 0.92
3
3 no
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 86
Calcul d’entropie Cas de 2 classes
Υ D
1
Shannon
0.5 Gini
0 0.5 1
pi
x1 2 x1 2
Indice de Gini : Υ D = Gini D =1 − (x ) −( ) = 1 − 2 0.5 2 =0.5
1 +x2 x1 +x2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 87
Entropie d’une partition
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 88
Gain de partitionnement (1/2)
Gain informationnel x1 C1
S 0 x 2 C2
P0 ⋮ ⋮
Gain(P1 , A) = Υ P0 − Υ P1 = Υ S0 − Υ P1 x n Cn
Gain(Pk , A) = Υ Pk−1 − Υ Pk A
x11 C1 x21 C1
x12 C2 x22 C2
Gain ratio P1 S1 ⋮ ⋮
S2 ⋮ ⋮
x1n Cn x2n Cn
|Υ Pk−1 −Υ Pk |
Gain_r(Pk , A) = facteur visant à pénaliser la
φk
prolifération des sommets
𝐦𝐤 card(Sj ) card(Sj )
φk =-σj=1 × log 2
card(Pk−1 ) card(Pk−1 )
→ Prendre en compte le nombre et la taille des branches lors du choix d’un attribut
→ Le gain ratio est calculé généralement en se basant sur l’entropie de Shannon
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 89
Gain de partitionnement (2/2)
Exemple
9 yes
P0 ={S0} ; P1 ={S1, S2} S0
5 no
Gini P0 = ?
True False
Gini P1 = ? windy
I P0 = ?
I P1 = ? 3 yes
S1 S2 6 yes
Gain informationnel 3 no 2 no
Gain(P1 , windy) = Gini S0 − Gini P1 = ?
Gain(P1 , windy) = I S0 − I P1 = ?
Gain ratio
S
I 0 −I P1
Gain_r(P1 , windy) = 6 6 8 8 =?
−( )log2 ( )−( )log2 ( )
14 14 14 14
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 90
Partition d’un arbre
Exemple 10 yes
S0
5 no
P0 ={S0}
X
P1 ={S1, S2}
6 yes 4 yes
S1 S2
P2 = {S2, S3, S4} 5 no 0 no
0 yes 6 yes
S3 S4 3 no
2 no
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 91
Attribut à valeur continue (1/2)
data_n
Étant donné le jeu de donnée
d’apprentissage data_n
Variable à prédire (classe) : C1/ C2
Variable explicative (X) : valeurs continues
C1 C2 C2 C1 C1
19.5 + 21 22.5 + 25
= 20.25 = 23.75
2 2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 92
Attribut à valeur continue (2/2)
data_n
2- Choisir le meilleur point de coupure
p_coup1 =20.25 p_coup2 =23.75
3 C1 3 C1
S0 S0
2 C2 2 C2
1 C1 2 C1 1 C1 2 C1
S1 S2 S1 2 C2 S2 0 C2
0 C2 2 C2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 93
Élagage Solution pour le sur-apprentissage
Le pré-élagage
Le post-élagage
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 94
1- Pré-élagage
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 95
2- Post-élagage
X1 X1 X1
X2 Y Y
Arbre T1 Arbre T2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 96
ID3, C4.5
- C1
Graphe arborescente 𝐧-aire P0
- C2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 97
CART
- C1
Graphe arborescente 𝐛𝐢𝐧𝐚𝐢𝐫𝐞 - C2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 98
CART "Segmentation binaire"
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 99
Inconvénients des arbres de décision
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 100
Quiz
1. La mesure d’impureté dans l’algorithme ID3 se fait par le calcul de (une seule réponse)
L’entropie de Shannon
Indice de Gini
Indice de Towing
Gain ratio
? C1
2. Étant donné l’arbre suivant ? C2
a. Le nombre d’observation total dans la base ≤14 >14
Z
d’apprentissage égal à (une seule réponse)
12 ? C1 2 C1
16 ? C2 5 C2
28 oui
T
non
Génie Indus 3
102
CART (1/4) weather_h
data=pd.read_excel(r'chemin\weather_h.xlsx')
df_outlook=data[['outlook']]
enc = OneHotEncoder()
arr= enc.fit_transform(df_outlook).toarray()
df_outlook=pd.DataFrame(arr, columns=
['outlook=overcast', 'outlook=rainy', 'outlook=sunny'])
In_df=data[['temperature','humidity','windy','play']]
data=pd.concat([df_outlook, In_df], axis=1)
data.head()
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 103
CART (2/4)
2- Échantillonnage
from sklearn.model_selection import train_test_split
0 1 2 3 4 5 6
De colonne d’indice 0
X = data.iloc[:, :6].values à colonne d’indice 5
Y = data.iloc[:, 6].values Colonne d’indice 6
print("X=\n", X) ⋮
print("Y=\n", Y)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 104
CART (3/4)
cls = DecisionTreeClassifier()
cls.fit(X_train, Y_train)
r = export_text(cls, feature_names=features)
print(r)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 105
CART (4/4)
4- Validation
from sklearn.metrics import confusion_matrix, plot_confusion_matrix, accuracy_score
accuracy_score(Y_test, Y_p_test)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 106
PARTIE-C
ENSEMBLE LEARNING
BAGGING & BOOSTING
PARTIE-D
Génie Indus 3
111
Exemple de dataset!
Valeur
aberrante
Faute
Format invalide
plages de d’orthographe
valeurs distants
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 112
Prétraitement des données
❑ Nettoyage des données
❑ Transformation de données
❑ Discrétisation des données
❑ Réduction des données
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 113
1- Nettoyage des données
import pandas as pd
import numpy as np
df=pd.read_excel(r'chemin\data.xlsx')
⋮ ⋮ ⋮ ⋮ ⋮
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 114
1- Nettoyage des données
df.dropna()
df.dropna(axis=1) # ?
df.fillna(0)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 115
1- Nettoyage des données
mf_imputer = SimpleImputer(missing_values=np.nan,
strategy='most_frequent') arr=mf_imputer.fit_transform(df)
# arr est de type ndarray
pd.DataFrame(arr,columns=['X1','X2','X3','X4'])
strategy='mean' ?
strategy='median' ?
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 116
1- Nettoyage des données
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 117
1- Nettoyage des données Outliers detection
Isolation Forest
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 118
Boxplot / Boite à moustache
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 119
2- Transformation des données
𝐱𝟏 … 𝐱𝐢 𝐱𝐩
𝐨𝐛𝐬𝟏 𝐚𝟏𝟏 ⋮ 𝐚𝟏𝐢 𝐚𝟏𝐩
aji −min 𝐱 𝐢
aji = ⋮ ⋮ ⋮ ⋮ ⋮
max 𝐱 𝐢 − min 𝐱 𝐢 𝐨𝐛𝐬𝐣 𝐚𝐣𝟏 ⋮ 𝐚𝐣𝐢 𝐚𝐣𝐩
𝐨𝐛𝐬𝐍 𝐚𝐍𝟏 … 𝐚𝐍𝐢 𝐚𝐍𝐩
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 120
2- Transformation des données
df=pd.read_excel(r'chemin\data_N.xlsx')
scaler = StandardScaler()
arr = scaler.fit_transform(df)
pd.DataFrame(arr,columns=['X1','X2'])
Vecteur de 𝐌𝐢 → scaler.mean_
Vecteur de 𝛔𝐢 → scaler.scale_
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 121
2- Transformation des données Encoding Categorial Data
OrdinalEncoder& OneHotEncoder
LabelEncoder
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 122
2- Transformation des données Encoding Categorial Data
df_outlook
import pandas as pd
from sklearn.preprocessing import OrdinalEncoder
df_outlook=data[['outlook']]
enc = OrdinalEncoder()
arr= enc.fit_transform(df_outlook)
df_outlook=pd.DataFrame(arr, columns= ['outlook'])
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 123
2- Transformation des données Encoding Categorial Data
df_outlook
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 124
Quiz
1. Quelle est l’utilité de la phase de prétraitement? (une seule réponse)
Construction du modèle
validation du modèle
Nettoyage de données
2. Pour supprimer les valeurs manquantes, on utilise la fonction (une seule réponse)
dropna
fillna
SimpleImputer
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 125
Type de distribution de données
dissymétrique
Courbe avec des pics
de Gauss
dissymétrique dissymétrique
à gauche à droite
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 126
3- Discrétisation des données Méthodes
NB.
Il n’y a pas une discrétisation optimale
Il y a une démarche cohérente par rapport à un objectif donné et une distribution donnée
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 127
3- Discrétisation des données
df=pd.read_excel(r'chemin\data_D.xlsx')
EwD = KBinsDiscretizer(n_bins=3, encode='ordinal',
strategy='uniform')
arr = EwD.fit_transform(df)
pd.DataFrame(arr,columns=['X1','X2'])
min max
0.0 1.0 2.0 70−50
X1 [ [ [ ] 𝐍=3
3
=6.66
50 56.66 63.32 70
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 128
3- Discrétisation des données
df=pd.read_excel(r'chemin\data_D.xlsx')
EwD = KBinsDiscretizer(n_bins=3, encode='ordinal',
strategy='quantile')
arr = EwD.fit_transform(df)
pd.DataFrame(arr,columns=['X1','X2'])
Médiane min max
0.0 1.0 2.0 𝟓
50 57 60 65 70
X1 [ [ [ ] 𝟑
=1.66≃2
𝟓𝟕+𝟔𝟎 𝟔𝟓+𝟔𝟎
50 =58.5 =62.5 70
𝟐 𝟐
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 129
4- Réduction de dimensionnalité
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 130
4- Réduction de dimensionnalité : Sélection des descripteurs
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 131
4- Réduction de dimensionnalité : Sélection des descripteurs
Learning Learning
Algorithm Algorithm Learning
algorithm
and
Performance
Performance
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 132
4- Réduction de dimensionnalité : Transformation
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 133
BIBLIOGRAPHIE
IIT-Sfax
Taoufik Ben Abdallah 134
MERCI DE VOTRE ATTENTION
شُكرًا على المُتابَعة
Génie Indus 3
135
FASCICULE DE COURS
INTELLIGENCE ARTIFICIELLE
1er Génie Informatique
Semestre 2
PRÉSENTÉ PAR
2021-2022
|OBJECTIFS
DU COURS
2
Objectifs du cours
Ce cours vise à
Introduire le domaine de l’Intelligence Artificielle
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 3
Organisation du cours
Evaluation
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 4
Plan
du cours
Plan du cours (Volet Théorique)
Introduction générale
2- Apprentissage non-supervisé
B- K-Moyennes (K-Means)
3- Apprentissage supervisé
B- Réseaux Bayésiens
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 6
Plan du cours (Volet Pratique)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 7
Introduction
générale
Génie Indus 3
Radhouane GUERMAZI 8
Intelligence Artificielle (IA) ?
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 9
Approches de l’IA
Les données sont représentés Les données sont représentés Interaction avec
par des symboles par un ensemble de nombres, l’environnement
de vecteurs ou de matrices
Logique mathématique Action + environment
Études du cerveau humain
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 10
IA, Apprentissage automatique vs. Apprentissage profond
IIT-Sfax
Taoufik Ben Abdallah 11
Histoire de l’IA
1950-1970
1ER ÂGE D’OR
1950
Test de Turing
1956
Naissance du Terme "Intelligence Artificielle"
Logique floue
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 12
Histoire de l’IA
1980-1990
2ÈME ÂGE D’OR
Perceptron multicouches
Systèmes experts : si 𝒙 alors 𝒚
Réseaux bayésiens
Cartes auto-organisatrices
1990-2010
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 13
Histoire de l’IA
Depuis 2010
3ÈME ÂGE D’OR
Emergence de Machine Learning : Utilisations des bases de
données de milliers d’exemples
ML en santé
Depuis 2016
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 14
Domaines d’applications
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 15
Utilisation de l’IA!
Fournir les données (Expérience), lui spécifier qu’est ce qu’il faut faire
(Tâche), et mesurer la Performance pour savoir si la machine apprend bien
Données Algorithme
Savoir
d’apprentissage
Expérience Tâche Performance
Prix des maisons Prédire le prix Prix précis
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 19
Apprentissage automatique vs Algorithme!
Données
Algorithmes basés sur d’apprentissage
des règles
Apprentissage
faux automatique
Condition
vrai
Code 1 Code 2 Nouvelles Prédiction
Modèle
données
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 20
Concepts de bases : Dataset!
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 21
Forme Typique de dataset
Descripteurs = Attributs =
variables =caractéristiques
= Information
Ensemble 2 120 0 AB ⋮
d’apprentissage 3 60 0 AC ⋮
⋮ ⋮ ⋮ ⋮ ⋮
Ensemble 5 95 1 AC ⋮
de test
⋮ ⋮ ⋮ ⋮ ⋮
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 22
|PROCESSUS
DE ML
Processus de ML
Feedback et itération
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 24
1- Préparation des données
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 25
Exemple de dataset!
Valeur
aberrante
Faute
Format invalide
d’orthographe
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 26
2- Apprentissage automatique
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 27
3- Validation du modèle
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 28
Récapitulation*
1 2 3
1. Séparer les données en apprentissage& validation et/ou test + Détection des descripteurs
2. Construction du modèle
3. Accès au modèle à l’aide des données de validation
4. Vérification de la performance du modèle de validation à l’aide des données de test
5. Déploiement du modèle d’apprentissage pour prévoir les nouvelles données
6. Amélioration des performances de l’algorithme
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 29
Quiz
1. L’espace de descripteurs est une représentation matricielle (choix multiples)
De connaissances
D’informations
Où les colonnes sont les descripteurs et les lignes sont les échantillons
Où les colonnes sont les échantillons et les lignes sont les descripteurs
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 30
|TYPES
D’APPRENTISSAGE
AUTOMATIQUE
Types d’apprentissage automatique
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 32
Apprentissage supervisé (1/4)
Observation A1 A2 A3 Type
1 1 0.001 12.134 Chat
2 0 0.023 12.001 Chien
Ensemble
d’apprentissage 3 1 0.456 9.0073 Chat
4 0 0.114 4.0017 Chat
5 0 0.555 19.771 Chien
6 1 0.551 6.9912 Chat
Ensemble 7 0 0.020 14.478 ?
de test 8 1 0.003 8.1238 ?
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 33
Apprentissage supervisé (2/4)
Attribut Classe
A1 A2 … Ak … Ap Classe
→ Décrit la valeur d’une donnée V11 V12
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 34
Apprentissage supervisé (3/4)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 35
Apprentissage supervisé (4/4) Quelques techniques
CLASSIFICATION RÉGRESSION
Régression Logistique
Support Vector Machine (SVM)
Régression Linéaire
Réseau de neurones
Arbres de décision
Random Forest
Gradient Boosting Decision Tree (GBDT)
K-Nearst Neighbors (KNN)
Naïve Bayes
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 36
Apprentissage non-supervisé (1/3)
Observation A1 A2 … Classe
1 1 12.3 …
2 0 14 …
3 0 12 …
Absent
4 0 11 …
5 1 10.2 …
6 1 22.1 …
⋮ ⋮ ⋮ ⋮
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 37
Apprentissage non-supervisé (2/3) Utilisations
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 38
Apprentissage non-supervisé (3/3) Quelques techniques
DIMENSIONALITY OUTLIER
CLUSTERING
REDUCTION DETECTION
Classification Ascendante Hiérarchique
K-Moyenne (K-means)
Principal component analysis
Isomap
One class SVM
Isolation Forest
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 39
Apprentissage semi-supervisé (1/2)
Co-apprentissage (Co-training)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 40
Apprentissage semi-supervisé (2/2) Auto-apprentissage
A1 A2 Type A1 A2 Type
1 Val1 Val3 C1 1 Val1 Val3 C1
2 Val1 Val4 C2 2 Val1 Val4 C2
3 Val2 Val4 C2 Classifieur1 3 Val2 Val4 C2 Classifieur1
4 Val1 Val5 C2 4 Val1 Val5 C2 …
5 Val2 Val5 ? 5 Val2 Val5 C1
C1
6 Val2 Val3 ? 6 Val2 Val3 ?
C2
7 Val2 Val4 ? 7 Val2 Val4 ?
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 41
Apprentissage par renforcement (1/2)
Modèle
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 42
Apprentissage par renforcement (2/2)
Exemple
Entrée
Réponse Feedback Apprentissage Réponse
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 43
Quiz
1. L’apprentissage supervisé (choix multiples)
Est appliqué pour constituer des groupes d’objets homogènes et différenciés
Consiste à utiliser des données brutes pour prédire des connaissances
Est appliqué principalement pour la prédiction
Nécessite des échantillons étiquetés par un ou plusieurs classes
2. L’apprentissage semi-supervisé (une seule réponse)
Minimise l’erreur sur la base de test
Consiste à prédire une variable continue
Consiste à apprendre les actions, à partir d’expériences
Utilise les données étiquetées pour compéter les données non-étiquetées
3. Quelle est la technique qui n’appartient pas à l’apprentissage supervisé ?
(une seule réponse)
Réseaux de neurones
Arbre de décision
Random Forest
K-means
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 44
CHAPITRE 2
APPRENTISSAGE
NON-SUPERVISÉ
Génie Indus 3
45
Apprentissage non-supervisé Clustering
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 46
Apprentissage non-supervisé Clustering
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 47
Calcul de distance entre deux objets Propriétés
NB. Plus la distance est petite, plus les objets sont similaires
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 48
Calcul de distance entre deux objets
𝐩
Distance Euclidienne carrée 𝑑 𝑋, 𝑌 = ( xi −yi )²
i=1
𝐩
Distance de Manhattan 𝑑 𝑋, 𝑌 = | xi −yi |
i=1
𝐩
Distance de Chebychev 𝑑 𝑋, 𝑌 = 𝐦𝐚𝐱| xi −yi |
i=1
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 49
Calcul de distance entre deux objets
b+c
Coefficient de correspondance simple 𝑑 𝑋, 𝑌 =
a+b+c+𝐝
b+c
Coefficient de Jaccard 𝑑 𝑋, 𝑌 =
a+b+c
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 50
Calcul de distance entre deux objets
𝒑𝟐
1 0
1 𝐚=2 𝐛=0
0 𝐜=1 𝐝=3
b+c 0+1 1
𝒅 𝒑𝟏, 𝒑𝟐 = a+b+c = 2+0+1
= 3
=0.33
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 51
Calcul de distance entre deux objets
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 52
Calcul de distance entre deux objets
𝐱𝟏 … 𝐱𝐢 𝐱𝐩
aji −min 𝐱𝐢 𝐨𝟏 a11 ⋮ a1i a1p
𝐦𝐚𝐱 𝐱𝐢 − min 𝐱𝐢 ⋮ ⋮ ⋮ ⋮ ⋮
𝐨𝐣 aj1 ⋮ aji ajp
𝐨𝐍 aN1 … aNi aNp
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 53
Calcul de distance entre deux objets
𝐨𝟏 0 1 0 2 2 2
𝒅 𝐨𝟏, 𝐨𝟐 = 0 − 0.66 + 1−0 + 0 − 0.4
𝐨𝟐 0.66 0 0.4 =1.27
𝐨𝟑 1 1 1
𝟑𝟎 − 𝟑𝟎
𝟒𝟓 − 𝟑𝟎
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 54
Calcul d’écart
𝒏𝑪𝟏
𝒏𝑪𝟐
Deux types d’écarts peuvent être distingués : écarts usuels & écart de Ward
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 55
Écarts usuels (1/3)
La distance entre deux clusters est comptabilisée à partir des deux éléments
qui sont les plus proches
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 56
Écarts usuels (2/3)
𝐨𝟒 𝑪𝟐
𝐨𝟔
𝐨𝟓
𝐨𝟑
La distance entre deux clusters est comptabilisée à partir des deux éléments
qui sont les plus éloignés
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 57
Écarts usuels (3/3)
𝐨𝟒 𝑪𝟐
𝐨𝟔
𝐨𝟓
𝐨𝟑
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 58
Écart de Ward Ward linkage
𝒏𝑪1 × 𝒏𝑪𝟐
𝒆 𝑪𝟏, 𝑪𝟐 = × 𝑑(𝒈𝑪𝟏 , 𝒈𝑪𝟐 )
𝒏𝑪1 + 𝒏𝑪𝟐
𝐩
𝑑 𝒈𝑪𝟏 , 𝒈𝑪𝟐 = σ𝐣=1( 𝒈𝑪𝟏 [j]−𝒈𝑪𝟐 [𝐣])² correspond à la distance Euclidienne carrée
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 59
Quiz
1. La dissemblance entre deux observations décrivant par des attributs binaires
peut se faire par le calcul de (une seule réponse)
Coefficient de correspondance simple
La distance euclidienne carrée
La distance de Manhattan
Standardization Min − Max
2. Étant donnée trois observations 𝐨𝟏(80,1), 𝐨𝟐(110,0), et 𝐨𝟑(75,0), la distance de
Manhattan entre 𝐨𝟏 et 𝐨𝟐 est égale à (une seule réponse)
1.86
1.32
401
31
3. Soit les deux clusters 𝐶1={𝑎} et 𝐶2={𝑏}, l’écart de Ward entre 𝐶1 et C2 est égal à
la distance Euclidienne entre 𝑎 et 𝑏 (une seule réponse)
Vrai
Faux
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 60
PARTIE-A
CLASSIFICATION ASCENDANTE
HIÉRARCHIQUE (CAH)
Classification Ascendante Hiérarchique (CAH)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 62
Dendrogramme
⋮
est un cluster
faible de ℘i et ceux de ℘i − 1
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 63
Illustration
𝟏 𝟐 𝟏 𝟐 𝟏 𝟐
𝟑 𝟑 𝟑
𝟓 𝟓 𝟓
𝟒 𝟒 𝟒
1 2 3
𝟏 𝟐 𝟏 𝟐
𝟑 𝟑
𝟓 𝟓
𝟒 𝟒
4 5
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 64
Algorithme de CAH
𝒆 𝑪𝟏 , 𝑪𝟐 =𝒆 𝑪𝟐, 𝑪𝟏
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 66
Activité
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 67
Activité I-
0) ℘0={{w1 }, {w2 }, {w3 }, {w4 }, {w5 }} {w1 } {w2 } {w3 } {w4 } {w5 }
1) Construction de la matrice des écarts pour {w1 } 0 5.85 1.41 3.35 4.47
calculer la partition ℘𝟏 {w2 } 0 4.61 7.07 1.5
e {w1 } , {w2 } = (2−7.5)² + (2−4)²= 5.85 {w3 } 0 3.20 3.16
e {w1 } , {w3 } = 1.41 {w4 } 0 5.34
…
{w5 } 0
→ ℘𝟏={{w1, w3}, {w2}, {w4}, {w5}}
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 68
Activité I-
e A, B = 𝐦𝐚𝐱( d w1 , w2 , d w1 , w5 ,
d w3 , w2 , d w3 , w5 )=5.85
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 69
Activité I-
∀i ∈ 𝟏, 𝟑, 𝟒 et ∀j ∈ 𝟐, 𝟓
e C, B = 𝐦𝐚𝐱(d wi , wj ) =7.07
relativement éloignés
4
3.35 ℘𝟑
De 3.35 à 7.07 : variation {w1 ,w3 ,w4 }
2 ℘𝟐
brusque 1.50
{w2 ,w5 } ℘𝟏
{w1 ,w3 }
0 ℘𝟎
→ ℘3 est la meilleure partition {w1 } {w3 } {w4 } {w2 } {w5 }
Digramme de la hiérarchie de
partitions : Dendrogramme
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 71
Activité II-
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 72
Activité II-
{w4 } 0 15.62
Déterminer le centre de gravité du cluster {w5 } 0
B={w2 , w5 } de ℘𝟐
𝟕.𝟓+𝟔 𝟒+𝟒
g𝐁 =( 𝟐
, 𝟐 ) =(6.75, 4)
3) ⋮
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 73
Qualité de la partition 1/3
INDICE DE SILHOUETTE
𝒃 𝒊 −𝒂(𝒊)
𝑺(𝒊)= ] − 1,1[
𝒎𝒂𝒙{𝒂 𝒊 ,𝒃 𝒊 }
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 74
Qualité de la partition 2/3
LARGEUR DE SILHOUETTE
𝟏 𝑵
𝑺= σ𝒊 𝑺(𝒊)
𝑵
𝑵 Nombre d’observations
𝑺(𝒊) Indice de silhouette associé à l’observation 𝑤𝑖
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 75
Qualité de la partition 3/3
Distance intra-cluster
L’inertie intra-cluster
Distance inter-cluster
L’inertie inter-cluster
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 76
Inertie Intra-cluster*
Centre de Partition ℘
𝑰𝑰𝒏𝒕𝒓𝒂 ( 𝑪𝒊 )×𝒏𝑪𝒊 𝒅( 𝒐𝟏 , 𝒈 𝑪𝟏 )
𝑰𝑰𝒏𝒕𝒓𝒂𝑮𝒍𝒐𝒃𝒂𝒍𝒆=σ𝒎
𝒊=𝟏 𝑵 𝑪𝟏
gravité de 𝑪𝒊
𝑪𝒊
𝑔 𝐶1
𝑁 Nombre total d’observations
𝑛 𝐶𝑖 Nombre d’éléments dans 𝐶𝑖
𝒐𝟏
𝒐𝒌 𝑔 𝐶𝑖
𝑚 Nombre de cluster dans une partition
…
𝑖 = 1…𝑚
𝒅( 𝒐𝒌 ,𝒈 𝑪 )
𝒊
𝑰𝑰𝒏𝒕𝒓𝒂 ( 𝑪𝒊 )=σ
𝒐𝒌∈ 𝑪𝒊 𝒏𝑪
𝒊
𝐩
𝑑 𝒐𝒌 , 𝒈 𝑪𝒊 = σ𝐣=1( 𝒐𝒌 [j]−𝒈 𝑪𝒊 [𝐣])² correspond à la distance Euclidienne carrée
𝐩 le nombre de descripteurs
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 77
Inertie Inter-cluster*
…
𝑖 = 1…𝑚
𝑜𝑖[1] 𝑜𝑖[j]
𝐛𝐠 =( σ , …, σ ,… ) 𝑗 = [1 … 𝑝]
𝒐∈℘
N N
𝒊
𝒑
𝑑 𝒈 𝑪𝒊 , 𝒃𝒈 = σ𝒋=1( 𝒈 𝑪𝒊 [𝒋]−𝒃𝒈 [𝒋])² correspond à la distance Euclidienne carrée
𝐩 le nombre de descripteurs
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 78
Inconvénients de CAH
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 79
Quiz
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 80
PARTIE-B
K-MOYENNE
(K-MEANS)
K-Moyennes (K-Means)
𝐠𝟏
Permet de déplacer les objets de clusters en
clusters afin de :
𝐠𝟑
Minimiser la variabilité au sein des clusters
(distances intra-clusters)
Maximiser la variabilité entre clusters (distances
inter-clusters)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 82
Illustration
3 4 5
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 83
Algorithme K-Means 1/2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 84
Algorithme K-Means 2/2
⋮
b. Pour chaque cluster de centroïde 𝐠 𝐣 (𝐣 =1..𝐊) Faire
Calculer la moyenne 𝐌𝐣 des observations du cluster ayant le centroïde 𝐠 𝐣
𝐠 𝐣 ← 𝐌𝐣
Fin Faire
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 85
Activité
𝛀 x1 x2
Soit Ω la base d’apprentissage de 6
w1 -2 2
observations w1 …w6 et de deux
descripteurs 𝑥1 et 𝑥2 w2 -2 -1
w3 0 -1
Appliquer K-Means (avec 𝐊=2) pour former w4 2 2
deux groupes 𝐴 et 𝐵 w5 -2 3
Pour mesurer la dissimilarité intra-cluster, w6 -3 0
Calculer la distance Euclidienne
Deux centroïdes initiaux : 𝐠 𝐀et 𝐠 𝐁
avec 𝐠 𝐀=(-1,-1) et 𝐠 𝐁=(2,3)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 86
Activité
1) Calculer les distances entre les observations 𝛀 w1 w2 w3 w4 w5 w6
et les centroïdes 𝐠 𝐀 et 𝐠 𝐁
𝐠𝐀 3.16 1 1 4.24 4.12 4.12
𝐠𝐁 4.12 5.66 4.47 1 4 3.16
d 𝐠 𝐀 , w1 = ( − 2 − (−1))² + (2 − (−1))²
= 3.16
w1 ∈ 𝐀 ou 𝐁?
Pour minimiser la distance intra-cluster, w1 ∈ au
cluster ayant la distance minimum min(d 𝐠 𝐀 , w1 ,
d 𝐠 𝐁 , w1 )
𝐀 ={ w1 } & 𝐁 ={ }
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 87
Activité
(i) (i)
𝐧 obs [x1 ] 𝐧 obs [x2 ]
𝐌𝐣 =( σi 𝐣 j , σi 𝐣 j )
𝐧𝐣 𝐧𝐣
→ 𝐠 𝐀=(−1.33,0) → 𝐠 𝐁 =(1,1.67)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 88
Activité
→ 𝐠 𝐀=(−1.5,0.75) → 𝐠 𝐁 =(2.5,1)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 89
Activité
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 90
Activité
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 91
Activité
𝛀 w1 w2 w3 w4 w5 w6
𝐠𝐀 0.67 2.33 3.07 4.06 1.67 5.17
𝐠𝐁 4.03 3.90 2.13 1.70 4.54 1.37
→ Le processus s’arrête
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 92
Avantages de K-Means
Simplicité conceptuelle
Rapidité
Le calcul de distance se fait entre un objet & un centroïde et non plus
entre les observations les unes des autres
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 93
Inconvénients de K-Means
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 94
Quiz
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 95
CHAPITRE 3
APPRENTISSAGE
SUPERVISÉ
Génie Indus 3
96
Apprentissage supervisée
La construction du modèle doit être basé sur des données annotés (classe)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 97
Échantillonnage!
Diviser le jeu de données en deux groupes
Ensemble d’apprentissage : utilisé pour former le classifieur
Ensemble de test : utilisé pour estimer la performance du
classifieur formé
Ensemble d’apprentissage
Jeu(70%)
de données Ensemble de test (30%)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 98
Exemple : Prédire la solvabilité d’un client
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 99
Apprendre : Trouver une fonction F
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 100
Types de classifieurs!
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 101
PARTIE-A
𝐊 =Nombre de voisin
Méthode de raisonnement à partir de cas : se
base sur le jeu de données en entier
Les décisions prises par cette méthode sont
basées sur un ou plusieurs cas similaires déjà
résolus en mémoire
N’a pas besoin de construire un modèle
prédictif : pas de phase d’apprentissage
proprement dite
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 103
Exigences de KNN
NB.
𝐊 =nombre impair pour le cas d’une classification binaire
Plus 𝐊 , la prédiction sera mieux fiable
Si 𝐊 = 𝑵 (avec 𝑵 est le nombre d’observations), le modèle risque prédire
des observations qu’elle n’ont pas encore vu (Overfitting)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 104
Algorithme de KNN 'brute'
𝐗 3 0 ?
Vote majoritaire pondéré : Chaque classe
est pondérée par l’inverse de la distance entre Test
𝐗 et son (ses) voisin(s) correspondant(s) d 𝐗, 𝑶𝟏 = (3 − 4)² + (0 − 8)²=8.06
1 d 𝐗, 𝑶𝟐 = 2.24
Classe C1 =0.156 d 𝐗, 𝑶𝟑 = 6.4
d 𝐗, 𝑶𝟑
d 𝐗, 𝑶𝟒 = 9.22
1 1
Classe C2 + =1.16 d 𝐗, 𝑶𝟓 = 1.41
d 𝐗, 𝑶𝟓 d 𝐗, 𝑶𝟐
Classe de 𝐗 = C2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 106
Activité
Supposons que les données de 𝛀 sont normalisées, appliquer KNN (avec 𝐊=3)
pour prédire la classe des deux clients suivants (utiliser la distance Euclidienne)
Client Age Revenu Nb de cartes Classe Classe à
désirée prédire
Firas 37 4.9 2 oui ?
Amira 28 6.1 1 non ?
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 107
Activité
1) Calculer les distances entre l’observation de client Firas et toutes les observations de
la base d’apprentissage
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 108
Activité
3) Attribuer la classe correspondante à l’observation de Firas
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 109
Activité
4) Calculer les distances entre l’observation de client Amira et toutes les observations de
la base d’apprentissage
⋮
d Amira, Firas = (28 − 37)²+(6.1 − 4.9)² + (1 − 2)²= 9.13
5) Retenir les 3 observations les plus proches de l’observation de Amira, et attribuer sa classe
correspondante
Client Classe désirée
Taoufik non
Slim oui
Mouna oui
Classe prédite : ?
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 110
KNN Autres algorithmes
KD-Tree Ball-Tree
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 111
Avantages de KNN
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 112
Inconvénients de KNN
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 113
Estimation de performances Quelques métriques
désirée
⋮ ⋮
Classe
𝑚 le nombre total des observations 𝐶𝑖 𝐶𝑀(𝑖,𝑗)
𝐶𝑁 𝐶𝑀(𝑁,
𝑁)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 114
sklearn.neighbors!
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 115
sklearn.neighbors! df_iris
#Espase de descripteurs
X = df_iris.iloc[:, :5].values
#vecteur de classes
Y = df_iris.iloc[:, 5].values
cls_neig KNeighborsClassifier(n_neighbors=3,
=
algorithm='brute')
cls_neig.fit(X,Y)
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 116
Quiz
[2] J. VanderPlas. Python data science handbook: Essential tools for working
with data. O'Reilly Media, 2016
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 118
MERCI DE VOTRE ATTENTION
َُتا
بعة شُكر
ًا على الم
Génie Indus 3
119