Ilovepdf Merged

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 254

FASCICULE DE COURS

FOUILLE DE DONNÉES
2ème année Génie Informatique
Semestre 1

PRÉSENTÉ PAR

M. Taoufik BEN ABDALLAH M. Ali BEN MRAD


 taoufik.benabdallah@iit.ens.tn  benmradali2@gmail.com
2022-2023 ⚫
Objectifs du cours

Sensibiliser les étudiants à l’importance du Data Mining en tant


que nouvel domaine technologique
Positionner le Data Mining dans le processus d’Extraction des
Connaissances à partir des Données (ECD)
Maîtriser les principes théoriques et pratiques de quelques
techniques du Data Mining

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 2
Organisation du cours 

Répartition approximative du charge horaire

Cours Travaux dirigés Travaux pratiques


±17h ±10h ±15h

Evaluation 20% DS 25% Projet 55% Examen

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 3
Motivation

De plus en plus de données sont générées (énormité des données)


 Masse de données souvent non-exploitée
 Beaucoup de données mais peu de connaissances

Quelles données sont utiles ?


L’explication se cache dans les données auxquelles on ne pense pas
Compréhension de phénomènes complexes

Solution. L’Extraction des Connaissances à partir des Données (ECD)

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?

Représentent un concept général qui


enrichit le champ sémantique de l’usager

S’expriment sous forme d’un rapport,


d’un graphique, des règles, ou d’un
modèle mathématique

Connaissances= Modèle pour la prise


de décision

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 6
Fouille de données (Data Mining)*

Cœur du processus ECD→ la pierre


angulaire du processus ECD Connaissances

Fouille de données= découvrir ce


que contiennent les données
préparées
Informations = Données
extraites préparées
Fouille de données vs
Apprentissage automatique?

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

1 Aperçu général sur le processus ECD

2 Découverte des règles d’association

3 Classification & Régression

4 Prétraitement de données

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 11
Plan du cours (3- Classification & Régression)

A- Estimation des performances

B- Arbres de décision

C- Ensemble Learning: Bagging & Boosting

D- Régression linéaire & logistique

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!

Préparation des données

Fouille de données : étape centrale de l’ECD

Interprétation & Validation des modèles

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 14
Processus ECD Trois phases majeurs!

Données Données

I-Préparation des
données

Informations Espace de descripteurs

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

1. Détection des descripteurs


❑ Construction de l’espace des données qui va être exploré
❑ Espace des données= Jeu de donnée= Espace de descripteurs (Feature space)
❑ Collection d’observations ou objets + leurs attributs
❑ Une collection d’attributs décrivent un objet
❑ Un objet est également appelé échantillon=entité = instance

Client Salaire S. Familiale Ville


1 Moyen Divorcé Tunis Descripteurs = Attributs =
2 Elevé Célibataire Tunis
3
variables =caractéristiques
Faible Célibataire Sfax
⋮ ⋮ ⋮ ⋮ = Information

Observations
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 16
PhaseI: Préparation des données

1. Détection des descripteurs


⚫ Type de valeurs des descripteurs

A. Discret : chaine de caractères (nominal & ordinal)


Nominal ≠ Ordinal

Aucune relation existe entre les valeurs  Les valeurs ont un ordre significatif
 N’est pas possible de calculer des distances

ex. Noir/ Rouge/ Blanc ex. Chaud>Moyen>Froid

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 17
PhaseI: Préparation des données

1. Détection des descripteurs


⚫ Type de valeurs des descripteurs

B. Binaire : Seulement deux valeurs (vrai, faux / 0,1)


Symétrique ≠ Asymétrique

 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

C. Continue : Nombres entier ou réels =valeurs quantitatifs

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 18
PhaseI: Préparation des données

2. Prétraitement Data preprocessing

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)

Discrétisation des données


Réduction des données
Convertir les attributs continus en
attributs discrets Réduire des données ou des descripteurs

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 19
PhaseII : Data Mining Tâches

Appliquer de méthodes intelligentes


pour extraire des modèles de données

⧫ Data Mining descriptif


Mettre en évidence des informations présentes
mais cachées par le volume de données

⧫ Data Mining prédictif


Extrapoler de nouvelles informations à partir
des informations présentes

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 20
PhaseII : Data Mining DM descriptif

Statistique descriptive: Résumé des données qui soit le plus


intelligible → Représentation graphique

Découverte des règles d’association : Découvrir des relations


entre des produits (secteur de Marketing)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 21
PhaseII : Data Mining DM descriptif

Apprentissage non-supervisé Clustering


→ Organisation des données en groupes
→ Les données similaires soient dans le même groupe

Client Salaire S. Familiale Ville Classe Pas de cible


1 Moyen Divorcé Tunis
(pas de label)
2 Elevé Célibataire Tunis ? non
3 Faible Célibataire Sfax ? non
⋮ ⋮ ⋮ ⋮ ?⋮

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 22
PhaseII : Data Mining DM prédictif

Apprentissage supervisé classification/ Régression


→ Extrapoler des nouvelles informations à partir de données existantes
→ Prédire la classe de nouvelles données observées)
Rembourse Classe
Client Salaire S. Familiale Ville
son crédit
1 Moyen Divorcé Tunis ? oui Très
2 Elevé Célibataire Tunis ? non
3 Faible Célibataire Sfax ? non couteux
⋮ ⋮ ⋮ ⋮ ?⋮ à avoir !!!

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 23
Apprentissage supervisé

Classification : Prédire des valeurs discrets

⚫ Sera-t-il froid ou chaud demain? Froid (A)/ chaud (B)

Régression : Prédire des valeurs continues

⚫ Quelle est la température demain?

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

Les modèles extraits ne peuvent être


utilisés directement en toute fiabilité
Il faut les évaluer, les soumettre à
l’épreuve de la réalité et apprécier leur
justesse
Estimer le taux d’erreur du modèle

Améliorer le modèle selon les résultats obtenus


Demander l’avis d’un expert pour valider le modèle
Déploiement & Intégration du modèle

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

Si on baisse le prix du Coca-Cola de 5%, alors on va en augmenter les


ventes de 15%
❑ Puisque j’achète du Coca, il me faut aussi des cacahuètes
❑ Les ventes des cacahuètes vont augmenter dans une proportion voisine
❑ Baisser le prix du Coca-Cola est un moyen de vendre plus de cacahuètes

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 31
Règles d’association

Trouver les motifs fréquents, associations, corrélations, règles et


structures causales à partir d’un ensemble de données

Traditionnellement liées au secteur de la distribution


Découvrir la connaissance cachée par le grand volume de
données

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 32
Représentation binaire

Exemple: Chercher des associations entre produits sur les tickets


de caisse !

Soit la base de données suivante de 5 transactions (tickets)


T={𝐭 𝟏 , 𝐭 𝟐 , 𝐭 𝟑 , 𝐭 𝟒 , 𝐭 𝟓 }
Descripteurs= liste de produits

𝐀 𝐁 𝐂 𝐃 𝐄
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

𝐭 𝟏 = 𝐀𝐃 / 𝐭 𝟐 = 𝐀𝐁𝐂 / 𝐭 𝟑 = 𝐀𝐄 / 𝐭 𝟒 = 𝐀𝐃𝐄 / 𝐭 𝟓 = 𝐁𝐃

Un ensemble d’items X de cardinalité 𝐤 est appelé un 𝐤-itemset


1-itemset : Ensemble de descripteurs
X ={x1 =𝐀, x2 =𝐁, x3 =𝐂, x4 =𝐃, x5 =𝐄}
2-itemset : Transactions de deux descripteurs C52 =10
X ={x1 =𝐀𝐁, x2 =𝐀𝐂, x3 =𝐀𝐃, x4 =𝐀𝐄, x5 =𝐁𝐂, x6 =𝐁𝐃, x7 =𝐁𝐄, x8 =𝐂𝐃, x9 =𝐂𝐄, x10 =𝐃𝐄}

3-itemset : Transactions de trois descripteurs C53 =10


X ={x1 =𝐀𝐁𝐂, x2 =𝐀𝐁𝐃, …}

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

Support (xi ): le pourcentage de toutes les transactions qui


supportent l’item xi
card(tj |xi ⊆tj , tj ∈T)
supp xi = ; i ∈ 1. . m , j ∈ 1. . n
n

Avec card(t j |xi ⊆ t j , t j ∈ T) est le nombre de transaction qui supportent xi


n est le nombre de transactions dans la base

Soit Smin, le seuil minimal des supports acceptés


Si supp xi ≥ Smin Alors l’item xi est dit fréquent

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 35
Calcul de support Propriétés

Toutes les transactions qui supportent 𝐲 supportent nécessairement 𝐱


Soit les items 𝐱 et 𝐲, Si 𝐱 ⊆ 𝐲 alors supp 𝐱 ≥ supp 𝐲

Les sous-ensembles d’ensembles fréquents sont fréquents

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

Les sur-ensembles d’ensembles non fréquents sont non fréquents


𝐀𝐁 est non fréquent alors 𝐀𝐁𝐂 est aussi non fréquent

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 36
Calcul de support Exemple

X= {𝐀, 𝐁, 𝐂} 1-itemset
t1 = 𝐀𝐂
t 2 = 𝐁𝐂 Y= {𝐀𝐁, 𝐀𝐂, 𝐁𝐂} 2-itemset

t 3 = 𝐀𝐁𝐂 Z= {𝐀𝐁𝐂} 3-itemset


Smin=40%

1- Calculer les supports supp 𝐀𝐁 , supp 𝐀𝐂 et supp 𝐁𝐂 ?


supp 𝐀𝐁 = 1/3= 0.33
supp 𝐀𝐂 = 2/3= 0.66
supp 𝐁𝐂 = 2/3= 0.66

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)

supp 𝐀𝐁 = 0.33≤ Smin alors 𝐀𝐁 est non-fréquent → 𝐀𝐁𝐂 non-fréquent

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 37
Règles d’association

Application de la forme R : 𝐱 → 𝐲

𝐱 et 𝐲 sont des items disjoints (𝐱 ⋂ 𝐲 =∅)


Antecedent Consequent
Condition Résultat
𝐱 → 𝐲
"Puisque j’achète du Coca, il me faut aussi des cacahuètes"

Une règle d’association traduit une cooccurrence et non une causalité

La force d’une règle d’association est mesurée en utilisant


❑ son Support, supp(𝐱 → 𝐲)
❑ et sa Confiance, conf(𝐱 → 𝐲)
R :𝐱 → 𝐲[𝐬𝐮𝐩𝐩%, 𝐜𝐨𝐧𝐟%]

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 38
Règles d’association

Support supp 𝐱 → 𝐲 : le pourcentage de toutes les transactions


qui supportent 𝐱 et 𝐲 ensemble
supp(𝐱 → 𝐲) = supp(𝐱𝐲)

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

Confiance conf 𝐱 → 𝐲 : le rapport entre le nombre de transaction


