Académique Documents
Professionnel Documents
Culture Documents
Learning
Hajer Grira
1
PLAN
❶ Introduction et Définition
❷ Types et processus
d’apprentissage automatique
❸ AA Supervisé
❻ AA Non Supervisé
https://cutt.ly/Wwwi0g57
❼❽ …
2
Prérequis
RA
RI
G
3
IA, Machine Learning et Deep
RA
RI
G
4
L’apprentissage automatique AA
Apprentissage Automatique 🡺 Machine Learning
Définition
RA
(programmation séquentielle déterministe )
RI
G
5
Définition
RA
RI
G
6
Exemples d’applications
RA
– ….
RI
G
7
Exemples d’applications
vision par ordinateur
RA
RI
G
8
Exemple d’application Reconnaissance
de l’écriture manuscrite
RA
RI
G
9
ML = Modélisation mathématique?
Un problème d’apprentissage automatique
peut être formulé sous la forme d’une transformation entre des entrées
(Inputs) et des sorties (Outputs).
Mathématiquement,
On cherche d’apprendre une fonction de transformation
𝑓 qui associe à chaque variable d'entrée X, une variable de sortie 𝑌 avec
une erreur 𝑒:
𝑌=𝑓𝑋+𝑒
RA
RI
G
En ML, on parle souvent de MODELE pour désigner le
programme élaboré
10
Le monde des Données en abondance
Une augmentation continue des données générées
Ordre de grandeur :
-1024 gégabyte 🡺 1 tétrabyte
-1024 tétrabyte 🡺 1 pétabyte
-1024 pétabyte 🡺 1 exabyte
site téléchargement DB
RA
Kaggle.com , https://archive-beta.ics.uci.edu/, …
RI
G
11
ML : de quoi il s’agit ?
RA
RI
G
12
Apprentissage automatique
Exemples
Input / I Output / O
Filtrage des emails Un e-mail Spam / non-spam
Reconnaissance Une image Accès / interdiction
faciale
Traduction Phrase en langage A Phrase en langage B
Reconnaissance Signal audio Une phrase / mot
parole
Déplacement d’un Données à partir de Mouvement en
Robot capteurs trajectoire
RA
RI
G
13
Types d’apprentissage Automatique
RA
🡺 Apprentissage par renforcement
RI
G
14
G
15
RI
RA
L’apprentissage supervisé
• un expert se charge d’étiqueter correctement certaines entrées
• Deux types d’apprentissage supervisé selon le type du résultat
obtenu
La classification La régression
Le résultat obtenu est une valeur Le résultat obtenu est une valeur
discrète continue
RA
deux valeurs possibles : {spam, non caractéristiques d’un véhicule
RI
spam}
G
16
L’apprentissage non-supervisé
🡺Aucune information n’est disponible sur les sorties o.
– catégorisation/regroupement/segmentation
Construire des classes automatiquement en fonction des exemples
disponibles
– Réduction de dimensions 🡺 Diminuer l’ensemble des attributs
RA
RI
G
17
L’apprentissage par renforcement
Nous ne possédons pas la sortie "o" jugée correcte pour un certaine
entrée "i".
– Il repose sur le principe d’essai/erreur.
– on peut mesurer la qualité d’une sortie "récompense" (reward)
Exemple
• Un robot doit "retourner des crêpes"
– La récompense peut être
» +3 si la crêpe est retournée
» -1 si la crêpe reste dans la poêle
» -5 si la crêpe tombe
• Le rôle du robot est de maximiser la récompense à travers plusieurs
essaies.
RA
RI
G
18
Processus d’apprentissage :
du problème vers le modèle
RA
RI
G
19
Etape 1 : définir le problème et
déterminer le type d’apprentissage
Tâche souhaitée 🡺 Problème ML
– Filtrage des e-mails 🡺 supervisé
– vision par ordinateur 🡺 supervisé + Non supervisé
– Conduite autonome 🡺 renforcement
– Chat bots 🡺 supervisé + renforcement
– Jouer et gagner des jeux 🡺 renforcement
– Diagnostic médical 🡺 supervisé
– Recommandations de produits 🡺 supervisé + Non supervisé
– Suggestions d’amis/de contenu 🡺 supervisé + Non supervisé
– Reconnaissance vocale 🡺 supervisé
– Sous-titrage vidéo 🡺 supervisé + Non supervisé
– Traduction d’un texte 🡺 supervisé
RA
RI
G
20
Etape 1 : définir le problème et
déterminer le type de traitement
RA
détermine l’espèce d’une fleur 🡺 Classification
RI
G
21
Etape 2 : Préparation des données
(inputs)
RA
RI
G
22
Exemple de base de données
RA
RI
G
23
Préparation des données : Transformer
les données bruts … Pourquoi!?
RA
RI
G
24
Préparer les données... Pourquoi!?
❑ Exemple :
Les données réelles présentent des problèmes de qualité.
o incomplétude : contient des valeurs manquantes ou des données dépourvues d'attributs
o Bruit : contient des enregistrements incorrects ou des exceptions
o incohérence : contient des enregistrements incohérents
Valeur
manquante
Erreur valeur
Erreur saisie
Duplication
RA
invalide
RI
Erreur saisie
G
Format dépendance
incorrecte 25
Exemples de transformation des
données brutes (rowdata)
Type de transformation exemple
La discrétisation des données moyenne <12 🡺 passable ;
continues moyenne <14 🡺 assez bien ;
moyenne >= 18 🡺 excellent
modifier le type d’un attributs date de naissance 🡺 âge
date d’abonnement 🡺 durée…
Normalisation = Réduire les Diviser par la valeur maximal 🡺 avoir des
attributs à la même échelle données entre 0 et 1.
Supprimer les données aberrantes Corriger Erreur de saisi, de mesure
Complétez les données Complétez les valeurs des attributs
manquantes manquants par la moyenne
Suppression - l’observation incomplète
- Attribut avec trop de valeurs manquantes
RA
Réduire la dimension Supprimer les attributs non pertinents
RI
G
Etiquetage = label (supervisé) Ajouter attribut contenant le label
26
G
27
RI
RA
Apprentissage supervisé
1ère étape : phase apprentissage (training)
A partir des Input, on choisit un échantillon dit d'apprentissage dont la sortie est
connu.
Cet échantillon est utilisé pour estimer une fonction de prédiction = création du
modèle.
Cette étape peut contenir une phase de validation avec 20% de l’échantillon
2ème étape : phase de test
Utiliser la fonction de prédiction (le modèle) définit dans l’étape précédente afin de
déterminer des sorties (output) relatifs aux inputs non utilisées dans la phase
apprentissage.
Proportions usuelles : 70% training , 30% test
RA
Taux d’erreur = pourcentage de tests incorrectement prédis par le modèle
RI
G
28
Types d’apprentissage supervisé
• La régression
Régression linéaire : Le résultat obtenu est une valeur contenu
Exemple : prédire le prix du véhicule étant données ses
caractéristiques quantitatives
Régression logistique : le résultat est une probabilté d’appartenir à
une ou l’autre des catégories proposées (≅)
• La classification
– Le résultat obtenu est une valeur discrète d’un ensemble de Classes
Exemple : prédire si un mail est SPAM ou non, le résultat
peut prendre deux valeurs possible : {spam, non spam}
RA
Exemple : exempl1_reg_lineaire
RI
G
29
Régression Logistique
– Variable à expliquer Y est qualitative
3 types de régression logistique
– binaire ⇒ Y binaire (ex : vivant / décès)
– ordinale ⇒ Y ordinale (ex : stades de cancer)
– multinomiale ⇒ Y qualitative (ex : types de cancer)
– Variables explicatives X=[x1,…,xn] sont qualitatives ou quantitatives
Il n’existe pas une méthode analytique pour résoudre ce problème
– Il faut utiliser des méthodes numériques d’approximation du maximum
• Méthode de descente de gradient
• Méthode de Newton-Raphson
RA
RI
G
30
Apprentissage supervisé :
Classification
Un classificateur est un modèle qui permet de décider de l’appartenance
d’une observation donnée à une classe particulière.
🡺 Deux types de classification
• Classification binaire ( SPAM ou non )
• Classification Multi-classes :
exemple : un objet dans une image (chien, cheval, chat)
Les modèles de classification (classificateurs)
K-NN : K Nearst Neighbors
SVM : Support Vector Machine
Arbre de Décision :Random Forets, XGBoost (Gradient Boosting)
DNN : Deep Neural Networks
RA
CNN : Convolutional Neural Network en combinaison avec un classifieur
RI
G
31
Elaboration d‘un modèle de
Classification
RA
RI
G
32
Principe du K-NN
Prédire la classe d’une donnée (observation) Onew en s’appuyant sur
une base de données étiquetées en 2 étapes :
- calculer toutes les distances entre Onew et les données de la base,
- affecter à Onew la même classe que celle des k données qui lui sont le
plus proches, k étant fixé à l’avance.
Le calcul de la distance est réalisé selon l’une des formules de calcul de
distance (euclidienne, manhattan,…)
RA
surcharge de la mémoire par toutes les données d’entraînement.
RI
G
🡺 K-NN convient donc plutôt aux problèmes d’assez petite taille.
33
Exercice K-NN
• K=5
🡺
RA
RI
G
34
Exemple : Modèle KNN
RA
Onew1 : poids = 20, largeur = 4.3 , hauteur = 5.5
RI
G
Onew2 : poids = 180, largeur = 8.0 , hauteur =6.8
35
36
Algorithme arbre de
décision
❑Ensemble de règles de classification basant leur décision sur des tests
associés aux attributs, organisés de manière arborescente.
Motivation : Produire des classifications compréhensibles par
l’utilisateur.
Un arbre est équivalent à un ensemble de règles de décision : un
modèle facile à comprendre.
❑Principe : Prédire la valeur d’un attribut à partir d’un ensemble de
valeurs d’attributs
❑Un arbre est composé de :
nœuds : classes d’individus de plus en plus fines depuis la racine.
arcs : prédicats de partitionnement de la classe source.
RA
RI
G
37
Algorithme arbre de
décision
RA
RI
G
38
Algorithme arbre de
décision
RA
RI
G
39
G
40
RI
RA
Evaluation d’un modèle de
régression linéaire
Coefficient de détermination R2
– Un indicateur de la qualité d’une régression linéaire simple
– à quel point l’équation de régression est adaptée pour décrire la
distribution des points.
0 ≤ R2 ≤ 1 : plus R2 est proche de 1, plus le modèle semble pertinent
• La valeur 0 : indique un pouvoir de prédiction faible
• La valeur 1 : indique un pouvoir de prédiction fort.
RA
RI
G
41
Les métriques de mesures de la
performances classification
Evaluation d’un modèle de
G
42
RI
RA
Les mesures de performances
Exemple : La personne est-elle
enceinte ? (classification binaire)
• True Positive : Le modèle prédit
enceinte (+) et effectivement la
personne est enceinte (+).
• True Negative : Le modèle prédit
non enceinte (-) et effectivement
la personne n’est pas enceinte (-).
• False Positive : Le modèle prédit
enceinte (+) alors que la personne
ne l’est pas (-).
• False Negative : Le modèle prédit
non nceinte (-) alors qu’en réalité
RA
elle l’est (+)
RI
G
43
Matrice de Confusion
C’est un matrice carrée de taille n (nombre de classes)
Permet d’avoir une représentation visuelle de la performance d’un
classificateur
Les indicateurs de performance sont calculés à partir de quatre
nombres qui correspondent aux nombre de Vrais Positifs (VP), le
nombre de Faux Positifs (FP), le nombre de Vrais Négatifs (VN), et le
nombre de Faux Négatifs (FN).
Valeur Réelles
RA
Non FalseNegative TrueNegative
RI
Malade
G
44
Overfitting / underfitting
Sur-apprentissage (Overfitting)
– Apprentissage par cœur : incapacité de généralisation
– L’erreur d’apprentissage est très faible vs erreur phase de test est élevée
Causes
- Le modèle est trop complexe
- Un très grand nombre de paramètres par rapport à la quantité de données
- Le modèle apprend les particularités (par ex. le bruit) des données
Solutions
Limiter la complexité du modèle, diversifier les données d'entraînement
Sous-Apprentissage (underfitting)
- La fonction d’apprentissage n’est pas assez riche pour pouvoir décrire la diversité dans les
données
- Complexité de modèle insuffisante,
Causes
-Un nombre de paramètres trop faible par rapport à la complexité des données
- Une quantité de données d'entraînement insuffisante.
Solutions
- Augmenter la complexité du modèle,
RA
- Ajouter des variables d'entrée pertinentes,
RI
- Augmenter le nombre de paramètres du modèle
G
- Collecter plus de données d'entraînement
45
Exercice
Supposons que nous ayons un modèle de classification binaire qui
prédit si un email
est du spam ou non. Lorsque nous évaluons la performance de ce
modèle, nous
pourrions calculer à la fois le rappel et la précision.
Imaginons que nous avons un ensemble de données contenant 100
emails, dont 20
sont du spam et 80 ne le sont pas. Nous appliquons notre modèle de
classification et
obtenons les résultats suivants :
● Vrais positifs (spam identifié comme spam) : 80
● Faux positifs (non-spam identifié comme spam) : 10
● Vrais négatifs (non-spam identifié comme non-spam) : 5
● Faux négatifs (spam identifié comme non-spam) : 5
Calculer l’accuracy, le recall, la précision et le F1 score. Interpréter le
résultat.
RA
RI
G
46
Correction
Accuracy = (Vrais positifs + Vrais négatifs) / Nombre total de messages =
(80 + 5) / 100 = 0,85
RA
RI
G
47
Interprétation des résultats
Recall = 0,94
🡺 le modèle est capable d'identifier 94% des messages de spam dans
l'ensemble de données
🡺 une faible probabilité de manquer des messages importants
L'accuracy = 0,85
🡺 indique que le modèle a correctement classé 85% des messages
🡺 le modèle a une bonne performance globale (attention mesure trompeuse)
La précision = 0,89
lorsque le modèle classe un message comme spam, il a 89% de chances
que ce message soit réellement du spam.
faible probabilité de classer à tort un message légitime comme spam.
Le F1 score = 0,91.
🡺 le modèle a un bon équilibre entre la capacité à identifier les
RA
messages de spam et la capacité à éviter de classer les messages légitimes
RI
comme spam.
G
48
Data Science Python Tools
Google collab
RA
RI
G
49
DATA SCIENCE PYTHON
LIBRARIES
RA
used for creating static,
Google that is used to build animated, and interactive neural networks, and to
RI
and train machine learning visualizations of data simplify the process of
G
model building and deploying
machine learning models
50
La bibliothèque scikit-learn
RA
RI
G
51
• Bibliothèque open source de calcul numérique et de deep learning
compatible avec le langage Python
• Permet de simplifier le processus d’acquisition de données,
d’entraînement des modèles de Machine Learning et de génération de
prédictions
• Le langage Python offre une API front-end pratique et confortable pour
créer des applications à l’aide de ce framework.
• TenforFlow intègre Keras, une API de deep learning de haut niveau
qui permet de créer des réseaux de neurones en quelques lignes de
code avant de les entrainer et les déployer via TensorFlow
RA
RI
• Permet de créer des "layers " pour les RNA à architectures complexes.
G
52
Activités 1 , 2 & 3
Objectifs :
1- préparation des données
2- Régression linéaire
3- classification multi-classes K-nn
Utilisation des librairies :
- pandas
- sklearn
- matplotlib
RA
RI
G
53
Réseaux de neurones
& Deep Learning
RNA ou ANN (Artificial Neural Network)
- un modèle de calcul
- conception schématiquement
inspirée du fonctionnement des
neurones biologiques.
- Il permet de réaliser des traitements
d’apprentissage automatique.
- Grande vitesse de traitement
RA
RI
G
54
Architecture des RNA
- Des blocs opérant en parallèle et organisés en couches
- Couche d’entrée : valeurs des attributs
- Chaque entrée à une couche est pondérée par un poids
- Couche sortie : fournit, grâce à une fonction particulière,
le résultat du modèle
- 1 ou plusieurs couches intermédiaires.
- La couche intermédiaire reçoit en entrée les données en
sortie de la couche précédente, qui ont subi des
transformations par l’application de fonctions
mathématiques appelées fonctions d’activation.
- La taille de la couche sortie dépend du résultat objectif
RA
RI
G
55
Exemples
de RNA
RA
RI
G
56
Exemples de
Fonctions d’activation
Rôle Fonction Calcul valeur
Inter-couche ReLU F(x)= max(x, 0) 0 ou x
Classification Binaire Sigmoid [0, 1 ]
Regression logistique
Multi-classes Softmax
RA
RI
G
Fonction ReLU Fonction Sigmoïde Fonction Softmax Fonction Tanh
57
Principe de
L’apprentissage dans un RNA
RA
RI
G
58
Réseaux Récurrents
RNN (feedback network)
RA
RI
G
59
Lexique
Apprentissage
(Hyperparamètres / paramètres )
RA
MSE (mean square error)
RI
G
60
Deep Learning
et ses applications
Domaine Exemple
Vision par ordinateur détection d'objets, la segmentation d'images,
classification, génération d'images surveillance
vidéo, diagnostic médical, robotique
Traitement langage naturel traduction automatique, reconnaissance
vocale, génération de texte, traitement du
langage naturel (analyse de sentiments,
chatbots, résumés automatiques, etc.
Jeux StarCraft, AlphaStar, jeu d’échecs
Finance et éconimie prévision des marchés financiers, analyse de
données financières, détection de fraude,
évaluation des risques,
RA
Robotique contrôle des robots, manipulation d'objets,
RI
navigation autonome, etc.
G
61
CNN : Convolutional
Neural Network
- Très performant pour la classification d’images
- Comporte 2 parties :
• Des couches qui permettent d’extraire les caractéristiques
des images (couches de convolution et de pooling)
• Des couches de classification (fully connected neurones)
RA
RI
G
62
Implémentation d’un CNN
Construisons un modèle CNN avec Tensorflow
Objectif
Créer un modèle CNN pour classifier des images.
Dataset utilisée
MNSIT Fashion de keras contient plus de 70000 images en niveau de gris
Librairies
numpy , tensorflow , matplotlib, tensorflow.keras, pandas, sklearn, seaborn
RA
RI
G
63
Description des données
Dimension : 28x28,
Niveau de Gris
10 étiquettes :
0 – T-shirt/haut
1 – Pantalon
2 – Pullover
3 – Robe
RA
4 – Manteau
RI
G
5 – Sandale
6 – Chemise 64
Etapes de Conception d’un
modèle de classification CNN
1- Import des librairies
2- Import / ouverture dataset
3- préparation des données (normalisation, redimensionnement,…)
4- Diviser les données en 2 ensembles : Train et Test
5- Création des couches du modèle
6- Choix des paramètres, hyperparamètres et compilation du modèle
7- phase d’apprentissage
8- Evaluation des performances du modèle
9- Appliquer le modèle sur un jeu de données
RA
RI
G
65
explication instruction python
fonction sur les tableaux import numpy as np
import du framework tensorflow import tensorflow as tf
afficher graphiques, courbes,… import matplotlib.pyplot as plt
import des couches et différents from tensorflow.keras.layers import Dense, Conv2D, Input,
éléments d’un modèle Flatten, Dropout, MaxPooling2D
import composante model from tensorflow.keras.models import Model
opérations sur les dataset… import pandas as pd
éléments évaluation modèle from sklearn.metrics import classification_report,confusion_matrix
arrêt de l’app si convergence from tensorflow.keras.callbacks import EarlyStopping
Affichage graphique élaborés import seaborn as sns
import du dataset mnist fashion dataset_fashion_mnsit = tf.keras.datasets.fashion_mnist
séparation jeu train/test (X_train, y_train), (X_test, y_test)=dataset_fashion_mnsit.load_data()
compter le nombre d’étiquettes pd.DataFrame(y_train)[0].value_counts()
normalisation des tensor [0,1] X_train = X_train / 255
X_test = X_test / 255
afficher dimension tensor print(f"Données entrainement: {X_train.shape}, Test: {X_test.shape}")
afficher la première image plt.imshow(X_train[0])
et son étiquette y_train[0]
ajouter 1 dimension pour couleur X_train = X_train.reshape(60000, 28, 28, 1)
RA
X_test = X_test.reshape(10000, 28, 28, 1)
RI
"""création du modèle""" mon_cnn = tf.keras.Sequential()
G
66
explication instruction python
3 couches de convolution, avec Nb mon_cnn.add(Conv2D(filters=32, kernel_size=(3,3),
filtres progressif 32, 64 puis 128 input_shape=(28, 28, 1), activation='relu'))
mon_cnn.add(MaxPooling2D(pool_size=(2, 2)))
mon_cnn.add(Conv2D(filters=64, kernel_size=(3,3),
input_shape=(28, 28, 1), activation='relu'))
mon_cnn.add(MaxPooling2D(pool_size=(2, 2)))
mon_cnn.add(Conv2D(filters=64, kernel_size=(3,3),
input_shape=(28, 28, 1), activation='relu'))
mon_cnn.add(MaxPooling2D(pool_size=(2, 2)))
remise à plat mon_cnn.add(Flatten())
Couche dense classique ANN mon_cnn.add(Dense(512, activation='relu'))
Couche de sortie (classes de 0 à 9) mon_cnn.add(Dense(10, activation='softmax'))
meilleur nombres de epochs early_stop = EarlyStopping(monitor='val_loss',patience=2)
compiler le model mon_cnn.compile(optimizer='adam',
loss='sparse_categorical_crossentropy', metrics=['accuracy'])
afficher résumé model mon_cnn.summary()
"""train model""« mon_cnn.fit(x=X_train, y=y_train, validation_data=(X_test, y_test),
epochs=25,callbacks=[early_stop])
Evaluation du modèle losses = pd.DataFrame(mon_cnn.history.history)
Affichage courbe accuracy et Loss losses[['accuracy', 'val_accuracy']].plot()
losses[['loss', 'val_loss']].plot()
Prédiction^pour X_test pred=np.argmax(mon_cnn.predict( X_test ) , axis=-1)
"""Matrice de Confusion graphique""« plt.figure(figsize=(6,4))
RA
sns.heatmap(confusion_matrix(y_test, pred),annot=True)
RI
Matrice confusion textuelle cm=confusion_matrix(y_test, pred)
G
print(cm)
Classification Report print(classification_report(y_test, pred))
67
Feuille de route ML
RA
RI
G
68
Techniques d'amélioration des
performances du modèle
🡺 Réglage des hyperparamètres du modèle (gridsearch)
🡺 Validation croisée pour l'évaluation du modèle (K-fold)
🡺 Techniques de régularisation pour éviter overfitting (earlystop)
RA
RI
G
69
Apprentissage non supervisé
Pas d’étiquettes pour les observations 🡺 apprentissage non supervisé
Rôle du modèle : analyser et comprendre la structure des données
RA
Règles d'association : trouver des liaisons
RI
entre les observations et/ou les attributs
G
70
Clustering
Basée sur 2 notions :
• Calcul de distances
• Regroupement selon un critère de similarité ou désimilarité
RA
sur la densité
RI
G
71
K-means, K-means++,
K-médoides, Fuzzy C-means
Répartir chacun des N individus dans une certaine classe i en
minimisant la variance intra-classe données par une fonction objectif
🡺 Somme distances entre centre d’une classe et chaque membre
RA
optimal
RI
G
72
DBSCAN
DBSCAN : Density-Based Spatial Clustering of Applications with Noise.
– Catégorisation basée sur la densité
– Rechercher les zones se caractérisant par une grande
densité de données.
– Separation des classes de haute densité de ceux ayant une faible
densité.
– Se base sur deux paramètres "eps" et "MinPts"
RA
RI
G
73
Activité 5 : clustering
K-means
On désire réaliser une catégorisation des individus de la base
"pima-indians-diabetes.csv" par l’algorithme k-means.
1- Préparation des données
Pour pouvoir afficher les individus dans un plan (2D), avec les classes
d’appartenance on fera les restrictions suivantes :
Pour la description des individus, on se restreindra à deux attributs.
Pour le nombre des individus, on se restreindra à 100 individus.
a- Construire le nouvel ensemble de données (100 individus et 2 attributs).
b- Effectuer la normalisation des donnés afin que valeurs des deux attributs
soient dans un intervalle [0-1].
c- Afficher dans un graphe les individus tel que le premier attribut représente
les abscisses et le deuxième attribut représente les ordonnés.
RA
2- Catégorisation : Effectuer la catégorisation par la méthode des k-moyennes
RI
puis afficher le résultat de la catégorisation pour des valeurs de k =2, 3 et 4.
G
3- Conclure.
74
Activité 6 : clustering CAH
Effectuer la catégorisation automatique d’un ensemble de fromages (CAH).
1- Importer les données à partir du fichier "fromage.txt".
2- Afficher la dimension de l’ensemble de données et en déduire le nombre des
variables utilisées.
3- Afficher les noms de ces variables.
4- Déterminer l’intervalle de variation de chacune des variables.
5- Changer l’échelle des données pour les ramener dans intervalle [0-1].
6- Afficher le dendrogramme correspond
a- Utiliser la distance euclidienne et tester plusieurs critères d’agrégation :
"indice de Ward", "le lien minimum", "le lien maximum" et "le lien moyen".
b- Analyser les dendrogrammes obtenus en identifiant, pour chacun des
critères, le meilleur choix du nombre de classes k.
RA
7- Effectuer la catégorisation avec CAH et visualiser les résultats obtenus et ce
en utilisant : Variables : 1er et 2ème attributs, Distance : euclidienne,
RI
G
agrégation : "l’indice de Ward", "le lien maximum" et "le lien moyen".
75
Réduction de dimensionnalité
C’est Quoi?
• Réduire le nombre de variables en conservant au mieux leur structuration initiale et leur
organisation globale.
• Permet d’améliorer la lisibilité des données.
Comment ?
• Choisir un sous ensemble de variables parmi les variables de départ
• Créer des nouvelles variables combinaisons linéaires des variables de départ
Méthodes
• L’analyse en composantes principales (ACP)
- Adaptée à des observations décrites par des variables quantitatives.
- Trois variantes : ACP générale, ACP centrée, ACP normée
• L’analyse des correspondances binaires (AFCB) ou multiples (ACM)
- Adaptée à des observations décrites par des variables nominales (à modalités).
• L’analyse factorielle discriminante (AFD),
- Adaptée à des observations décrites par des variables quantitatives et appartenant à
RA
plusieurs classes.
RI
G
76
ACP : Analyse en
Composantes Principales
C’est Quoi ?
L’ACP permet de réduire les dimensions d’une donnée multivariée à
deux ou trois composantes principales, qui peuvent être visualisées
graphiquement (2D ou 3D), en perdant le moins possible d’information.
Comment ?
1. Normalisation des variables
🡺 Centrer et réduire les données.
2. Trouver les nouvelles variables
🡺 Calculer les composantes principales
3. Décrire les données d’origine en utilisant les nouvelles variables
RA
RI
G
77
ACP avec
from sklearn import decomposition
pca = decompo sition.PCA()
pca.fit(X_CR) #déterminer les nouveaux axes,
# X_CR are inputs after being centered and scaled
#afficher les inerties expliquées pour les différents nouveaux axes
print(pca.explained_variance_ratio_)
Un vecteur qui contient les inerties
RA
RI
G
78
Activité 7 ACP
Soit la base "IRIS" du package sklearn.datasets. La base contient des fleurs
de type Iris appartenant à trois classes différentes (Setosa, Versicolour et
Virginica).
1- Importer les données à partir de la base "IRIS".
2- Afficher la dimension de l’ensemble de données et en déduire le nombre
des variables utilisées.
3- Afficher les noms de ces variables.
4- Centrer et réduire les données : normaliser les valeurs des variables pour
qu’elles suivent une loi normale de moyenne 0 et de variance 1.
5- Effectuer l’analyse en composantes principales (ACP).
6- Projeter les données sur les nouveaux axes.
7- Afficher les inerties expliquées. En déduire le nombre approprié de
composantes principales qu’on doit considérer.
RA
RI
8- Afficher les données en considérant 3 composantes principales, puis 2
G
composantes principales. Conclure.
79
Règles d’association
– Utiliser dans le cadre de la fouille de données (data Mining)
– Permet de dégager les implications conditionnelles entre un ensemble de
variables appelées items
– Permet de découvrir des relations, corrélations, ou structures
causales entre deux ou plusieurs variables à partir d’un entrepôt de données
(BD, fichier, …)
Exemples d’application
– L’analyse des données de ventes dans un supermarché
• Une règle découverte pourrait indiquer qu'un client achetant des oignons et
des pommes de terre simultanément, serait susceptible d'acheter un
hamburger.
• Une telle information peut être utilisée pour prendre des décisions
marketing
🡺 des promotions ou des emplacements bien choisis pour les produits
associés
– L’analyse des logs web sur un serveur web
RA
• Permet de découvrir de comportements utilisateur (web usage mining) dans
le but d’adapter ou de personnaliser le site ou de découvrir des
RI
G
comportements types sur certains sites (E-commerce par exemple)
80
Processus de découverte
des règles d’associations
2 étapes :
1. L’extraction des ensembles fréquents d’items (Itemsets fréquents)
= Ceux qui ont un support minimum (supérieur à un seuil)
2. La génération des règles d’associations à partir de ces ensembles
Sous la forme : Antécédent 🡺 Conséquent
Définitions
– Items : Un domaine d’application donné doit être décrit par une liste
limitée d’atomes (items).
Par exemple, pour l’application du panier de ménagère la liste des
items correspond à l’ensemble d’articles disponibles dans le
supermarché [pain; fromage; chocolat; …].
RA
– Itemset : Un ensemble d’items : c’est une succession d’items.
RI
G
81
Règles d’association
RA
RI
G
82
Règles d’association
RA
RI
G
83
Règles d’association
RA
RI
G
84
Règles d’association
RA
RI
G
85
Règles d’association
RA
RI
G
86
FIN
87