supportant 𝐱 et 𝐲, et le nombre de transactions supportant 𝐱
supp(𝐱𝐲)
conf 𝐱 → 𝐲 = [0,1]
supp 𝐱

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 39
Extraction des règles d’association

Extraire les règles d’association revient à choisir les règles ayant


un support suffisant et une confiance maximale
❑ Étant donné un ensemble de transaction T, trouver tous les règles
ayant un Support ≥ Smin et une Confiance ≥ Confmin

La plupart des méthodes d’extraction procèdent :


1. Génération de tous les itemsets possibles
2. Génération de toutes les règles possibles
3. Filtrage avec Smin et Confmin

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

Très couteux : les calculs nécessaires dépassent vite les capacités


des machines

Solution : Algorithme A_priori

Réduire le nombre des articles et de leurs combinaisons prises en considération

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

À partir de l’ensemble des items fréquents 𝐅 :


Calculer toutes les combinaisons possibles de règles
Garder celles avec une confiance ≥ Confmin

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

Étant donnée deux règles R1 : 𝐱 𝟏 → 𝐲𝟏 et R2 : 𝐱 𝟐 → 𝐲𝟐


R2 est redondante par rapport à R1 ssi :
𝐲𝟏 =𝐲𝟐 (même résultat)
𝐲𝟏 et 𝐲𝟐 correspond à 1-item
𝐱𝟏 ⊆ 𝐱𝟐
Ou bien
𝐱 𝟏 =𝐱 𝟐 (même condition)
𝐱 𝟏 et 𝐱 𝟐 correspond à 1-item
𝐲𝟐 ⊆ 𝐲𝟏

Exemple :
R1 : 𝐀 → 𝐂 R1 : 𝐀 → 𝐁𝐂𝐃
R2 : 𝐀𝐁 → 𝐂 R2 : 𝐀 → 𝐂

Éliminer R2
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 48
𝐥𝐢𝐟𝐭, 𝐥𝐞𝐯𝐞𝐫𝐚𝐠𝐞 et 𝐜𝐨𝐧𝐯𝐢𝐜𝐭𝐢𝐨𝐧

𝐥𝐢𝐟𝐭/ 𝐢𝐧𝐭𝐞𝐫𝐬𝐞𝐭 : Taux d’amélioration d’une règle [0,∞[

Étant donnée R : 𝐱 → 𝐲
conf R
lift R =
supp(𝐲 )

Si lift R ≥ 𝟏 alors est R est intéressante


Si lift R < 1 alors R est non-intéressante

NB. Des règles avec un haut degré de confiance ne sont pas nécessairement intéressantes

Exemple : t1 = 𝐀𝐃, 𝐭 𝟐 = 𝐀𝐁𝐂, 𝐭 𝟑 = 𝐁𝐂, 𝐭 𝟒 = 𝐀𝐂


R1 : 𝐀 → 𝐂 lift R1 = 0.88 R1 est non-intéressante
R2 : 𝐂 → 𝐀 lift R2 = 0.88 R2 est non-intéressante
R3 : 𝐁 → 𝐂 lift R3 = 1.33
R4 : 𝐂 → 𝐁 lift R4 = 1.32
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 49
𝐥𝐢𝐟𝐭, 𝐥𝐞𝐯𝐞𝐫𝐚𝐠𝐞 et 𝐜𝐨𝐧𝐯𝐢𝐜𝐭𝐢𝐨𝐧

𝐥𝐞𝐯𝐞𝐫𝐚𝐠𝐞: [-1,1]

Étant donnée R : 𝐱 → 𝐲
leverage R = supp(R)-supp(𝐱) × supp(𝐲)

Si leverage R =0 alors 𝐱 et 𝐲 sont indépendants

𝐜𝐨𝐧𝐯𝐢𝐜𝐭𝐢𝐨𝐧 : inf(division par 0) Ou bien [0,∞[


1−supp(𝐲)
conviction R =
1−conf(R)

Si conviction R alors le Consequent est très dépendant de l’Antecedent

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 50
Inconvénients des règles d’association

Coût de la méthode : la méthode d’extraction des règles est très


couteuse en temps de calcul
Le choix des articles : il est difficile de fixer le bon niveau (support) des
articles
Qualité des règles produites : la méthode peut dans certains cas
produire des règles triviales ou inutiles

Choix de Smin et Confmin dépend de nombre de transactions & reflète


sur l’extraction des règles d’association

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 51
Quiz

1. Étant donnée les deux transactions 𝐭 𝟏 = 𝐂𝐕𝐊𝐁 et 𝐭 𝟐 = 𝐊𝐉𝐄 (choix multiple)


 Le nombre de descripteurs est égal à 6
 Le nombre de transactions comportant deux descripteurs est égal à 15
 Le nombre de transactions comportant trois descripteurs est égal à 20
 supp 𝐊𝐉 = 0.5
2. Soit conf(𝐲 → 𝐱)=1, supp(𝐲𝐳) > 𝐬 et conf(𝐲 → 𝐳) > 𝐜, donc (une seule réponse)
 supp(𝐲𝐱) = supp(𝐲)
 conf(𝐱 → 𝐳) = conf(𝐱𝐳)
 supp(𝐱 → 𝐳) >s
 conf(𝐱 → 𝐳) >c
3. Étant donnée Confmin=0.6 et conf(R)=0.8, alors R est nécessairement
intéressante (une seule réponse)
 Faux
 Vrai

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 52
FP-Growth (1/2)

Min Support Count = 2


supp Min=2/9=22.2%

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 53
FP-Growth (2/2)

Item Base FP-Tree Itemsets


conditionnelle Conditionnel générés
? ? ? ?

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

# Assemblage Google Drive dans Colaboratory


freq_items
from google.colab import drive
drive.mount('/content/drive')

df=pd.read_excel(r'chemin\data_A.xlsx')

freq_items = apriori(df, min_support=0.4,


use_colnames=True) # freq_items correspond à un Dataframe

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

Processus à deux phases :

A. Apprentissage (off-line) : construire un modèle 𝓜 (ou classifieur)


qui décrit un ensemble prédéterminé de classes de données
NB. La construction du modèle doit être basé sur des données annotés
(étiquetés)

B. Test (on-line) : utiliser le modèle obtenu 𝓜 pour affecter une


classe à un nouvelle observation

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

Nouvelle observation Classe à prédire

?

! 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

Matrice de confusion (avec 𝐍 classes)


Classe prédite
Tableau bidimensionnel 𝐍 lignes × 𝐍 colonnes 𝐂𝐌 C1 … Ci CN
CM(i,i): Nombre d’observations désirées comme C1 CM(1,1) CM(1,i)

désirée
Ci et prédites comme Ci

Classe
⋮ ⋮

Ci CM(i,j)
*n le nombre total des observations
CN CM(N,N)

❑ Taux de classification Accuracy τ


A1 A2 … C.Désirée C.Prédite
σN
i=1 CM(i,i)
1 Oui Oui
τ= 2 Non Oui
n
3 Non Non
❑ Taux d’erreur Error rate e 4 Non Oui
5 Oui Non
σN N
i=1 σj=1 CM(i,j) 6 Oui Oui
e= =1−τ
n 7 Non Non
8 Oui Oui
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 62
Critères de performance

❑ 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)

Cas de 2 classes yes, no


True Positive Classe prédite False Negative
recallyes =True Positive rate yes no
𝐓𝐏
= Sensitivity = 𝐓𝐏+𝐅𝐍 yes 𝐓𝐏 𝐅𝐍

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

Exemple : Étant donné le modèle de prédiction 𝚪 qui permet de déterminer si


l’objet dans une image est un chat
200 images sont utilisées pour tester le performance de 𝚪 : 170 contiennent des
chats, et 30 ne contiennent pas de chats
Le résultat de prédiction du modèle 𝜞 est 160 contiennent des chats, et 40
ne contiennent pas de chats (140 uniquement désirées comme 𝐂𝐡𝐚𝐭 et prédites
comme 𝐂𝐡𝐚𝐭)
Déterminer la matrice de confusion associée à 𝚪. Puis déduire
l’accuracy, la spécificité, et la précision de la classe 𝐂𝐡𝐚𝐭 ?
𝟏𝟒𝟎 + 𝟏𝟎 Classe prédite
accuracy = = 𝟕𝟓%
𝟐𝟎𝟎
𝟏𝟎 Chat Chat
recallChat = sepcificity = = 𝟑𝟑. 𝟑%
𝟐𝟎 + 𝟏𝟎 𝟏𝟒𝟎 𝟑𝟎
Chat

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

=True Positive rate


❑ Indique
A1 dans
A2 quelle mesure
… Score le modèle
C.Désirée est capable
C.Prédite
1de distinguer entre 0.9
les classes
Oui ?

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

Base de données Ensemble d’apprentissage Ensemble de Test


(Dataset) (Training set) (Test set)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 67
Méthodes de validation

Split validation Cross-validation

Processus d’apprentissage et de test Faire plusieurs tests sur différents


n’est effectué qu’une seule fois ensembles d'apprentissage et de test

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 68
Split validation

Processus de validation qui s’exécute qu’une seule fois


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 69
Cross validation : 𝐊-Folds

Diviser 𝐤 fois le jeu de données de 𝐍 observations


Pour chaque fold : 1.. 𝐤
𝐤−𝟏
1. Sélectionner 𝐍. observations
comme ensemble d’apprentissage
𝐤
2. Les restes des observations comme ensemble de test

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

Fold 1 75% 25% Observations d’apprentissage


Fold 2 ≠ Observations de test
Fold 3
pour chaque fold
Fold 4

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 70
Cross validation : Leave-one-out

Diviser 𝐍 fois le jeu de données de 𝐍 observations


Pour chaque fold : 1.. 𝐍
1. Sélectionner une observation pour le test
2. Les restes 𝐍-1 observations comme ensemble d’apprentissage

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

Tirer au hasard une observations avec replacement parmi 𝑁


→ Réitérer cette opération 𝐊 fois pour obtenir une estimation moyenne stable

𝐊=?
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

2. Soit la matrice de confusion suivante : (réponse multiple)


C1 C2 C3
C1 10 1 3
C2 0 8 0
C3 2 2 11

 Le nombre total d’observations est égal à 37


 Le nombre d’observations mal classées est égal à 8
 recallC2 = 0.73
 presisionC2 = 1
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 74

PARTIE-B

ARBRES DE DÉCISION
Définition

Arbre de décision : modèle permettant la classification des


échantillons
❑ Par division hiérarchiques en classes PRÉDICAT DE
PARTITIONNEMENT
❑ Dans un formalisme attribut / valeur Racine S

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

a. Choisir le meilleur attribut !


b. Etendre l’arbre en rajoutant une nouvelle branche pour chaque valeur de l’attribut
c. Répartir les observations d’apprentissage sur les nœuds d’arbre

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

Étant donné le jeu de donnée


d’apprentissage weather_n
Prédire si un match de foot va avoir
lieu (play= yes) ou non (play=no)

Variable à prédire (cible) :


play→ classification binaire (yes/ no)

Variables explicatives :
outlook, temperature, humidity et windy

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 78
Choix du meilleur attribut !
weather_n

Si on choisissait l’attribut outlook ?

9 yes
5 no

sunny rainy
outlook
overcast

2 yes 4 yes 3 yes


3 no 0 no 2 no

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 79
Choix du meilleur attribut !
weather_n

Si on choisissait l’attribut temperature ?

9 yes
5 no

hot cold
temperature
mild

2 yes 4 yes 3 yes


2 no 2 no 1 no

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 80
Choix du meilleur attribut !
weather_n

Si on choisissait l’attribut humidity ?

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

Si on choisissait l’attribut windy ?

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 !

Mesure d’impureté : calcul d’entropie


Comment mesurer la qualité d’une division ?
Quel est le critère d’arrêt des divisions ?

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

Cas 1 : ∃ xi >0 et ∀ xj =0 (j=1... n et j ≠ i) → Nœud pur (Entropie=0)


Cas 2 : x1 =x2 =xi =xn → cas équiprobable (Entropie=max)

Indice de Gini : entropie quadratique


Entropie de Shannon
Indice de Towing

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

Entropie de Shannon 'Entropy'


Soit D un nœud comportant 𝐧 classes, x1 C1
n D x 2 C2
⋮ ⋮
x n Cn
Υ D = I D = − ෍ pi × log 2 (pi )
i=1 Ci (i=1... n) : classe i
𝐱𝐢 log (p ) xi (i=1... n) : les observations
pi =σn log 2 (pi )= log10 (2)i
10 associées à la classe i
i=1 𝐱 𝐢
pi est la probabilité de la classe i

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

Classification binaire : 2 classes C1 , C2


x1 C1
D x 2 C2
x1 = x2 → les classes sont équiprobables

Υ 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

Entropie de Shannon : Υ D = I D = − (0.5)log 2 (0.5) − (0.5)log 2 (0.5)=1

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 87
Entropie d’une partition

Soit D un nœud racine x1 C1


S 0 x 2 C2
𝐏𝟎 est la première partition, composée P0 ⋮ ⋮
x n Cn
du nœud racine S0
𝐏𝟏 est la deuxième partition, composée A
de 𝐦𝟏 = 2 nœuds S1 et S2 x11 C1 x21 C1
x12 C2 x22 C2
Entropie de P0 ? Υ Ρ0 = Υ S 0 P1 S1 ⋮ ⋮
S2 ⋮ ⋮
x1n Cn x2n Cn
𝐦𝟏
card(Sj )
Entropie de P1 ? Υ P1 =෍ Υ(Sj )
𝛚
j=1
𝐦𝐤
card(Sj )
Entropie de Pk ? Υ Pk = ෍ Υ(Sj )
𝛚
j=1
𝛚 le nombre d’instances dans la population
𝐦𝐤 le nombre des nœuds dans la partition Pk

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

P3 = {S2, S3, S5, S6, S7}

0 yes 6 yes
S3 S4 3 no
2 no

2 yes 0 yes 4 yes


S5 S6 S7
0 no 3 no 0 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

1- Mettre toutes les valeurs de X en ordre croissant


et définir des points de coupures
p_coup1 p_coup2

19.5 21 22.5 25 27.5

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

≤20.25 >20.25 ≤23.75 >23.75


X X

1 C1 2 C1 1 C1 2 C1
S1 S2 S1 2 C2 S2 0 C2
0 C2 2 C2

P0 ={S0} ; P1 ={S1, S2}


Gain(P1 , X) = ?

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 93
Élagage Solution pour le sur-apprentissage

Une des solutions pour réduire les taux d'erreurs en simplifiant


l'arbre par suppression de quelques branches

Remédier au problème de sur-apprentissage (Overfitting)

Deux approches principales d’élagage :

Le pré-élagage

Le post-élagage

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 94
1- Pré-élagage

Arrêter la construction de l’arbre de décision à l’avance même si les


feuilles ne sont pas pures
→ Tous les objets ∈ à la même classe ou il n’y a plus d’attribut à utiliser
→ La profondeur de l’arbre atteint une limite fixée
→ Le nombre de feuilles atteint un maximum fixé
→ Le nombre d’instances par nœud est inférieur à un seuil fixé
→ Le gain d’information maximum obtenu est inférieur à un seuil fixé
→ Aucun attribut n’améliore la qualité de l’arbre

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 95
2- Post-élagage

Élaguer après la construction de l’arbre entier, en remplaçant les


sous-arbres optimisant un critère d’élagage par un nœud
Minimal Cost-Complexity Pruning (MCCP)

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

Passage d’une partition Pi à Pi+1 X


exclusivement par segmentation
P1 - C1 - C1
Critère de partitionnement - C2 - C2

 ID3 : Entropie de Shannon/ Gain Informationnel Y


+ Pas de discrétisation des attributs continue
 C4.5 : Entropie de Shannon/ Gain ratio - C1 - C1 - C1
- C2 - C2 - C2
Élagage d’arbre
 ID3 : pas d’élagage
 C4.5 : pré-élagage

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 97
CART

- C1
Graphe arborescente 𝐛𝐢𝐧𝐚𝐢𝐫𝐞 - C2

Passage d’une partition Pi à Pi+1 X


exclusivement par segmentation
- C1 - C1
Critère de partitionnement : Indice de Gini/ - C2 - C2
Gain Informationnel
Y
Élagage d’arbre : pré/post-élagage MCCP
- C1 - C1
- C2 - C2

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 98
CART "Segmentation binaire"

sunny overcast rainy


1 0 0
9 yes 9 yes
5 no 5 no
1 0 0 outlook=sunny outlook=overcast
0 1 0 1 0 1 0
0 0 1 2 yes 7 yes 4 yes 5 yes
0 0 1 3 no 2 no 0 no 5 no
0 0 1
0 1 0
9 yes
1 0 0 5 no
1 0 0 outlook=rainy
1 0
0 0 1
1 0 0 3 yes 6 yes
0 1 0 2 no 3 no
0 1 0 → Transformer chaque variable catégorielle avec 𝐦
0 0 1 modalités en 𝐦 variables binaires

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 99
Inconvénients des arbres de décision

L’apprentissage nécessite un grand nombre d’individus


La forme des modèles obtenus ne correspond pas forcément à celle de
l’échantillon
Le temps de calcul d’un arbre est long
Mauvaise performance s’il y a beaucoup de classes

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

b. recallC2 est égal à (une seule réponse)


 0.5 4 C1 6 C1
7 C2 4 C2
 0.64
 0.75
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 101
LES ARBRES DE DÉCISION CART
AVEC PYTHON : sklearn*

Génie Indus 3
102
CART (1/4) weather_h

1- Traitement des données catégorielles (discrètes)


import pandas as pd

data=pd.read_excel(r'chemin\weather_h.xlsx')

from sklearn.preprocessing import OneHotEncoder

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)

X_train, X_test, Y_train, Y_test = train_test_split(X,


Y, test_size=0.3, shuffle=False, random_state=1)
print("X_train=\n", X_train)
print("X_train=\n", Y_train)

*shuffle=False Ne pas mélanger les données


avant l’échantillonnage (par défaut shuffle=True)
*random_state=1 Avoir des résultats du mélange
chaque fois que vous exécutez le code (par
défaut random_state=None)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 104
CART (3/4)

3- Apprentissage : Construction d’un arbre de décision CART


from sklearn.tree import DecisionTreeClassifier
from sklearn.tree import export_graphviz, export_text
from graphviz import Source

cls = DecisionTreeClassifier()
cls.fit(X_train, Y_train)

DecisionTreeClassifier(ccp_alpha=0.0, class_weight=None, criterion='gini', max_depth=None,


max_features=None, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None,
min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, random_state=None, splitter='best')

features=['outlook=overcast', 'outlook=rainy', 'outlook=sunny', 'temperature', 'humidity', 'windy']


dot_data = export_graphviz(cls, feature_names=features,class_names=cls.classes_)
Source(dot_data)

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

# Validation sur les données d’apprentissage


Y_p_train=cls.predict(X_train)
c_m_train=confusion_matrix(Y_train, Y_p_train)
print(c_m_train)
# %%%ou bien%%%%
plot_confusion_matrix(cls, X_train, Y_train, values_format='d')
accuracy_score(Y_train, Y_p_train)

# Validation sur les données de test


Y_p_test=cls.predict(X_test)
c_m_test=confusion_matrix(Y_test, Y_p_test)
print(c_m_test)

accuracy_score(Y_test, Y_p_test)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 106

PARTIE-C

ENSEMBLE LEARNING
BAGGING & BOOSTING

PARTIE-D

RÉGRESSION LINÉAIRE &


LOGISTIQUE
CHAPITRE 4
PRÉTRAITEMENT
DE DONNÉES

Génie Indus 3
111
Exemple de dataset!
Valeur
aberrante

# Id Nom Date. N Sexe A1 A2 A3 A4

1 111 John 31/12/1990 M 0 0 Ireland Dublin Valeur


manquante
2 222 Mery 15/10/1978 F 1 0.5 Iceland

3 333 Alice 19/04/2000 F 0 300 Spain Madrid

4 444 Mark 01/11/1997 M 0 0 France Paris

Elément 5 555 Alex 15/03/2000 A 1 23 Germany Berlin


dupliqué
invalide 6 555 Peter 1983-12-01 M 1 10 Italy Rome

7 777 Calvin 05/05/1995 M 0 0 Italy Rome

8 888 Roxane 03/08/1948 F 0 0 Portugal Lisbon

9 999 Anne 05/09/1992 F 0 5 Switzerland Geneva

10 101010 Paul 14/11/1992 M 1 26 Ytali Rome

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

Valeurs manquantes Valeurs


manquante
❑ Vérification des valeurs manquantes data.xlsx

import pandas as pd
import numpy as np

df=pd.read_excel(r'chemin\data.xlsx')

df1=df.isna() # ou bien df.isnull() # retourne True


lorsque la valeur est manquante

⋮ ⋮ ⋮ ⋮ ⋮

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 114
1- Nettoyage des données

Traitement des valeurs manquantes


❑ Suppression des instances ayant des valeurs manquantes

df.dropna()

df.dropna(axis=1) # ?

❑ Remplissage des valeurs manquantes par une valeur fictive

df.fillna(0)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 115
1- Nettoyage des données

Traitement des valeurs manquantes


❑ Remplissage des valeurs manquantes par l’élément le plus fréquent

from sklearn.impute import SimpleImputer

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' ?

Toutes les valeurs des attributs doivent être de type continue

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 116
1- Nettoyage des données

Valeurs aberrantes (outliers)


❑ Descripteurs ayant des valeurs trop éloignées de la plage type
Privé
Étatique
11
Valeur
Privé aberrante

Changements significatifs dans les données


❑ Doublons et erreurs de saisie
❑ Observations ne respectant pas le même format des descripteurs

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 117
1- Nettoyage des données Outliers detection

Identifier les instances ayant un


comportement non conforme

Approches basées sur le voisinage

One Class SVM

Isolation Forest

Boxplot / Boite à moustache

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 118
Boxplot / Boite à moustache

Graphique permet de résumer une variable de manière simple et visuel, d'identifier


les valeurs extrêmes et de comprendre la répartition des observations

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 119
2- Transformation des données

Standardization 𝐌𝐢𝐧 − 𝐌𝐚𝐱


❑ Transformation des valeurs de caractéristiques à l'échelle pour qu’elles
se situent entre un maximum (=1) et un minimum (=0)
Descripteurs

𝐱𝟏 … 𝐱𝐢 𝐱𝐩
𝐨𝐛𝐬𝟏 𝐚𝟏𝟏 ⋮ 𝐚𝟏𝐢 𝐚𝟏𝐩
aji −min 𝐱 𝐢
aji = ⋮ ⋮ ⋮ ⋮ ⋮
max 𝐱 𝐢 − min 𝐱 𝐢 𝐨𝐛𝐬𝐣 𝐚𝐣𝟏 ⋮ 𝐚𝐣𝐢 𝐚𝐣𝐩
𝐨𝐛𝐬𝐍 𝐚𝐍𝟏 … 𝐚𝐍𝐢 𝐚𝐍𝐩

from sklearn.preprocessing import MinMaxScaler data_N.xlsx


∈ [𝟎 … 𝟏]
df=pd.read_excel(r'chemin\data_N.xlsx')
min_max_scaler = MinMaxScaler()
arr = min_max_scaler.fit_transform(df)
pd.DataFrame(arr,columns=['X1','X2'])

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 120
2- Transformation des données

Standardization 𝐳𝐬𝐜𝐨𝐫𝐞 𝐳𝐣𝐢


❑ Diviser la différence entre les données 𝐚𝐣𝐢 et la moyenne 𝐌𝐢 par
l’écart type 𝛔𝐢
𝐚𝐣𝐢 −𝐌𝐢 1 N σN
j=1(𝐚𝐣𝐢 −𝐌𝐢 )²
𝐳𝐣𝐢 = avec 𝐌𝐢 = σ 𝐚 et 𝛔𝐢 =
𝛔𝐢 𝐍 j=1 𝐣𝐢 𝐍

from sklearn.preprocessing import StandardScaler data_N.xlsx

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

OrdinalEncoder & LabelEncoder


❑ Convertir des chaines de caractères en
nombres entiers ordinaux

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

OneHotEncoder sunny overcast rainy

❑ Transformer l’espace de 𝐧 descripteurs 1 0 0


à 𝐤 descripteurs binaires (𝐤 > 𝐧) 1 0 0
0 1 0
import pandas as pd 0 0 1
from sklearn.preprocessing import OneHotEncoder 0 0 1
0 0 1
df_outlook=data[['outlook']]
enc = OneHotEncoder() 0 1 0
1 0 0
arr= enc.fit_transform(df_outlook).toarray() 1 0 0
df_outlook=pd.DataFrame(arr, columns=
0 0 1
['outlook=overcast', 'outlook=rainy', 'outlook=sunny'])
1 0 0
0 1 0
0 1 0
0 0 1

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

3. La fonction fillna(20, inplace=True) est utilisée pour (une seule réponse)


 Supprimer les données manquantes
 Remplir les données manquantes par une valeur fictive qui est égale à 20
 Remplir les données manquantes par les valeurs les plus fréquentes

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 125
Type de distribution de données
dissymétrique
Courbe avec des pics
de Gauss

Distribution uniforme Distribution symétrique Distribution multimodale


Moyenne & Médiane Moyenne & médiane équivalentes
équivalentes Les valeurs se concentrent autour
de la moyenne

dissymétrique dissymétrique
à gauche à droite

Distribution asymétrique positive Distribution asymétrique négative


Moyenne < Médiane Moyenne > Médiane

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 126
3- Discrétisation des données Méthodes

Equal-Width Discretization Equal-Frequency Discretization K-Means Discretization


'uniform' 'quantile' 'K-Means'

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

Equal-Width Discretization 'uniform'


❑ Séparer toutes les valeurs possibles de chaque descripteur en 𝐍
intervalles (classes), chacune ayant la même largeur
max 𝐱𝐢 −min 𝐱𝐢
Width= 𝐍
data_D.xlsx
from sklearn.preprocessing import KBinsDiscretizer

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

Equal-Frequency Discretization 'quantile'


❑ Séparer toutes les valeurs possibles en nombre 𝐍 classes chacune
ayant le même nombre d’observations : quantiles

nombre total d′ observations
nombre d observations par classe =
𝐍
df
from sklearn.preprocessing import KBinsDiscretizer

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é

Réduction basée sur une sélection


de descripteurs F Sélection
❑ Sélection des descripteurs les plus F′
pertinentes à partir de l’ensemble initial
de caractéristiques

Réduction basée sur une transformation


des données
❑ Appelée aussi une extraction de
F F′
descripteurs
Extraction
❑ Construire un nouveau ensemble réduit
de descripteurs à partir de l'ensemble
initial F : feature space
F′: feature space après réduction

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 130
4- Réduction de dimensionnalité : Sélection des descripteurs

Supervised Feature Unsupervised Feature


Selection Selection
o Variance
o Dispersion ratio
Méthodes Méthodes Méthodes ⋮
Filtres Wrappers Embedded

o Missing values o Forword Feature o Regularisation L1,L2


Selection
o Information gain o Random Forest
o Backward Feature importance
o Chi-square Test selection ⋮
⋮ ⋮

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 131
4- Réduction de dimensionnalité : Sélection des descripteurs

FEATURE SELECTION METHOD

WRAPPER FILTER EMBEDDED

Set of All Features

Generate a Selecting the Generate a


Subset Best Subset Subset

Learning Learning
Algorithm Algorithm Learning
algorithm
and
Performance
Performance

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 132
4- Réduction de dimensionnalité : Transformation

Méthodes linéaires Méthodes non-linéaires

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 133
BIBLIOGRAPHIE

[1] S. García, J. Luengo and F. Herrera. Data preprocessing in data mining.


Cham, Switzerland, Springer International Publishing, 2015

[2] T. Stéphane. Data mining et statistique décisionnelle: l'intelligence des


données. Editions Technip, 2012

[3] H. Chung and P. Gray. Data mining. Journal of management information


systems,1999

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

Dr. Taoufik BEN ABDALLAH Dr. Ali Ben Mrad


taoufik.benabdallah@iit.ens.tn benmradali2@gmail.com

2021-2022 
|OBJECTIFS
DU COURS

2
Objectifs du cours

Ce cours vise à
 Introduire le domaine de l’Intelligence Artificielle

 Présenter les concepts de base de Machine Learning

 Maîtriser quelques algorithmes d’apprentissage non supervisé


et supervisé

 Maîtriser les APIs Python nécessaires pour traiter, analyser


et visualiser les données

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 3
Organisation du cours 

Répartition approximative du charge horaire

Cours Travaux dirigés Travaux pratiques


±12h ±8h ±15h

Evaluation

Formule 1 20% Exposé 25% DS 55% Examen

Formule 2 45% DS 55% DS Examen

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 4
Plan
du cours
Plan du cours (Volet Théorique)

 Introduction générale

1- Initiation au Machine Learning

2- Apprentissage non-supervisé 

A- Classification Ascendante Hiérarchique

B- K-Moyennes (K-Means)

3- Apprentissage supervisé 

A- K-plus proches voisins

B- Réseaux Bayésiens

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 6
Plan du cours (Volet Pratique)

PARTIE I Calcul scientifique avec

PARTIE II Exploration des données avec

PARTIE III Visualisation graphique avec &

PARTIE IV Apprentissage non supervisé avec

PARTIE V Apprentissage supervisé avec

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 7
Introduction
générale

Génie Indus 3
Radhouane GUERMAZI 8
Intelligence Artificielle (IA) ?

=Artificial Intelligence (AI) en anglais


Informatique Science du
Le concept de l’IA a été proposé en cerveau

1956 par John McCarthy Sciences

IA= ensemble des techniques mises en


Philosophie
IA cognitives

œuvre pour réaliser des machines


Logique Psychologie
intelligentes Linguistique
IA devient un cours interdisciplinaire
qui implique différents domaines

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 9
Approches de l’IA

Symbolisme Connexionnisme Actionnisme

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

Intelligence Quatre éléments : Données, Algorithmes,


Artificielle (IA) Performances, et Scénarios
Apprentissage
automatique
Apprentissage
profond

1950 1960 1970 1980 1990 2000 2010

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"

Réseaux de neurones : Perceptron

Premier agent conversationnel (chat-bot) : Eliza

Logique modale (Il est possible que, il est nécessaire que)

Logique floue

Recherche de solution par heuristique (A*)

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

Poursuite des travaux sur les réseaux de neurones


Algorithmes génétiques / Support Vector Machine (SVM)
Systèmes multi-agents

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

Emergence de deep Learning ( réseaux de neurones profonds)


Victoire du AlphaGo devant le champion du monde Go
Big Data : les 4 V (Volume, Vitesse, Variété, Véracité)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 14
Domaines d’applications

Vision par Traitement Traitement du


ordinateur de la parole langage naturel

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 15
Utilisation de l’IA!

Analyse des actions Authentification Recherche des images Reconnaissance Faciale

Chatbot Navigation vocale Éducation intelligente Détection de mensonge

Traduction automatique Détection des Reconnaissance des Text generation


cellules cancéreuses entités nommés
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 16
Quiz
1. L’intelligence artificielle (une seule réponse)
 Fait partie de Machine Learning
 Se focalise pratiquement sur des approches symboliques
 Tente de reproduire une partie de l’intelligence humaine à travers une
application ou un système
 Aucune de ces réponses
2. En quelle année l’Intelligence Artificielle est-elle introduite pour la première fois ?
(une seule réponse)
 1946
 1960
 1916
 1956
3. Quels sont les éléments de l’IA ? (choix multiples)
 Algorithmes
 Performances
 Données
 Scénarios
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 17
CHAPITRE 1
INITIATION AU
MACHINE LEARNING
Génie Indus 3
18
Apprentissage automatique

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

Transactions des clients Grouper les clients Groupement cohérent

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

 Les règles sont automatiquement apprises par


des machines
 Les règles de prise de décision sont complexes
ou difficiles à décrire

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 20
Concepts de bases : Dataset!

Base de données Ensemble d’apprentissage Ensemble de Test


(Dataset) (Training set) (Test set)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 21
Forme Typique de dataset

Descripteurs = Attributs =
variables =caractéristiques
= Information

observation Attribut 1 Attribut 2 Attribut 3 … Classe


1 100 1 AA ⋮

Ensemble 2 120 0 AB ⋮
d’apprentissage 3 60 0 AC ⋮

⋮ ⋮ ⋮ ⋮ ⋮
Ensemble 5 95 1 AC ⋮
de test
⋮ ⋮ ⋮ ⋮ ⋮

Types de descripteurs : Discret, Binaire ou Continu

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 22
|PROCESSUS
DE ML
Processus de ML

Collecte de 1- Préparation 2-Apprentissage 3- Validation Déploiement &


données de donnés automatique du modèle Intégration du modèle

Feedback et itération

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 24
1- Préparation des données

A. Détection des descripteurs : Construire l’espace des


données qui va être exploré
B. Prétraitement Data preprocessing
Transformation des données
Nettoyage de données (Feature engineering)
Normaliser les données pour garantir les
Remplacer les valeurs manquantes
mêmes plages de valeurs
Supprimer les valeurs aberrantes
Combiner les descripteurs (Feature expansion)
Détecter les anomalies (outliers detection)

Discrétisation des données Réduction des données


Convertir les attributs continus en Sélectionner les descripteurs
attributs sous forme de catégorie Transformer les descripteurs dans un autre espace

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 25
Exemple de dataset!
Valeur
aberrante

# Id Nom Date. N Sexe A1 A2 A3 A4

1 111 John 31/12/1990 M 0 0 Ireland Dublin Valeur


manquante
2 222 Mery 15/10/1978 F 1 15 Iceland

3 333 Alice 19/04/2000 F 0 0 Spain Madrid

4 444 Mark 01/11/1997 M 0 0 France Paris

Elément 5 555 Alex 15/03/2000 A 1 23 Germany Berlin


dupliqué
invalide 6 555 Peter 1983-12-01 M 1 10 Italy Rome

7 777 Calvin 05/05/1995 M 0 0 Italy Rome

8 888 Roxane 03/08/1948 F 0 0 Portugal Lisbon

9 999 Anne 05/09/1992 F 0 5 Switzerland Geneva

10 101010 Paul 14/11/1992 M 1 26 Ytali Rome

Faute
Format invalide
d’orthographe

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 26
2- Apprentissage automatique

Processus de construction d’un modèle à partir d’un espace


de descripteurs
Le modèle obtenu est une représentation des relations entre les
données dans une base de données, peut être sous forme de
graphique, fonction, ou règles
Un modèle est ensuite utilisé dans le but de visualisation,
description, classification, structuration, explication ou prédiction

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 27
3- Validation du modèle

Les modèles extraits ne peuvent être


utilisés directement en toute fiabilité
Il faut les évaluer, les soumettre à
l’épreuve de la réalité et apprécier leur
justesse
Estimer le taux d’erreur du modèle

Améliorer le modèle selon les résultats obtenus


Demander l’avis d’un expert pour valider le modèle
Déploiement & Intégration du modèle

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 28
Récapitulation*

1 2 3

Input Traitement Output


Feedback

Échantillonnage des données+ Apprentissage automatique Validation du modèle


préparation des données
6 5 4

Modèle d’ajustement Utilisation du modèle Test du modèle

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

2. La préparation de données (choix multiples)


 Consiste à déterminer l’espace de descripteurs à utiliser pour l’apprentissage
 Nécessite une étape de prétraitement de données
 Consiste à donner un sens aux données
 Consiste à déployer un modèle d’apprentissage
3. La transformation de données consiste à (une seule réponse)
 Convertir les attributs continus en attributs sous forme de catégorie
 Supprimer les valeurs aberrantes
 Normaliser les données pour garantir les mêmes plages de valeurs
 Sélectionner les descripteurs les plus discriminantes

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 30
|TYPES
D’APPRENTISSAGE
AUTOMATIQUE
Types d’apprentissage automatique

Apprentissage Apprentissage Apprentissage Apprentissage par


supervisé non-supervisé semi-supervisé renforcement

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 32
Apprentissage supervisé (1/4)

Produire automatiquement des règles à partir d’une base de


données d’apprentissage étiquetées

Prédire la classe de nouvelles données observées


Classe (Label)=Target
Descripteurs

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

→ Présente le résultat de la prédiction

→ Classe= Attribut spécifique


→ Très couteux à avoir

Type de la classe : peut être de type


Discret, Binaire ou Continu
k=[1..p] avec p est le nombre de descripteurs
= dimension de l’espace de descripteurs

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 34
Apprentissage supervisé (3/4)

Classification : Prédire des valeurs discrets

 Sera-t-il froid ou chaud demain? Froid (A)/ chaud (B)

Régression : Prédire des valeurs continues

 Quelle est la température demain?

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)

Apprentissage basé sur le calcul de similarité : les données


similaires soient dans le même
Les classes sont inconnues→ pas de cible (pas d’étiquette)

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

 Segmentation & Regroupement (Clustering)

 Réduction de dimensionnalité (Dimensionality reduction)

 Détection d’anomalies (Outlier Detection)

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)

Utilise les données étiquetées pour


compéter des données non-étiquetées
Utilise ses propres prédictions pour
s’améliorer à chaque itération

Techniques les plus connues :


Auto-apprentissage (self-training)

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 ?

a- Entrainer un classifieur avec les données étiquetées


b- Étiqueter une observation incomplète en utilisant le classifieur généré dans a
c- Ajouter l’observation étiquetée aux données d’apprentissage
d- Ré-entrainé le classifieur sur les nouveaux données d’apprentissage
e- Répéter les étapes a, b et c jusqu’à satisfaire un critère d’arrêt (classifieur performant)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 41
Apprentissage par renforcement (1/2)

L’apprentissage est guidé par l’environnement sous la forme de


récompenses ou de pénalités données en fonction de l’erreur
commise lors de l’apprentissage
Le modèle perçoit l’environnement (action at ), prend des mesures,
et fait des ajustements et des choix en fonction de l’état 𝐬𝐭 , et de la
récompense ou de la pénalité 𝐫𝐭

Modèle

Itératif & Récompense ou Action


interactif État 𝐬𝐭 at
pénalité 𝐫𝐭
rt+1
st+1 Environment

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 42
Apprentissage par renforcement (2/2)

 Exemple

Mango Erreur! Feedback Apple


Apple noté

Entrée
Réponse Feedback Apprentissage Réponse

Action : pomme ou non ?


→ La machine apprend à partir des feedbacks
→ Pénalité
→ Répéter l’action

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

Cluster : groupes d’objets (observations)


homogènes et différenciés
La dissemblance (dissimilarité) entre les
objets est mesurée par le calcul de
distance : intra-cluster & inter-cluster

Deux familles d’algorithmes :


Algorithmes ascendants (ou agglomératifs)

Algorithmes descendants (ou divisifs)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 46
Apprentissage non-supervisé Clustering

Qu’est-ce qu’un cluster ?


Comment définir la similarité ?
Combien de clusters ?
Quelle méthode de Clustering choisir ?
Peut-on interpréter les clusters obtenus ?

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 47
Calcul de distance entre deux objets Propriétés

Soit 𝐗 et 𝐘 deux objets dans un espace décrit par 𝐩 descripteurs


(variables)
𝑿 = (𝐱𝟏 , … , 𝐱𝐩 ) et 𝒀 = (𝐲𝟏 , … , 𝐲𝐩 )

Une fonction de dissimilarité (distance) est une fonction 𝒅 qui a tout


couple d’objets (𝑿; 𝒀) associe une valeur dans ℝ+ telle que
 Symétrique 𝒅 𝑿, 𝒀 = 𝒅 𝒀, 𝑿
 Deux points sont confondus 𝒅 𝑿, 𝒀 = 0 ⟺ 𝑿=𝒀
 Intégrité triangulaires 𝒅 𝑿, 𝒀 = 𝒅 𝑿, 𝒁 + 𝒅 𝒁, 𝒀 avec 𝒁 = (𝒛𝟏 , … , 𝒛𝒑)
est un objet décrit par 𝐩 descripteurs 𝒛𝟏…𝒛𝒑

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

1- Pour les variables quantitatives (Distances les plus utilisées)


𝐩
 Distance Euclidienne 𝑑 𝑋, 𝑌 = ෍( xi −yi )²
i=1

𝐩
 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

2- Pour les variables binaires (ou qualitatives à deux valeurs) 1/2

Il faut tracer la table de contingence (table de dissimilarité) entre


deux objets

Objet Y 𝐚= nombre de positions où xi et yi sont à 1


1 0 𝐝= nombre de positions où xi et yi sont à 0
Objet

1 𝐚 𝐛 𝐜= nombre de positions où xi sont à 0 et yi sont à 1


0 𝐜 𝐝 𝐛= nombre de positions où xi sont à 1 et yi sont à 0

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

2- Pour les variables binaires (ou qualitatives à deux valeurs) 1/2


Exemple
Fièvre Toux Test-1 Test-2 Test-3 Test-4
𝒑𝟏 1 0 1 0 0 0
𝒑𝟐 1 0 1 0 1 0

Calculer la distance en 𝒑𝟏 et 𝒑𝟐 : 𝒅 𝒑𝟏, 𝒑𝟐 en appliquant le coefficient de Jaccard ?

𝒑𝟐
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

3- Pour les variables qualitatives à 𝐩 valeurs (𝐩 ≥ 𝟐) [OneHotEncoder]

Transformer l’espace de 𝐧 descripteurs à 𝐤 descripteurs binaires (𝐤 > 𝐧)

Exemple : étant donné l’espace de descripteurs 𝛀 de 6 observations


𝐨𝟏…𝐨𝟔 et de deux descripteurs A1 et A2
𝛀 A1 A2 𝛀_𝐓 A1=faible A1=fort A1=moyen A2=oui A2=non
𝐨𝟏 faible oui 𝐨𝟏 1 0 0 1 0
𝐨𝟐 faible oui 𝐨𝟐 1 0 0 1 0
𝐨𝟑 fort non 𝐨𝟑 0 1 0 0 1
𝐨𝟒 moyen oui 𝐨𝟒 0 0 1 1 0
𝐨𝟓 fort oui 𝐨𝟓 0 1 0 1 0
𝐨𝟔 faible non 𝐨𝟔 1 0 0 0 1

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 52
Calcul de distance entre deux objets

4- Pour les variables mixtes 1/2

Normaliser toutes les valeurs entre 0 et 1


 Les données binaires restent intactes
 Pour les données discrets (qualitative)→ OneHotEncoder

 Pour les données réelles (continues) → Standardization 𝐌𝐢𝐧 − 𝐌𝐚𝐱 (MinMaxScaler)


→ Transformer les valeurs de caractéristiques à l’échelle pour qu’elles se situent entre
un maximum (=1) et un minimum (=0)

𝐱𝟏 … 𝐱𝐢 𝐱𝐩
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

4- Pour les variables mixtes 2/2


Exemple : étant donné l’espace de descripteurs suivant :
Age Maison Salaire
𝐨𝟏 30 1 1000
𝐨𝟐 40 0 3200
𝐨𝟑 45 1 4000

Calculer la distance euclidiène entre 𝐨𝟏et 𝐨𝟐: 𝒅 𝐨𝟏, 𝐨𝟐 ?

Age Maison Salaire

𝐨𝟏 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

Un écart 𝒆 𝑪𝟏, 𝑪𝟐 définie la ressemblance entre des clusters : 𝑪𝟏, 𝑪𝟐


Chaque cluster comporte un ou plusieurs observations
Partition ℘
𝑪𝟏
𝒆 𝑪𝟏, 𝑪𝟐 ? 𝑪𝟐

𝒏𝑪𝟏
𝒏𝑪𝟐

Plus l’écart est petit, plus 𝑪𝟏 et 𝑪𝟐 se rassemblent


𝑛𝐶1 et 𝑛𝐶2 : nombres d’éléments dans les clusters 𝐶1 et 𝐶2 respectivement

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)

Écart simple (single linkage) : saut minimum


𝑪𝟏 Partition ℘
𝐨𝟐
Un cluster peut contenir un
𝑪𝟐
𝐨𝟒
𝐨𝟔
ou plusieurs observations
𝐨𝟓
𝐨𝟑

Étant donnée 𝑪𝟏={𝐨𝟐, 𝐨𝟒} et 𝑪𝟐={𝐨𝟑, 𝐨𝟓, 𝐨𝟔}

𝒆 𝑪𝟏, 𝑪𝟐 = 𝐦𝐢𝐧(𝑑 𝒐𝑖 , 𝒐𝑗 ) = 𝑑 𝐨2, 𝐨5


𝒐𝒊 ∈ 𝐶1,𝒐𝒋 ∈ 𝐶2

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)

Écart complet (complete linkage) : saut maximum


𝑪𝟏 Partition ℘
𝐨𝟐

𝐨𝟒 𝑪𝟐
𝐨𝟔
𝐨𝟓
𝐨𝟑

Étant donnée 𝑪𝟏={𝐨𝟐, 𝐨𝟒} et 𝑪𝟐={𝐨𝟑, 𝐨𝟓, 𝐨𝟔}

𝒆 𝑪𝟏, 𝑪𝟐 = 𝐦𝐚𝐱(𝑑 𝒐𝑖 , 𝒐𝑗 ) = 𝑑 𝐨4, 𝐨3


𝒐𝒊 ∈ 𝐶1,𝒐𝒋 ∈ 𝐶2

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)

Écart moyen (average linkage) : saut moyen


𝑪𝟏 Partition ℘
𝐨𝟐

𝐨𝟒 𝑪𝟐
𝐨𝟔
𝐨𝟓
𝐨𝟑

Étant donnée 𝑪𝟏={𝐨𝟐, 𝐨𝟒} et 𝑪𝟐={𝐨𝟑, 𝐨𝟓, 𝐨𝟔}


1
𝒆 𝑪𝟏, 𝑪𝟐 = ෍ ෍ 𝑑 𝒐𝑖 , 𝒐𝑗
𝒏𝑪1 × 𝒏𝑪𝟐 𝒐𝒋 ∈ 𝐶2
𝒐𝒊 ∈ 𝐶1

𝑛𝐶1 et 𝑛𝐶2 : nombres d’éléments dans les clusters 𝐶1 et 𝐶2 respectivement

La distance entre deux clusters est comptabilisée à partir la moyenne des


distances entre les objets de chaque cluster

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 58
Écart de Ward Ward linkage

Partition ℘ La distance entre deux clusters est


𝑪𝟏
𝒈𝑪𝟏 𝑪𝟐
comptabilisée à partir la distance entre
𝒆 𝑪𝟏, 𝑪𝟐 ?
 𝒈𝑪𝟐 leurs centres de gravité
 Cordonnées de 𝑔𝐶1

𝒐𝒊[0] 𝒐𝒊[1] 𝒐𝒊[p−1]


𝒈𝑪𝟏 =( σ𝒐𝒊 ∈𝐶1 , σ𝒐 ∈𝐶1 , …, σ𝒐 ∈𝐶1 )
𝒏𝑪𝟏 𝒊 𝒏𝑪𝟏 𝒊 𝒏𝑪𝟏
Centre de gravite
(barycentre) Cordonnées de 𝑜𝑖 =(𝑜𝑖 [0], 𝑜𝑖 [1],… , 𝑜𝑖 [p-1])
avec p est le nombre de descripteurs
𝑛𝐶1 et 𝑛𝐶2 : nombres d’éléments dans les
clusters 𝐶1 et 𝐶2 respectivement

𝒏𝑪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)

Approche ascendante (ou


agglomération)
 Commencer avec un objet dans chaque
cluster
 Fusionner successivement les deux
clusters les plus proches

NB. Arrêter le processus quand il n’y a


plus qu’une cluster contenant tous les
exemples

Les clusters sont organisés sous la forme


d’une structure d’arbre de partitionnement
(Digramme de la hiérarchie de
partitions : dendrogramme)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 62
Dendrogramme

Partitions= Ensemble de L’ensemble complet


clusters (classes) Racine
est un cluster

 Toute partition soit non vide ℘𝐢


Nœud
 Toute observation appartient à
un seul cluster
℘𝐢 − 𝟏
La racine est une partition d’un ⋮ ⋮
seul cluster contenant toutes
Branche
les observations
La branche est la différence Chaque observation
entre l’écart intra-clusters le plus Feuilles ℘𝟎


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

Entrée : Espace de descripteurs de 𝐍 observations 𝒐𝒋 (𝐣=1.. 𝐍) et 𝐩


descripteurs
Sortie : Digramme de la hiérarchie de partitions (Dendrogramme)

1. Initialiser la première partition ℘0


i←0
℘0={{𝒐𝟏 }, {…}, {𝒐𝒋 }, {…}, {𝒐𝑵 }} ℘0 comporte 𝑁 clusters dont chaque
observation constitue un cluster
2. Répéter
a. Calculer la matrice des écarts des clusters de ℘i
b. Chercher les deux groupes ayant l’écart le plus faible, et les
agréger en un seul
c. i ← i+1
Déterminer la ième partition ℘i qui comporte N- i clusters
Jusqu’à N- i=1

℘i comporte qu’un seul cluster


IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 65
Matrice des écarts

Soit 𝒆 un écart qui peut être usuel


(simple linkage, complete linkage ou
average linkage) ou de Ward
𝓜
𝓜 est la matrice des écarts associée
𝑪𝟏 𝑪𝟐 … 𝑪𝒎
aux groupes 𝑪𝟏 … 𝑪𝒎 d’observations
𝑪𝟏 0 ? e(𝐂𝟏, 𝐂𝟐) ?
𝒐𝟏 … 𝒐𝟐
𝑪𝟐 0 ? ?
Un cluster comporte un
ou plusieurs observations ⋮ 0 ?
𝑪𝒎 0

𝒆 𝑪𝟏 , 𝑪𝟐 =𝒆 𝑪𝟐, 𝑪𝟏

𝓜 est une matrice


𝓜 =Transposé(𝓜)
symétrique

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 66
Activité

Soit 𝛀 la base d’apprentissage de 5 𝛀 x1 x2


observations w1 …w5 et de deux descripteurs
w1 2 2
x1 et x2 (supposant que les données sont normalisées)
w2 7.5 4
I- Construire un dendrogramme de partitions en w3 3 3
appliquant l’algorithme CAH basé sur w4 0.5 5
 Complete linkage w5 6 4
 distance Euclidienne

II- Construire un dendrogramme de partitions en


appliquant l’algorithme CAH basé sur
 Ward linkage
 distance Euclidienne carrée

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}}

2) Construction de la matrice des écarts pour


calculer la partition ℘𝟐 A {w2 } {w4 } {w5 }
A={w1 ,w3 } 0 5.85 3.35 4.47
∀j ∈ 𝟐, 𝟒, 𝟓 , e A, {wj } = 𝐦𝐚𝐱(d w1 , wj ,
d w3 , wj ) {w2 } 0 7.07 1.5
avec A={w1 ,w3 } {w4 } 5.34
0
{w5 } 0
→ ℘𝟐={{w1, w3}, {w2 ,w5}, {w4}}

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 68
Activité I-

3) Construction de la matrice des écarts pour


calculer la partition ℘3
A B {w4 }
℘𝟐={{w1 , w3 }, {w2 ,w5 }, {w4 }} A={w1 ,w3 } 0 5.85 3.35
avec A={w1 ,w3 } & B={w2 ,w5 } B={w2 ,w5 } 0 7.07
{w4 } 0
e A, {w4 } = 𝐦𝐚 𝐱 d w1 , w4 , d w3 , w4 =3.35
e B, {w4 } = 𝐦𝐚 𝐱 d w2 , w4 , d w5 , w4 =7.07

e A, B = 𝐦𝐚𝐱( d w1 , w2 , d w1 , w5 ,
d w3 , w2 , d w3 , w5 )=5.85

→ ℘𝟑={{A, w4 }, {w2 ,w5}}

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 69
Activité I-

4) Construction de la matrice des écarts pour


calculer la partition ℘4
℘𝟑={{A,w4 }, {w2 ,w5 }} C B
={ {w1 , w3 ,w4 }, {w2 ,w5 }} C={A, w4 } 0 7.07
avec A={w1 ,w3 }, C={A, w4 } & B={w2 ,w5 } B={w2 ,w5 } 0

∀i ∈ 𝟏, 𝟑, 𝟒 et ∀j ∈ 𝟐, 𝟓
e C, B = 𝐦𝐚𝐱(d wi , wj ) =7.07

NB. Il ne reste plus que deux clusters B et C


(à regrouper dans le même cluster)

→ ℘𝟒={{C,B}}= {{w1, w2, w3, w4, w5}}


Partition grossière
→ Le processus s’arrête
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 70
Activité I-

Choix de la meilleure partition


 Saut important par passage de la 8
partition ℘𝐢 − 𝟏 à la partition ℘𝐢 7.07 ℘𝟒
{w1,w3 ,w4,w2,w5}
Deux partitions 6

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-

0) ℘𝟎={{w1 }, {w2 }, {w3 }, {w4 }, {w5 }}

1)  Construction de la matrice des écarts pour


calculer la partition ℘𝟏
1×1
e {w1 } , {w2 } = ((2-7.5)²+(2-4)²)= 17.12
1+1
1×1
e {w1 } , {w3 } = ((2-3)²+(2-3)²)=1
1+1 {w1 } {w2 } {w3 } {w4 } {w5 }

{w1 } 0 17.12 1 5.62 10
→ ℘𝟏={{w1, w3}, {w2}, {w4}, {w5}}
{w2 } 0 10.62 25 1.12
 Déterminer le centre de gravité du cluster {w3 } 0 5.12 5
A={w1 , w3 } de ℘𝟏
{w4 } 0 15.62
𝟐+𝟑 𝟐+𝟑
g𝐀 =( , ) =(2.5, 2.5)
𝟐 𝟐 {w5 } 0

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 72
Activité II-

2)  Construction de la matrice des écarts pour


calculer la partition ℘𝟐
1×2 A {w2 } {w4 } {w5 }
e {w2 }, A = ((7.5-2.5)²+(4-2.5)²)= 18.16
1+2 A={w1 ,w3 } 0 18.16 6.83 9.66

→ ℘𝟐={{w1, w3}, {w2, w5}, {w4}} {w2 } 0 25 1.12

{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[
𝒎𝒂𝒙{𝒂 𝒊 ,𝒃 𝒊 }

𝑺(𝒊) est l’indice de silhouette associé à l’observation 𝑤𝒊


𝒂 𝒊 la moyenne des distances entre 𝑤𝑖 et les observations de son groupe
𝒃 𝒊 la moyenne des distances entre 𝑤𝑖 et les observations du groupe le plus proche de
celui auquel il appartient

Plus 𝑺(𝒊) est proche de 1, plus l’appartenance de 𝒘𝒊 est justifiée


Si 𝐒 𝐢 < 𝟎, 𝑤i n’est pas dans le bon groupe et pourrait être déplacée dans le
groupe le plus proche
Les observations ayant de grande indice de silhouette sont bien regroupés

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 𝑤𝑖

Valeur de 𝑺 𝜖 Nature de la partition


[0.51,1[ Forte
[0.31,0.51[ Raisonnable
[0,0.31[ Faible
] − 1,0[ Inexistante

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 75
Qualité de la partition 3/3

CAS DE MÉTHODE DE WARD (AVEC CALCUL DE BARYCENTRE)


Une méthode de Clustering produira des groupes de bonne qualité si :

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*

Centre de gravité Partition ℘


𝒏𝑪𝒊
𝑰𝑰𝒏𝒕𝒆𝒓=σ𝒎
𝑖=1 𝑵
𝑑 𝒈 𝑪𝒊 , 𝒃𝒈 𝑪𝟏
des N observations
𝑪𝒊
𝑔 𝐶1
𝑁 Nombre total d’observations
𝑛 𝐶𝑖 Nombre d’éléments dans 𝐶𝑖
𝑚 Nombre de cluster dans une partition
𝒐𝟏
 𝒐𝒌
 𝐛𝐠 
𝑔 𝐶𝑖


𝑖 = 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

Difficile d’utiliser avec de grosses bases de données


Difficile de déterminer la coupure significative de l’arbre
Emergence des clusters qui n’ont pas un sens de point de vue de
l’utilisateur

La partition retenue à une étape dépend de celle obtenue à l’étape


précédente

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 79
Quiz

1. L’algorithme CAH (choix multiples)


 Est un algorithme itératif de Clustering descendant
 Commence par calculer la dissimilarité entre les observations de la base d’apprentissage
 Se termine lorsque toutes les observations forment qu’un seul cluster
 Produit un dendrogramme dont la racine représente 𝑝 groupes avec 𝑝 > 1
2. Une méthode de Clustering produira des groupes de bonne qualité si (choix multiples)
 L’inertie intra-cluster est importante
 L’inertie inter-cluster est faible
 La distance entre deux observations au sein du même cluster est petite
 La distance entre deux observations au sein du même cluster est élevé

3. Étant donné une base d’apprentissage de 6 observations, en appliquant CAH, p4={{O4,


O5,O6} ,{O1,O2,O3}} est la meilleur partition. La moyenne des indices de silhouette des
observations est égale à 0.51, alors La partition p4 des clusters est forte (une seule réponse)
 Vrai
 Faux

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 80

PARTIE-B

K-MOYENNE
(K-MEANS)
K-Moyennes (K-Means)

Algorithme des centres mobiles et le plus


connu des algorithmes non hiérarchiques
Fait référence aux centroïdes des clusters 𝐠𝐢
Permet le classement des objets dans un 𝐠𝟐
nombre fixe de clusters (= 𝐊) défini
arbitrairement par l’utilisateur 𝐛𝐠

𝐠𝟏
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

1.1- Choisir deux centroïdes au


hasard

2.2- Affecter chaque observation


au cluster ayant le centre le
plus proche
1 2
3.3- Déplacer chaque centroïdes
vers la moyenne de chaque
cluster

4.4- Réaffecter les observations

5.5- Récalculer les moyennes des


classes

3 4 5

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 83
Algorithme K-Means 1/2

Entrée : Espace de descripteurs de 𝑵observations (objets) et 𝐩 descripteurs


Sortie : 𝐊 clusters

1. Fixer le nombre 𝐊 de centroïdes 𝐠 𝐣 (ou seeds) (chaque centroïde représente


un clusters) avec 𝐣 =1..𝐊
2. Initialiser aléatoirement les centroïdes 𝐠 𝐣
3. Répéter
a. Pour chaque observation 𝑶𝒊 (𝒊 = 1. . 𝑵) Faire
i. Calculer la distance de dissimilarité entre 𝑶𝒊 et chaque centroïde 𝐠 𝐣
d 𝐠 𝐣 , 𝑶𝒊 : Trouver le centroïde le plus proche
ii. Placer𝑶𝒊 dans le cluster ayant le centroïde le plus proche
Fin Faire

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

Jusqu’à Tous les valeurs de centroïdes ne changent pas

NB. La classification des observations dépend du choix des centres initiaux

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 } & 𝐁 ={ }

→ 𝐀 ={w1, w2, w3}


→ 𝐁 ={w4, w5, w6}

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 87
Activité

2) Calculer la moyenne 𝐌𝐣 des observations de chaque cluster 𝐣 (𝐣 = 𝐀 ou 𝐁) → 𝐠 𝐣 ?

(i) (i)
𝐧 obs [x1 ] 𝐧 obs [x2 ]
𝐌𝐣 =( σi 𝐣 j , σi 𝐣 j )
𝐧𝐣 𝐧𝐣

avec 𝐧𝐣 est le nombre d’éléments appartenant au cluster 𝐣


(𝐢)
𝐨𝐛𝐬𝐣 la 𝐢ème observation dans le cluster 𝐣 , et de cordonnées (𝐱𝟏 ,𝐱𝟐 )

Pour 𝐀 ={w1 , w2 , w3 } Pour 𝐁 ={w4 , w5 , w6 }


w1 =(−2,2); w2 =(−2,−1); w3 =(0,−1) w4 =(2,2); w5 =(−2,3); w6 =(3,0)

−2+ −2 +0 2+ −1 +(−1) 2+ −2 +3 2+3+0


𝐌𝐀=( , ) =(−1.33,0) 𝐌𝐁 =( , ) =(1,1.67)
3 3 3 3

→ 𝐠 𝐀=(−1.33,0) → 𝐠 𝐁 =(1,1.67)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 88
Activité

3) Calculer les distances entre les observations et les nouveaux centroïdes 𝐠 𝐀 et 𝐠 𝐁,


et réaffecter les observations aux clusters
d 𝐠 𝐀 , w1 =?
d 𝐠 𝐀 , w2 =? 𝛀 w1 w2 w3 w4 w5 w6

𝐠𝐀 2.11 1.20 1.66 3.88 3.07 4.33
→ 𝐀 ={w1, w2, w3, w5}
𝐠𝐁 3.02 4.02 2.85 1.05 3.28 2.61
→ 𝐁 ={w4, w6}

4) Recalculer la moyenne 𝐌𝐣 des observations de chaque cluster (𝐣 = 𝐀 ou 𝐁)

Pour 𝐀 ={w1 , w2 , w3 , w5 } Pour 𝐁 ={w4 , w6 }


−2+ −2 +0+(−2) 2+ −1 + −1 +3 2+3 2+0
𝐌𝐀=( , ) =(−1.5,0.75) 𝐌𝐁 =( , ) =(2.5,1)
4 4 2 2

→ 𝐠 𝐀=(−1.5,0.75) → 𝐠 𝐁 =(2.5,1)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 89
Activité

3) Calculer les distances entre les observations et les nouveaux centroïdes 𝐠 𝐀 et 𝐠 𝐁,


et réaffecter les observations aux clusters
d 𝐠 𝐀 , w1 =?
d 𝐠 𝐀 , w2 =? 𝛀 w1 w2 w3 w4 w5 w6

𝐠𝐀 1.35 1.82 2.30 3.72 2.30 4.56
→ 𝐀 ={w1, w2, w3, w5}
𝐠𝐁 4.61 4.92 3.20 1.12 4.92 1.12
→ 𝐁 ={w4, w6}

Pas de changements dans les clusters


→ stabilisation des centroïdes
→ Le processus s’arrête

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 90
Activité

Considérant que les deux centroïdes initiaux 𝐠𝐀 et 𝐠𝐁 sont de cordonnées


𝐠𝐀 =(-1,2) et 𝐠𝐁 =(1,1)

1) Calculer les distances entre les observations et les centroïdes 𝐠 𝐀 et 𝐠 𝐁


𝛀 w1 w2 w3 w4 w5 w6
𝐠𝐀 1 3.16 3.16 3 1.41 4.47
𝐠𝐁 3.16 3.60 2.24 1.41 3.60 2.24

w1 =(−2,2) ; d 𝐠 𝐀 , w1 = ( − 2 − (−1))² + (2 − 2)²= 1



→ 𝐀 ={w1, w2, w5} ; 𝐁 ={w3, w4, w6}

2) Calculer les centres de gravité 𝐠 𝐀 et 𝐠 𝐁 des observations des clusters 𝐀 et 𝐁


2+(−1)+3 0+2+3 −1+2+0
𝐠 𝐀=(−2+ −23 +(−2), ) =(−2,1.33) ; 𝐠 𝐁 =( , 3 ) =(−1.67,0.33)
3 3

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 91
Activité

3) Calculer les distances entre les observations et les nouveaux centroïdes 𝐠 𝐀 et 𝐠 𝐁 ,


et réaffecter les observations aux clusters

𝛀 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

w1 =(−2,2) ; 𝐠 𝐀 =(−2,1.33) ; d 𝐠 𝐀 , w1 = ( − 2 − (−2))² + (2 − 1.33)²= 0.67



→ 𝐀 ={w1, w2, w5} ; 𝐁 ={w3, w4, w6}

→ Le processus s’arrête

Si 𝐠 𝐀 =(-1,-1) ; 𝐠 𝐁 =(2,3) alors 𝐀 ={w1 , w2 , w3 , w5 } ; 𝐁 ={w4 , w6 }


Si 𝐠 𝐀 =(-1,2) ; 𝐠 𝐁 =(1,1) alors 𝐀 ={w1 , w2 , w5 } ; 𝐁 ={w3 , w4 , w6 }

→ Deux classifications différentes suivant les choix des centres initiaux

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

Fiables exigences en taille mémoire


 Calcul élémentaire
 Pratique quand il y a un très grand nombre d’observations

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 93
Inconvénients de K-Means

Obligation de fixer à priori le nombre 𝐊 de clusters


Un mauvais choix pour la valeur de 𝐊 conduira alors à une typologie
sans rapport avec la réalité

K-Means fonctionne assez bien si le nombre de clusters voulu


est modéré
Si le nombre de clusters augmente alors le risque d’avoir un résultat
médiocre augmente

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 94
Quiz

Soit la matrice de distances Euclidiennes carrées suivante entre 7 observations


𝑂i (i ∈[1..7]) et trois centroïdes 𝐶j j ∈[1..3]
𝑂1 𝑂𝟐 𝑂3 𝑂4 𝑂5 𝑂6 𝑂7
𝐶1 11 10 10 7 6 11 40
𝐶2 12 22 9 12 4 32 33
𝐶3 8 17 15 12 5 17 41

1. En appliquant k-means (avec k=3), le cluster de centroïde 𝐶2contient uniquement


les deux observations 𝑂3 et 𝑂5 (une seule réponse)
 Vrai
 Faux
2. L’écart de Ward entre le cluster de centroïde 𝐶𝟏et le cluster de centroïde 𝐶𝟑 est égal à
(une seule réponse)
 8.25
 4.71
 2.75
1

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 95
CHAPITRE 3
APPRENTISSAGE
SUPERVISÉ

Génie Indus 3
96
Apprentissage supervisée

Processus à deux phases :


1- Apprentissage : construire un modèle (ou classifieur) qui décrit un ensemble
prédéterminé de classes de données
2- Classement : utiliser le modèle obtenu pour affecter une classe à un
nouvelle observation

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%)

→ Processus de validation qui s’exécute qu’une seule fois

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 98
Exemple : Prédire la solvabilité d’un client

1- Construction d’un modèle sur des observation avec la variable cible


connue (classe désirée)
Client Salaire S. Familiale Ville Travail Classe Classe
1 Moyen Divorcé Tunis Privé oui désirée
2 Elevé Célibataire Tunis Étatique non
(Rembourse
son crédit)
3 Faible Célibataire Sfax Étatique non
4 Faible Célibataire Tunis Privé oui
5 Moyen Marié Sousse Privé oui

2- Application du modèle sur des observations avec la variable cible


inconnue (classe à prédire)
6 Elevé Marié Sfax Privé ? Classe à
7 Moyen Marié Sfax Privé ? prédire
8 Faible Divorcé Tunis Étatique ?

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 99
Apprendre : Trouver une fonction F

 est la population (ensemble d’observations)


E est l’ensemble des descripteurs des éléments
de la population (Feature space)
X
K est l’ensemble des classes (le plus souvent  E
construite par le jugement d’un expert)
Y
X :   E est la fonction qui associe à tout F
élément de  sa description K
Y :   K est la fonction qui associe à tout
élément de  sa classe
F : E  K est la fonction qui associe à la
description de tout élément de  sa classe

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 100
Types de classifieurs!

Lazy Learning Eager Learning


(Apprentissage paresseux) (Apprentissage avide)
Transductive Inductive

Les données d’apprentissage sont stockées Le modèle de prédiction est construit


en attente d’une donnée de test à partir des données d’apprentissage

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 101

PARTIE-A

LAZY LEARNING : K- PLUS


PROCHES VOISINS
K-plus proches voisins (K-Nearest Neighbors, KNN)

𝐊 =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

Une base d’apprentissage annotés (présence de classe)


Une mesure de distance pour trouver les cas les plus similaires (distance
Euclidienne, distance de Manhattan, etc.)
Le choix de la bonne valeur de l’hyper paramètre "nombre de voisins" 𝐊

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'

Entrée : 𝛀 Jeu de données d’apprentissage de 𝑵 observations annotées


𝚿 Jeu de données de test de 𝑴 observations
𝐊 Nombre de voisins
Sortie : −
Pour chaque observation 𝑶𝒊 (𝒊 = 1. . 𝑴) de 𝚿 Faire
1. Pour chaque observation 𝑶𝒋 (𝒊 = 1. . 𝑵) de 𝛀 Faire
Calculer la distance de dissimilarité entre 𝑶𝒊 et 𝑶𝒋 d 𝑶𝒊 , 𝑶𝒋
Fin Faire
2. Retenir 𝐊 observations 𝑶𝒋 parmi 𝑵 les plus proches de 𝑶𝒊 (c.à.d. les 𝐊
observations ayant d 𝑶𝒊, 𝑶𝒋 les plus faibles)
3. Attribuer la classe correspondante à 𝑶𝒊 par vote majoritaire ou vote
majoritaire pondéré
4. 𝛀 ← 𝛀 ∪ {𝑶𝒊} ; 𝚿 ← 𝚿 \{𝑶𝒊 }
Fin Faire
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 105
Choix de la classe finale
Jeu de donnée
d’apprentissage
Vote majoritaire : Choisir la classe la plus
présente parmi les K plus proches voisins 𝐀𝟏 𝐀𝟐 Classe
Pour K=3 𝑶𝟏 4 8 C1
𝑶𝟐 2 -2 C2
d 𝐗, 𝑶𝟓 = 1.41 (Classe C2)
d 𝐗, 𝑶𝟐 = 2.24 (Classe C2) 𝑶𝟑 -1 5 C1
d 𝐗, 𝑶𝟑 = 6.4 (Classe C1) 𝑶𝟒 -6 2 C1
Classe de 𝐗 = C2 𝑶𝟓 2 -1 C2

𝐗 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é

Soit 𝛀 la base d’apprentissage de 5 clients d’une banque. Chaque client est


décrit par son âge, son revenu et son nombre de cartes. L’objectif est de prédire
si un client est fidèle (oui) ou non
Client Age Revenu Nb de cartes Classe
Taoufik 35 3.5 3 non
Slim 22 5.2 2 oui
Salma 63 11.9 1 non
Saïd 59 1.7 1 non
Mouna 25 4.1 4 oui

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

𝛀 Taoufik Slim Salma Saïd Mouna


Firas 2.64 15 26.94 22.25 12.19

d Firas, Taoufik = (37 − 35)²+(4.9 − 3.5)² + (2 − 3)²= 2.64


2) Retenir les 3 observations les plus proches de l’observation de Firas


Client Classe désirée
Taoufik non
Slim oui
Mouna oui

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 108
Activité
3) Attribuer la classe correspondante à l’observation de Firas

a- Par vote majoritaire


Client Classe désirée
Taoufik non
Slim oui
Mouna oui
Classe prédite : oui

b- Par vote majoritaire pondéré


1 1 1 1
Classe oui + = +
d Firas, Slim d Firas, Mouna 15 12.19
= 0.149
1 1
Classe non d
=
Firas, Taoufik 2.64
= 0.379

Classe prédite : non

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

𝛀 Taoufik Slim Salma Saïd Mouna Firas


Amira 7.73 6.15 35.48 31.31 4.69 9.13


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

Algorithmes basés sur une structure d’arbre binaire


Algorithmes partitionnent récursivement l’espace de données
Algorithmes déterminent la dissimilarité entre les observations sans avoir calculer
explicitement leur distance

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 111
Avantages de KNN

Le jeu de donnée d’apprentissage constitue le modèle en lui-même (Pas


d’apprentissage)
L’introduction de nouvelles données permet d’améliorer la qualité de la
méthode sans reconstitution du modèle
La classe d’une observation est déterminée par ses plus proches voisins
(Clarté des résultats)
La méthode est applicable dès qu’il est possible de définir une distance
entre les données (Tout type de données)

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 112
Inconvénients de KNN

Plus le nombre de descripteurs est important, plus le nombre


d’observations d’apprentissage doit être grand
Tous les calculs doivent être effectués lors de la classification (méthode
lente)
Nécessité d’un espace mémoire important pour mémoriser tout le modèle
(jeu de données d’apprentissage)
Les performances d’un modèle KNN dépendent du choix de la distance,
du nombre de plus proches voisin 𝐊 et du mode de choix de la
classe finale

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 113
Estimation de performances Quelques métriques

Matrice de confusion (avec 𝑵 classes)


Tableau bidimensionnel 𝑵 lignes × 𝑵 colonnes Classe prédite
𝑪𝑴 𝐶1 … 𝐶𝑖 𝐶𝑁
𝐶𝑀(𝑖,𝑖): Nombre d’observations désirées comme 𝐶𝑀(1,1) 𝐶𝑀(1,𝑖)
Ci et prédites comme Ci
𝐶1

désirée
⋮ ⋮

Classe
𝑚 le nombre total des observations 𝐶𝑖 𝐶𝑀(𝑖,𝑗)

𝐶𝑁 𝐶𝑀(𝑁,
𝑁)

Taux de classification Accuracy τ Taux d’erreur Error rate e


σ𝑁
𝑖=1 𝐶𝑀(𝑖,𝑖)
σ𝑁 𝑁
𝑖=1 σ𝑗=1 𝐶𝑀(𝑖,𝑗)
𝜏= 𝑒= =1−𝜏
𝑚 𝑚

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 114
sklearn.neighbors!

from sklearn.neighbors import KNeighborsClassifier


#Par défaut
KNeighborsClassifier(n_neighbors=5, weights='uniform', algorithm='auto',
leaf_size=30, p=2, metric='minkowski')

weights='uniform' (par vote majoritaire) ou


weights='distance' (par vote majoritaire pondéré)

algorithm='brute' ou algorithm='ball_tree' ou algorithm='KD_tree' ou


algorithm='auto' (c.à.d. le plus approprié)
leaf_size transmise à 'ball_tree' ou 'KD_tree'

p=2, metric='minkowski' (Distance Euclidienne) ou


p=1, metric='minkowski' (Distance de Manhattan) ou

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 115
sklearn.neighbors! df_iris

from sklearn.neighbors import KNeighborsClassifier

#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

1. En appliquant KNN (avec 𝐊=3) (Choix multiple)


 Le jeu de donnée d’apprentissage constitue le modèle en lui-même
 Chaque observation classée des données de test sera ajouter aux données d’apprentissage
 La classe d’une observation est déterminée par ses deux plus proches voisins
 Une phase d’apprentissage permet d’élaborer un modèle qui résume les données d’apprentissage
2. Étantdonné une base d’apprentissage de 6 observations (𝑶𝟏 . . . 𝑶𝟔); 𝑶𝟐 et 𝑶𝟒 sont
associées à la classe "B", et les restes d’observations sont associées à la classe "A".
Supposons que la distance euclidienne entre une nouvelle observation 𝑶𝟕 et 𝑶𝟐 est le
plus faible. En appliquant KNN (avec 𝐊=1 et un vote majoritaire pondéré), la classe
prédite de 𝑶𝟕 est (une seule réponse)
 "A"
 "B"
3. Les performances d’un modèle KNN dépendent du choix de la distance, du nombre de
plus proches voisin ainsi que du mode de choix de la classe finale (une seule réponse)
 Vrai
 Faux
IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 117
BIBLIOGRAPHIE

[1] G. Bonaccorso. Machine learning algorithms. Packt Publishing Ltd, 2017

[2] J. VanderPlas. Python data science handbook: Essential tools for working
with data. O'Reilly Media, 2016

[3] X. Yao and L. Yong. Machine Learning. Search Methodologies. Springer,


Boston, MA, 2014

IIT-Sfax
T. Ben Abdallah & A. Ben Mrad 118
MERCI DE VOTRE ATTENTION
َ‫ُتا‬
‫بعة‬ ‫شُكر‬
‫ًا على الم‬

Génie Indus 3
119

Vous aimerez peut-être aussi