Vous êtes sur la page 1sur 90

Modèles Machine Learning et leurs Déploiement

 Développer des modèles ML pour résoudre des


problématiques réelles
 Valider, tester ses solutions
 Prétraiter les données observées
 Déployer ses solutions
 Prendre conscience des bonnes pratiques en sécurité et
confidentialité des données.

o.banouar@uca.ac.ma
1.1 Qu’est-ce que l’apprentissage automatique ?

« L’apprentissage automatique (en anglais machine learning, littéralement « apprentissage machine »),
apprentissage artificiel ou apprentissage statistique est un champ d’étude de l’intelligence artificielle

• se fonde sur des approches mathématiques et statistiques pour donner aux ordinateurs la capacité d’
« apprendre » à partir de données, c’est-à-dire d’améliorer leurs performances à résoudre des
tâches sans être explicitement programmés pour chacune.
• Plus largement, il concerne la conception, l’analyse, l’optimisation, le développement et
l’implémentation de telles méthodes.
• On parle d’apprentissage statistique car l’apprentissage consiste à créer un modèle dont l’erreur
statistique moyenne est la plus faible possible. »

L’objectif du cours est de donner un sens à cette définition : que signifie « apprendre » à partir de
données, ou « ne pas être explicitement programmé » pour résoudre une tâche ?
1.1 Qu’est-ce que l’apprentissage automatique ?

1.Intelligence Artificielle (IA) : englobe un large éventail de


techniques visant à simuler des capacités humaines telles que
la perception, la compréhension du langage, la prise de
décision, etc. Cela comprend des méthodes telles que les
systèmes experts, la logique floue, les réseaux neuronaux, et
bien d'autres.
2.Apprentissage Automatique (Machine Learning) :
L'apprentissage automatique est une approche de l'intelligence
artificielle qui permet aux ordinateurs d'apprendre à partir de
données sans être explicitement programmés.
Les algorithmes de machine learning identifient des modèles
et des structures dans les données, ce qui leur permet de
réaliser des prédictions ou de prendre des décisions basées sur
ces modèles.
1.1 Qu’est-ce que l’apprentissage automatique ?
3.Deep Learning (Apprentissage Profond) : une sous-
catégorie du machine learning qui utilise des réseaux de
neurones artificiels composés de plusieurs couches pour
apprendre des représentations de données de plus en plus
abstraites. Ces réseaux de neurones profonds sont capables
d'apprendre des modèles complexes à partir de données non
structurées ou peu structurées, comme des images, du texte
ou du son..
4.IA Générative (Generative AI) : se concentre sur la
création de modèles capables de générer de nouvelles
données réalistes. Cela peut inclure la génération de textes,
d'images, de musique, etc. Les réseaux génératifs, tels que les
générateurs adverses (GAN) et les réseaux de flux, sont des
exemples de techniques utilisées en IA générative. Ces
modèles sont souvent utilisés dans des applications telles que
la création d'art, la génération de contenu créatif, la
simulation, etc.
1.1 Qu’est-ce que l’apprentissage automatique ?

L'Intelligence Artificielle est-elle intelligente ?

Conscience Intelligence
augmentée
1.2 L’apprentissage automatique et les données ?

• Les algorithmes de l’apprentissage automatique sont basés sur des données.


• On parle aussi d’échantillons (samples), d’observations, ou d’exemples.

• Deux grandes familles de jeux de données peuvent être utilisées :


 les données étiquetées : chaque observation xn est fournie avec une étiquette (label) yn ;
 les données non-étiquetées : comme le nom l’indique, aucune étiquette n’est fournie.
1.3 L’apprentissage automatique et ses types ?

Les principales catégories sont:


•Apprentissage supervisé
•(modèle prédictif, données « étiquetées »)
• classification (Régression Logistique, Arbre de
Décision, KNN, Random Forest, SVM, Naive
Bayes, etc.)
• prédiction numérique (Régression Linéaire, KNN,
Gradient Boosting & AdaBoost, etc.)
1.3 L’apprentissage automatique et ses types

•Apprentissage non supervisé


•(modèle descriptif, données « non étiquetées »)
• clustering (K-Means)
• découverte de modèles

•Apprentissage semi-supervisé
• (mélange de données « étiquetées » et « non étiquetées
»).
1.3 L’apprentissage automatique et ses types

•Apprentissage par renforcement .


•la machine est entraînée à prendre des décisions
spécifiques.
•Cela fonctionne de cette façon :
•la machine est exposée à un environnement dans lequel
elle s'entraîne continuellement par essais et erreurs.
•Cette machine apprend de l’expérience passée et tente de
capturer les meilleures connaissances possibles pour
prendre des décisions commerciales précises.
•Exemple d'apprentissage par renforcement : processus de
décision de Markov.
1.4 L’apprentissage automatique et ses types

Les algorithmes d'apprentissage supervisé


• sont un sous-ensemble de la famille des algorithmes d'apprentissage automatique qui sont
principalement utilisés en modélisation prédictive .
• Un modèle prédictif est essentiellement un modèle construit à partir d'un algorithme
d'apprentissage automatique et de caractéristiques ou d'attributs de données d'entraînement
permettant de prédire une valeur en utilisant les autres valeurs obtenues à partir des données
d'entrée.
• Les algorithmes d'apprentissage supervisé tentent de modéliser les relations et les dépendances
entre le résultat de la prédiction cible et les caractéristiques d'entrée de manière à ce que nous
puissions prédire les valeurs de sortie des nouvelles données en fonction des relations apprises
des ensembles de données précédents.
1.4 L’apprentissage automatique et ses types
•Algorithmes de classification :
 créent des modèles prédictifs à partir de données d'entraînement comportant des caractéristiques
et des étiquettes de classe.
 Ces modèles prédictifs utilisent à leur tour les fonctionnalités tirées des données d'entraînement
sur de nouvelles données inédites pour prédire leurs étiquettes de classe .
 Les classes de sortie sont discrètes.
 Les types d'algorithmes de classification incluent les arbres de décision , les forêts
aléatoires , les machines à vecteurs de support et bien d'autres.

•Algorithmes de régression :
 sont utilisés pour prédire les valeurs de sortie en fonction de certaines caractéristiques d'entrée
obtenues à partir des données.
 Pour ce faire, l'algorithme construit un modèle basé sur les caractéristiques et les valeurs de
sortie des données d'entraînement et ce modèle est utilisé pour prédire les valeurs des nouvelles
données .
 Les valeurs de sortie dans ce cas sont continues et non discrètes.
 Les types d'algorithmes de régression incluent la régression linéaire , la régression
multivariée , les arbres de régression et la régression lasso , entre autres.
1.4 L’apprentissage automatique et ses types
1.4 L’apprentissage automatique et ses types

Les algorithmes d'apprentissage non supervisé

• constituent la famille d'algorithmes d'apprentissage automatique qui sont principalement utilisés


dans la détection de modèles et la modélisation descriptive .
• il n’existe pas ici de catégories de sortie ou d’étiquettes sur la base desquelles l’algorithme peut
tenter de modéliser les relations.
• Ces algorithmes tentent d'utiliser des techniques sur les données d'entrée pour extraire des
règles , détecter des modèles , résumer et regrouper les points de données , ce qui aide à obtenir
des informations significatives et à mieux décrire les données aux utilisateurs.

• Les principaux types d’algorithmes d’apprentissage non supervisé comprennent :


1.4 L’apprentissage automatique et ses types
•Algorithmes de clustering :
 regrouper les points de données d'entrée en différentes catégories en utilisant uniquement les
caractéristiques dérivées des données d'entrée et aucune autre information externe.
 Contrairement à la classification, les étiquettes de sortie ne sont pas connues au préalable
dans le clustering.
 Il existe différentes approches pour créer des modèles de clustering, par exemple en
utilisant des moyens , des médoïdes , des hiérarchies et bien d'autres. Certains algorithmes de
clustering populaires incluent k-means , k-medoids et le clustering hiérarchique .

•Algorithmes d'apprentissage de règles d'association:


 extraire des règles et des modèles à partir d'ensembles de données.
 Ces règles expliquent les relations entre les différentes variables et attributs,
et décrivent également les ensembles d'éléments et les modèles fréquents qui se produisent
dans les données.
 Ces règles aident à leur tour à découvrir des informations utiles pour toute entreprise ou
organisation à partir de leurs énormes référentiels de données. Les algorithmes populaires
incluent Apriori et FP Growth .
1.4 L’apprentissage automatique et ses types
•Algorithmes de clustering :
 regrouper les points de données d'entrée en différentes catégories en utilisant uniquement les
caractéristiques dérivées des données d'entrée et aucune autre information externe.
 Contrairement à la classification, les étiquettes de sortie ne sont pas connues au préalable
dans le clustering.
 Il existe différentes approches pour créer des modèles de clustering, par exemple en
utilisant des moyens , des médoïdes , des hiérarchies et bien d'autres. Certains algorithmes de
clustering populaires incluent k-means , k-medoids et le clustering hiérarchique .

•Algorithmes d'apprentissage de règles d'association:


 extraire des règles et des modèles à partir d'ensembles de données.
 Ces règles expliquent les relations entre les différentes variables et attributs,
et décrivent également les ensembles d'éléments et les modèles fréquents qui se produisent
dans les données.
 Ces règles aident à leur tour à découvrir des informations utiles pour toute entreprise ou
organisation à partir de leurs énormes référentiels de données. Les algorithmes populaires
incluent Apriori et FP Growth .
1.4 L’apprentissage automatique et ses types
1.4 L’apprentissage automatique et ses types

Apprentissage semi-supervisé

 Dans les deux types précédents, soit il n'y a pas d'étiquettes pour toutes les observations de
l'ensemble de données, soit des étiquettes sont présentes pour toutes les observations.
 L’apprentissage semi-supervisé se situe entre ces deux. Dans de nombreuses situations
pratiques, le coût de l’étiquetage est assez élevé, car cela nécessite des experts humains
qualifiés.
 Ainsi, en l’absence d’étiquettes dans la majorité des observations mais présentes dans
quelques-unes, les algorithmes semi-supervisés sont les meilleurs candidats pour la
construction de modèles.
 Ces méthodes exploitent l’idée que même si les appartenances aux groupes des données non
étiquetées sont inconnues, ces données contiennent des informations importantes sur les
paramètres du groupe.
1.4 L’apprentissage automatique et ses types

Apprentissage par renforcement


 vise à utiliser les observations recueillies lors de l'interaction avec l'environnement pour
prendre des mesures qui maximiseraient la récompense ou minimiseraient le risque.
 L’algorithme d’apprentissage par renforcement (appelé agent) apprend continuellement de
l’environnement de manière itérative. Ce faisant, l’agent apprend de ses expériences de
l’environnement jusqu’à explorer toute la gamme des états possibles.
 Afin de produire des programmes intelligents (aussi appelés agents), l’apprentissage par
renforcement passe par les étapes suivantes :
• L’état d’entrée est observé par l’agent.
• La fonction de prise de décision est utilisée pour amener l’agent à effectuer une action.
• Une fois l’action effectuée, l’agent reçoit une récompense ou un renforcement de
l’environnement.
• Les informations sur la paire état-action concernant la récompense sont stockées.

Certaines applications des algorithmes d'apprentissage par renforcement sont les jeux de
société joués sur ordinateur (échecs, go), les mains robotiques et les voitures autonomes.
1.5 END-TO-END ML projects workflow
1.5 END-TO-END ML projects workflow

1.Collecte de Données : Acquisition de données pertinentes pour l'entraînement et l'évaluation du


modèle.
2.Exploration et Prétraitement des Données : Analyse exploratoire des données pour comprendre
leur structure et leur qualité, suivi du nettoyage, de la normalisation et de la transformation des données
en un format approprié pour l'entraînement du modèle.
3.Choix du Modèle et Entraînement : Sélection d'un algorithme de machine learning approprié et
entraînement du modèle sur les données d'entraînement.
4.Évaluation et Validation du Modèle : Évaluation de la performance du modèle sur des données de
validation ou de test pour estimer sa précision et son efficacité.
5.Optimisation et Réglage du Modèle : Ajustement des hyperparamètres et des paramètres du modèle
pour améliorer sa performance.
6.Déploiement et Maintenance du Modèle : Intégration du modèle dans un environnement de
production pour effectuer des prédictions en temps réel, suivi de la maintenance continue pour assurer
sa performance et son efficacité à long terme.
1.6 Déploiement des modèles

Les algorithmes de machine learning sont de plus en plus complexes, et les recherches en
intelligence artificielle (IA) n’arrêtent pas de proposer de nouvelles variantes.
Par ailleurs, le marché demande des solutions de plus en plus robustes et
performantes.

Comment pouvoir mettre en place, ces solutions de manière performante?


1.6 Déploiement des modèles
1.6 Déploiement des modèles

Choisir entre on-premise ou multi-cloud


Première question à se poser quand il s’agit de déployer une solution : quel type de
solution voulez-vous mettre en place ? On-premise ou cloud (avec toutes ses variantes)
?
Les applications on-premise:
• sont installées dans les différents serveurs et dispositifs de l’entreprise, c’est-à-dire
en local.
• cela permet d’avoir un accès physique et un contrôle direct et total sur les données.
• ce type de solution ne dépend pas directement d’une connexion à internet.
• Pour ce type d’application, vous aurez à acheter une licence une seule fois, dont le
prix variera en fonction de la taille de votre entreprise, le nombre d’utilisateurs, etc.
• Concernant la sécurité, vos données ne seront pas protégées si les serveurs locaux
ont un problème.
1.6 Déploiement des modèles

Les applications en cloud:


• vous aurez une capacité de calcul et de stockage importante sans avoir besoin
d’installer quoi que ce soit en local avec très peu d’investissement initial.
• De plus, vous pouvez choisir un cloud hybride (public/privé) et profiter d’un
ensemble d’avantages : flexibilité d’options, sécurité par rapport aux données
critiques, scalabilité de l’infrastructure en espace, mémoire et vitesse de calcul et
des coûts réduits.
• Quand il s’agit de déployer un algorithme, n’oubliez pas que dans un
système cloud, l’algorithme est prêt à s’intégrer et à fonctionner sur votre
plateforme. Vous pourrez alors obtenir des résultats très rapidement, alors que dans
une installation locale vous aurez sans doute à gérer les configurations de chaque
poste sur lequel vous voudrez lancer votre algorithme.
1.6 Déploiement des modèles

Les applications en cloud:


• À la complexité liée au choix de l’infrastructure s’ajoute la difficulté à choisir et
maîtriser les frameworks de data science qui doivent s’intégrer à ces infrastructures.
Vous devrez faire face à des problèmes d’incompatibilité, de difficulté de traçabilité
et de versioning. Gardez en tête qu’un framework pour la data science doit respecter
un ensemble de caractéristiques, entre autres : portabilité, prise en main facile ainsi
qu’une compatibilité avec les différents systèmes de cloud.
1.6 Déploiement des modèles Les types du cloud
SAAS(Software as a Service)
SaaS est l’acronyme pour Sofware as a Service. Le mode Saas est
un mode d’utilisation d’une solution logicielle qui se fait en utilisant
l’application à distance qui est hébergée par l’éditeur.

La solution logicielle étant utilisée, le plus souvent, à partir d’un


simple navigateur Internet, elle permet à l’entreprise d’être dégagée
de toute contrainte d’installation, de mise à jour ou de maintenance
technique. Elle permet également d’être utilisée par les
collaborateurs en situation de mobilité.
La mise à disposition d’une solution SaaS peut être facturée par
abonnement ou proportionnellement à l’usage et peut parfois
comporter des frais de personnalisation et de mise à disposition du
service.

Dans le domaine du webmarketing, les plateformes de gestion des


campagnes email, les outils de web analytique et les serveurs
publicitaires sont généralement proposés en mode Saas.
1.6 Déploiement des modèles

Les types du cloud

SAAS(Software as a Service)

Avantage : plus d’installation, plus de mise à jour (elles sont


continues chez le fournisseur), plus de migration de données etc.
Paiement à l’usage. Test de nouveaux logiciels avec facilité.

Inconvénient : limitation par définition au logiciel proposé. Pas


de contrôle sur le stockage et la sécurisation des données
associées au logiciel. Réactivité des applications Web pas toujours
idéale.
1.6 Déploiement des modèles
Les types du cloud
PAAS(Plateform as a Service)

Il s’agit des plateformes du nuage, regroupant principalement les


serveurs mutualisés et leurs systèmes d’exploitation. En plus de
pouvoir délivrer des logiciels en mode SaaS, le PaaS dispose
d’environnements spécialisés au développement comprenant les
langages, les outils et les modules nécessaires.

Ces environnements sont hébergés par un prestataire basé


à l’extérieur de l’entreprise ce qui permet de ne disposer d’aucune
infrastructure et de personnel de maintenance et donc de pouvoir
se consacrer au développement.
1.6 Déploiement des modèles
Les types du cloud
PAAS(Plateform as a Service)

Avantage : le déploiement est automatique, pas de logiciel


supplémentaire à acheter ou à installer.

Inconvénient : limitation à une ou deux technologies (ex. :


Python ou Java pour Google AppEngine, .NET pour Microsoft
Azure, propriétaire pour force.com).
Pas de contrôle des machines virtuelles sous jacentes.
Convient uniquement aux applications Web.
Les cibles sont les développeurs.

Google App Engine est le principal acteur proposant ce genre


d’infrastructures.
1.6 Déploiement des modèles
Les types du cloud

IAAS(Infrastructure as a Service)
Il s’agit de la mise à disposition, à la demande, des ressources
d’infrastructures dont la plus grande partie est localisée à distance
dans des Datacenters.
L’IaaS permet l’accès aux serveurs et à leurs configurations pour
les administrateurs de l’entreprise. Le client à la possibilité de louer
des clusters, de la mémoire ou du stockage de données. Le coût est
directement lié au taux d’occupation.
1.6 Déploiement des modèles
Les types du cloud
Avantage : grande flexibilité, contrôle total des systèmes
(administration à distance par SSH ou Remote Desktop, RDP), qui
permet d’installer tout type de logiciel métier.

Inconvénient : besoin d’administrateurs système comme pour les


solutions de serveurs classiques sur site.
Pas de format std. pour les machines.
Temps et difficulté pour créer une VM

Les cibles sont les responsables d’infrastructures informatiques.


Amazon EC2 est le principal qui propose ce genre d’infrastructures.
OpenStack est un exemple d’infrastructure.
1.6 Déploiement des modèles

Les architectures du cloud

Le Cloud Privé
• Le Cloud privé est prévu pour offrir aux entreprises, des services qui leur permettront de mieux
maitriser leurs ressources informatiques.
• L’entreprise peut gérer son infrastructure en solitaire, au rythme de ses besoins, ou passer par la
mutualisation.
• Ce type de stockage est considéré:
- comme l’installation d’un réseau informatique propriétaire.
- un centre de données qui fournit des services hébergés pour un certain nombre d’usagers. Il leur
délivre des accès, particulièrement favorables pour leurs applications hébergées.
On distingue les Cloud privés internes, utilisés par une entreprise pour satisfaire ses propres besoins.
Ils sont administrés en interne par l’entreprise même. Il y a aussi les Cloud privés externes, destinés à
satisfaire les besoins propres d’une entreprise cliente. Leurs gestions sont confiées à un prestataire
extérieur. On parle alors de gestion externalisée. Dans ce cas, une partie de ses services externalisés,
est prise en charge par un prestataire de confiance.
1.6 Déploiement des modèles
Les architectures du cloud

Une stratégie de cloud privé peut comprendre du matériel hébergé localement dans une installation
appartenant à l’entreprise, ou il peut être hébergé par un fournisseur de services de cloud.

Les cloud privés virtuels sont généralement payés sur une base continue.

Le matériel et les configurations de stockage fournis permettent de conserver les avantages d'un
réseau exclusif et sécurisé.
1.6 Déploiement des modèles
Les architectures du cloud

Le Cloud Public
• Les ressources sont fournies par un prestataire et mutualisées pour un usage partagé par plusieurs
clients.
• L’infrastructure est mise à la disposition du grand public (c’est-a-dire de plusieurs entreprises)
mais elle appartient à un fournisseur de services informatiques, le niveau de service étant défini
par le fournisseur et identique pour tous les utilisateurs.

Les exemples les plus évidents de Cloud computing ont tendance à tomber sous le modèle de Cloud
public, car ils sont, par définition, accessibles au public.

Les offres de Software as a Service (SaaS), comme le stockage Cloud et les applications office en
ligne, sont peut-être les plus connues, mais les offres largement disponibles d’Infrastructure as a
Service (IaaS) et de Platform as a Service (PaaS), qui incluent de l’hébergement web et des
environnements de développement basés sur le Cloud, peuvent également correspondre à ce
modèle. (bien que toutes puissent exister au sein de Clouds privés).
Les architectures du cloud

Le Cloud Public

Les Clouds publics sont largement utilisés dans les offres adressées au grand public, moins susceptibles
d’avoir besoin de l’infrastructure et de la sécurité de Clouds privés.

Toutefois, les entreprises peuvent toujours avoir recours au Cloud public pour rendre leurs opérations
plus efficaces, par exemple pour le stockage de contenu non-sensible, la collaboration avec des
documents en ligne et la messagerie web.

31/03/ 3
2023 6
Les architectures du cloud 1.6 Déploiement des modèles

Le Cloud Hybride

Un Cloud hybride est un service Cloud intégré utilisant à la fois des Clouds privés et des Clouds
publics pour remplir différentes fonctions au sein d’une même organisation.

Si tous les types de services Cloud sont sensés offrir un certain niveau d’efficacité, à des degrés
divers, les services de Cloud public sont susceptibles d’être plus avantageux au niveau des coûts et
plus évolutifs que des Clouds privés.

C’est pourquoi une organisation peut maximiser son efficacité en utilisant des services de Cloud
public pour ses opérations non sensibles, et s’appuyer en revanche sur un Cloud privé lorsqu’elle en a
besoin, faisant en sorte que toutes ses plateformes soient intégrées harmonieusement.
Conteneurisation vs Virtualisation

• La virtualisation demande la mise en • La conteneurisation, se contente


place d’une machine virtuelle par d’exécuter des conteneurs, beaucoup
contexte d’exécution, faisant alors plus légers en termes de poids (de
tourner plusieurs machines virtuelles l’ordre du Mo) et de performance : ils
sur un même OS. sont donc beaucoup plus scalables.
Pourquoi utiliser des conteneurs ?

- A différence des machines virtuelles, qui permettent une virtualisation de


l’infrastructure, les conteneurs font de même avec les applications. De plus, ils
utilisent le même système d’exploitation que la machine sur laquelle ils sont
déployés.
-Étant donné qu’ils n’incluent pas un système d’exploitation, les conteneurs
d’applications contiennent les ressources minimales, rapides et faciles à installer,
nécessaires au bon fonctionnement d’une application pour faciliter son utilisation aux
administrateurs et développeurs, en simplifiant aussi bien l’installation que le
déploiement.
- Il y a plusieurs avantages à l’utilisation des conteneurs. Nous pouvons citer :
• La gestion et l’automatisation de tâches deviennent plus efficaces.
• L’indépendance de la plateforme.
• La vitesse d’exécution par rapport à une virtualisation.
• L’indépendance des conteneurs.
Notre programme:

• Introduction à l’apprentissage automatique (concepts de base, types, applications


courantes)
• Prétraitement des données et Analyse exploratoire multidimensionnelle.
• Métriques d’évaluation des modèles (métriques, validation croisée, surajustement, sous-
ajustement)
• Modèles supervisé (régression linéaire, logistique, arbre de décision, SVM, ANN
• Modèles non-supervisé (Clustering (Kmeans), Clustering hiérarchique)
• NLP (Tokenisation et lemmatisation, modèle)
• Déploiement des modèles (Docker, API, CI/CD)
• mini-projet pratique (Développement d’un modèle et son déploiement) (4h)

Validation:
- Test écrit
- Compte rendu mini-projet pratique
• Collecte et préparation des données
• Activités de nettoyage, de transformation, d’augmentation /réduction et d’échantillonnage des
données.
• Activité d’identification des attributs des données les plus pertinents.
• Séparation des données en deux sous-ensembles : données d’entraînement, et données de test.
Préparation des données

1.Exploration des données :


1. Cette étape implique l'analyse initiale des données disponibles pour en comprendre la structure,
les caractéristiques et les tendances. Cela peut inclure des statistiques descriptives telles que la
moyenne, la médiane, l'écart-type, etc.
2. L'exploration des données peut également impliquer la visualisation des données à l'aide de
graphiques, de diagrammes et de tableaux de bord interactifs pour identifier des schémas, des
anomalies ou des relations entre les variables.
2.Nettoyage des données :
1. Le nettoyage des données consiste à identifier et à corriger les erreurs, les valeurs manquantes
et les incohérences dans l'ensemble de données. Cela peut impliquer la suppression des valeurs
aberrantes, l'imputation des valeurs manquantes, la normalisation des données, etc.
2. Les techniques de nettoyage des données peuvent varier en fonction du type de données et des
problèmes spécifiques rencontrés dans l'ensemble de données.
Préparation des données

3.Transformation des données :


1. La transformation des données implique souvent la conversion des données brutes en un format
plus approprié pour l'entraînement des modèles. Cela peut inclure la conversion des données
catégorielles en données numériques, l'encodage des variables catégorielles, la création de
nouvelles caractéristiques à partir des caractéristiques existantes, etc.
2. Cette étape peut également impliquer la réduction de la dimensionnalité des données à l'aide de
techniques telles que l'analyse en composantes principales (PCA) ou d'autres méthodes de
sélection ou d'extraction de caractéristiques.
3. Cette étape peut également impliquer l’augmentation des données pour augmenter la taille et la
diversité (équilibrage) de l'ensemble de données d'entraînement.

4.Préparation des données pour l'entraînement : les données sont préparées dans un format adapté à
l'entraînement des modèles. Cela implique généralement de diviser l'ensemble de données en ensembles
de données d'entraînement, de validation et de test, et éventuellement de normaliser ou de mettre à
l'échelle les données en fonction des besoins spécifiques du modèle.
Préparation des données
Qu’est ce qu’une donnée manquante?

Les algorithmes de Machine Learning prennent les données d’entrée (input Data) sous forme
matricielle, chaque ligne est une observation, et chaque colonne représente une caractéristique
(feature) de l’individu (son salaire, appartenance politique etc…).

On dit qu’une observation (ligne de la matrice de données) comporte une donnée manquante s’il existe
une feature pour laquelle sa valeur n’est pas renseignée. Evidemment, on peut avoir plusieurs données
manquantes pour une même observation.
Préparation des données

Les différents patterns d’absence de données

Les données manquantes sont un problème qui se manifeste non seulement en Data Science mais
également en modélisation statistique.

Toutefois, la préoccupation reste la même. A savoir, comment traiter ces données manquantes de façon à
remplir les données non renseignées et ce, sans altérer significativement le jeu de données initial.

La difficulté pour traiter les données manquantes réside dans les hypothèses que nous nous faisant à
l’égard des patterns d’absence de données.

========== >Trois patterns de données manquantes


Préparation des données

Les différents patterns d’absence de données

• Les données Missing Completely At Random (MCAR)


Quand la valeur d’une variable explicative (feature) X est manquante, on dit que cette feature
est MCAR (Missing Completly At Random) si et seulement si la probabilité que la valeur soit
manquante est indépendant des valeurs prises par les autres variables explicatives de
l’observation, qu’elles soient manquantes ou non.

Exemple: Prénom et Sexe vs Prénom et salaire


Préparation des données

Les différents patterns d’absence de données

• Missing At Random (MAR)


On dit que les données manquantes d’une feature X sont Missing At Random (MAR) si et seulement
si, la probabilité qu’une valeur X soit manquante est corrélée à l’existence de variables
explicatives dont les valeurs sont renseignées. Par contre cette probabilité n’est pas corrélée à
l’absence de valeurs de variables explicatives.
Préparation des données

Les différents patterns d’absence de données

• Not Missing At Random (NMAR)


La probabilité qu’une valeur d’une variable explicative soit manquante ou pas, ne dépend que d’elle
même et n’est corrélée avec aucune des valeurs des autres variables explicatives.
En d’autre terme, il existe un pattern qui motive l’absence d’une valeur.

A titre d’exemple, imaginons qu’on fait un sondage sur une population et qu’on demande leur salaire
mensuelle. On pourra remarquer que plus le montant du salaire augmente, plus cette information est
absente. On peut supposer que les gens les plus fortunés ne souhaitent pas divulguer le montant de
leurs revenus.

Les données NMAR sont les plus délicates à traiter car l’absence d’une donnée est motivée par une
cause que nous avons interêt à comprendre pour mieux traiter ces données absentes. On dit qu’il s’agit
d’un pattern d’absence de données non ignorable.
Préparation des données

Les différents patterns d’absence de données

• Quand une hypothèse MCAR ou MAR est remplie, on dit que le pattern d’absence de données
est ignorable. En d’autre mots, il n’y a pas besoin de modéliser le comportement régissant
l’absence de données pour une feature X car il est aléatoire.

• Par ailleurs, quand les données ne sont ni MCAR ni MAR on dit que le pattern d’absence de
données n’est pas ignorable. Ainsi, il faut modéliser le comportement d’absence de données pour
mieux traiter ces données manquantes. Par ailleurs, modéliser un comportement d’absence de
données requiert une compréhension profonde du sens métier des données qu’on manipule.

• En réalité, savoir le pattern d’absence de données se fait avant tout par hypothèse. Il n’existe pas
de règle universelle pour dire si une donnée manquante est une MCAR, MAR ou NMAR. Il est
toujours important d’observer et comprendre le jeu de données pour décider quelle approche à
utiliser pour traiter ces données manquantes.
Préparation des données

Méthodes pour traiter les données manquantes

• Traiter les données manquantes revient à “réparer” le jeu de données pour qu’il puisse être
utilisable par les algorithmes de Machine Learning. La réparation d’un jeu de données peut
prendre plusieurs formes : Comme supprimer les donner manquantes ou les remplacer par des
valeurs artificielles (on parle d’imputation).
Préparation des données

Méthodes pour traiter les données manquantes


Suppression des observations (Complete case Analysis)

Il s’agit de la technique la plus simple et courante. Elle consiste à supprimer les observations (les
lignes) qui contiennent au moins une feature manquante. C’est le comportement par défaut.

Le problème de cette technique est qu’on peut être amené à supprimer un grand nombre
d’observations. En effet, imaginons qu’on manipule un jeu de données de 1000 observations, et
chaque observation est définie par 20 caractéristiques (features). Si chaque feature de notre jeu de
données comporte 5% de valeurs manquantes, on devra supprimer 640 observations pour que notre
jeu de données ne contiennent aucune valeur manquante. Ainsi notre jeu de données après traitement
avec cette méthode ne comportera que 360 observations !
Préparation des données

Méthodes pour traiter les données manquantes

Imputation de données
L’imputation de données manquante réfère au fait qu’on remplace les valeurs manquantes dans le
jeu de données par des valeurs artificielles. Idéalement, ces remplacements ne doivent pas conduire
à une altération sensible de la distribution et la composition du jeu de données.

Imputation par règle


Si on connait le sens métier de la donnée manquante et la règle métier la régissant, on peut faire une
imputation par règle. Il s’agit tout simplement d’appliquer un algorithme définissant les règles métier
pour mettre telle ou telle valeur en fonction des paramètres de l’algorithme.
Par exemple, si on a une variable âge et une autre représentant le fait qu’un individu soit majeur ou
non (valeur vrai ou faux), on peut appliquer un algorithme qui remplira la variable majeur par vrai ou
faux en fonction de l’âge (si l’âge est plus grand que 18 alors il/elle est majeur(e) sinon on mets
faux).
Préparation des données
Méthodes pour traiter les données manquantes
Imputation par moyenne ou mode
Une autre façon intuitive d’imputer les valeurs manquantes d’une feature numérique est d’utiliser par la moyenne
des observations. Pour les données qualitatives, on peut remplacer les valeurs manquantes de chaque feature par
le mode de cette variable explicative.
Toutefois, l’imputation par moyenne est sujette à des limitations et il faut l’utiliser avec précaution. En effet, cette
méthode peut sensiblement modifier le jeu de données. Ceci est principalement à cause de la moyenne qui est très
sensible aux valeurs aberrantes.

Imputation par régression


Supposons qu’on estime un modèle de régression avec plusieurs variables explicatives. L’une d’entre elles, la
variable X, comporte des valeurs manquantes. Dans ce cas on peut sélectionner les autres variables explicatives
(autre que X) et calculer un modèle prédictif avec comme variable à prédire X. Ensuite on applique ce modèle pour
estimer les différentes valeurs manquantes de X.
Préparation des données
Exploration des données et visualisation

L’exploration des données univariée correspond à deux niveaux:


1. Les métriques statistiques et de qualité
2. La visualisation de la data
3. Détection des facteurs les plus contribuant dans la data dans l’objectif de réduction de données.

Mesures statistiques: moyenne, médiane et quantiles


Mesures de qualité: variance, écart-type, écart interquartile

Comment visualiser des données avec plusieurs features?


Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle

Analyse de données = a,alyse fonctionnele


Réduction du nombres de variables explicatives (X) avant modélisation
Obtention de nouvelles variables explicatives (CPN) non corrélées

- Visualisation des données


- Réduction de dimensionnalité avant clustering (malédiction de la dimensionnalité)
- Analyse des corrélation
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle

Analyse en Composante Principale (ACP)


1. Définitions, applications et objectifs de l'ACP
2. Notion de covariance et ACP non-normée
3. Notion de corrélation et ACP normée
4. Meccanique de l'ACP à partir d'un exemple à deux variables
5. Application à partir d'un exemple concret (les forêts françaises)
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales

Notion de projection
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales

Notion de centrage
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Covariance et ACP non-normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Covariance et ACP non-normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Covariance et ACP non-normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Corrélation et ACP normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Corrélation et ACP normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales

- ACP non-normée ou normée?


Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales

- ACP non-normée ou normée?


Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales

- Etapes de l’ACP non-normée


Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales

- Etapes de l’ACP non-normée


Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Etapes de l’ACP non-normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Etapes de l’ACP non-normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Etapes de l’ACP non-normée

Une solution possible est


que les deux vecteurs sont
des vecteurs unitaires.

Matrice d’observation *
Vecteur-propre
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Etapes de l’ACP normée
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales
- Etapes de l’ACP normée

Une solution possible est


que les deux vecteurs sont
des vecteurs unitaires.
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: ACP Analyse en
composantes principales

- Combien de composantes principales à retenir?


Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: AFC Analyse factorielle
Des correspondance

• Un tableau de contingence, également appelé tableau croisé est une représentation tabulaire de la
distribution conjointe de deux ou plusieurs variables catégorielles.

Considérons le tableau de contingence suivant


représentant les préférences alimentaires de personnes en
fonction de deux types de nourriture : "fruits" et
"légumes" :

Standardisation du tableau de contingence :


1. Convertissons les fréquences observées en pourcentages par rapport au total du tableau.
2. Les nouvelles valeurs du tableau standardisé sont :
Préparation des données
Réduction de dimensionnalité en utilisant l’analyse fonctionnelle: AFC Analyse factorielle
Des correspondance

1.Calcul de la matrice de covariance :


1. Nous calculons d'abord la matrice de covariance des
variables (colonnes) du tableau de contingence
standardisé.
2.Calcul des valeurs propres et vecteurs propres :
1. Ensuite, nous calculons les valeurs propres (λ) et les
vecteurs propres (v) de la matrice de covariance.
ACP non 2. Les valeurs propres représentent la quantité de variance
normée expliquée par chaque axe, tandis que les vecteurs
propres représentent la direction de chaque axe dans
l'espace des variables originales.
3.Interprétation des résultats :
1. Nous interprétons les axes principaux en examinant les
valeurs propres. Les axes avec les valeurs propres les
plus élevées expliquent le plus de variation dans les
données.
Préparation des données

Oversampling Vs Undersampling

Le déséquilibre de classes peut entraîner des modèles de classification biaisés qui prédisent généralement
la classe majoritaire, ignorant ainsi la classe minoritaire.
L'oversampling est une technique de prétraitement des données utilisée en apprentissage automatique
pour traiter les problèmes de déséquilibre de classes dans les ensembles de données. Cette technique est
particulièrement utile dans les tâches de classification où une classe est sous-représentée par rapport aux
autres classes.

• Réplication aléatoire (Random Oversampling) : Cette méthode consiste à répliquer aléatoirement


des échantillons de la classe minoritaire jusqu'à ce que le nombre d'échantillons de cette classe
atteigne un niveau souhaité. Cela peut conduire à un surapprentissage si la classe minoritaire est trop
représentée.
• Synthèse de minorités (SMOTE - Synthetic Minority Over-sampling Technique) : Cette méthode
consiste à générer de nouveaux échantillons synthétiques pour la classe minoritaire en interpolant
linéairement les échantillons existants. SMOTE tente de créer des échantillons qui sont des
combinaisons linéaires des échantillons minoritaires existants, ce qui peut aider à éviter le
surapprentissage.
Préparation des données

Oversampling Vs Undersampling

• ADASYN (Adaptive Synthetic Sampling) : Cette méthode est une extension de SMOTE qui
adapte le taux de génération de nouveaux échantillons en fonction de la densité locale des
échantillons minoritaires. Elle génère plus d'échantillons dans les régions où la densité des
échantillons minoritaires est faible et moins d'échantillons dans les régions où la densité est élevée.
• SMOTE-ENN (SMOTE + ENN) : Cette méthode combine SMOTE avec l'algorithme de
nettoyage de l'espace sous-échantillonné (ENN) pour supprimer les échantillons indésirables
générés par SMOTE qui sont mal classés par un classificateur de k plus proches voisins.
Préparation des données

Oversampling Vs Undersampling

L'undersampling est une technique de prétraitement des données utilisée en apprentissage


automatique pour traiter les problèmes de déséquilibre de classes dans les ensembles de données.
Contrairement à l'oversampling qui augmente artificiellement le nombre d'échantillons de la classe
minoritaire, l'undersampling consiste à réduire le nombre d'échantillons de la classe majoritaire afin
d'équilibrer les classes.

L'undersampling est souvent utilisé lorsque l'oversampling n'est pas réalisable en raison de contraintes
de ressources.

• Sous-échantillonnage aléatoire (Random Undersampling) : Cette méthode consiste à


supprimer aléatoirement des échantillons de la classe majoritaire jusqu'à ce que le nombre
d'échantillons de cette classe atteigne un niveau souhaité. Cela peut conduire à une perte
d'informations si des échantillons importants sont supprimés.
Préparation des données

Oversampling Vs Undersampling

• Near Miss : Cette méthode sélectionne les échantillons de la classe majoritaire qui sont les plus
proches des échantillons de la classe minoritaire. Elle vise à éliminer les échantillons redondants de la
classe majoritaire qui peuvent être plus faciles à classer correctement.
• Condensed Nearest Neighbor (CNN) : Cette méthode consiste à conserver uniquement les
échantillons de la classe majoritaire qui ne peuvent pas être correctement classés par un classificateur
de k plus proches voisins en utilisant les échantillons de la classe minoritaire comme référence.
• ENN (Edited Nearest Neighbors) : Cette méthode supprime les échantillons de la classe majoritaire
qui sont mal classés par un classificateur de k plus proches voisins en utilisant les échantillons de la
classe minoritaire comme référence.
• Entraînement Processus d’application de l’algorithme ML à l’ensemble de données
d’apprentissage pour créer un modèle ML.
• Evaluation Processus de comparaison des mesures de performance aux critères requis et/ou à ceux
d’autres modèles.
• Ajustement Processus permettant de déterminer les hyperparamètres optimaux en fonction
d’objectifs de performances.
Validation et évaluation du modèle
•Test fractionné:
• Dans un test fractionné, l'ensemble de données est divisé en deux parties, l'une est l' ensemble
d'entraînement et l'autre est l'ensemble de données de test .
• Une fois les données divisées, l'algorithme utilisera l'ensemble d'entraînement et un modèle est
créé.
• La précision d'un modèle est testée à l'aide de l'ensemble de données de test.
• Le rapport de division de l'ensemble de données en formation et en test peut être décidé en fonction
de la taille de l'ensemble de données.
• C'est rapide et efficace lorsque l'ensemble de données est de grande taille ou que l'ensemble de
données est cher. Cela peut produire des résultats différents sur la façon dont l'ensemble de données
est divisé en ensemble de données de formation et de test. Si l'ensemble de données est divisé en
80 % comme ensemble d'entraînement et 20 % comme ensemble de tests, 60 % comme ensemble
d'entraînement et 40 %, les deux généreront des résultats différents.
• Nous pouvons opter pour plusieurs tests fractionnés, où l'ensemble de données est divisé en
différents ratios et le résultat est trouvé et comparé pour son exactitude.
Validation et évaluation du modèle

•Validation croisée (K-fold validation)

Division des données : Tout d'abord, les données sont divisées en k ensembles (ou plis) de taille
égale (ou presque). Typiquement, k est choisi entre 5 et 10, mais cela peut varier en fonction de
la taille du jeu de données.
Boucle de validation : Ensuite, le modèle est entraîné k fois. À chaque itération, un pli est
retenu comme ensemble de test et les k-1 plis restants sont utilisés comme ensemble
d'apprentissage.
Évaluation du modèle : Le modèle est entraîné sur l'ensemble d'apprentissage et évalué sur
l'ensemble de test retenu. Les métriques d'évaluation, telles que l'exactitude, la précision, le
rappel, le score F1, etc., sont calculées pour chaque itération.
Moyenne des performances : Les performances du modèle sont moyennées sur les k itérations
pour obtenir une estimation finale de ses performances. Cela permet d'obtenir une évaluation
plus fiable du modèle, en tenant compte de la variabilité des données.
Validation et évaluation du modèle

•Validation croisée (K-fold validation)

Division des données : Tout d'abord, les données sont divisées en k ensembles (ou plis) de taille
égale (ou presque). Typiquement, k est choisi entre 5 et 10, mais cela peut varier en fonction de
la taille du jeu de données.
Boucle de validation : Ensuite, le modèle est entraîné k fois. À chaque itération, un pli est
retenu comme ensemble de test et les k-1 plis restants sont utilisés comme ensemble
d'apprentissage.
Évaluation du modèle : Le modèle est entraîné sur l'ensemble d'apprentissage et évalué sur
l'ensemble de test retenu. Les métriques d'évaluation, telles que l'exactitude, la précision, le
rappel, le score F1, etc., sont calculées pour chaque itération.
Moyenne des performances : Les performances du modèle sont moyennées sur les k itérations
pour obtenir une estimation finale de ses performances. Cela permet d'obtenir une évaluation
plus fiable du modèle, en tenant compte de la variabilité des données.
Validation et évaluation du modèle

•Validation croisée (K-fold validation)

Division des données : Tout d'abord, les données sont divisées en k ensembles (ou plis) de taille
égale (ou presque). Typiquement, k est choisi entre 5 et 10, mais cela peut varier en fonction de
la taille du jeu de données.
Boucle de validation : Ensuite, le modèle est entraîné k fois. À chaque itération, un pli est
retenu comme ensemble de test et les k-1 plis restants sont utilisés comme ensemble
d'apprentissage.
Évaluation du modèle : Le modèle est entraîné sur l'ensemble d'apprentissage et évalué sur
l'ensemble de test retenu. Les métriques d'évaluation, telles que l'exactitude, la précision, le
rappel, le score F1, etc., sont calculées pour chaque itération.
Moyenne des performances : Les performances du modèle sont moyennées sur les k itérations
pour obtenir une estimation finale de ses performances. Cela permet d'obtenir une évaluation
plus fiable du modèle, en tenant compte de la variabilité des données.
-précision(ou valeur prédictive positive) est la
proportion des items pertinents parmi l'ensemble des
Validation et évaluation du modèle
items proposés ;
-rappel(ou sensibilité) est la proportion des items
pertinents proposés parmi l'ensemble des items
pertinents.

La précision = mesure de l'exactitude ou de la qualité,


Le rappel = une mesure de l'exhaustivité ou de
la quantité.
Validation et évaluation du modèle
Cas d’une classification binaire

La courbe ROC (Receiver Operating Characteristic) est


une courbe graphique qui illustre la performance d'un
modèle de classification binaire à différents seuils de
classification. Elle est largement utilisée en apprentissage
automatique pour évaluer la performance des modèles de
classification et pour sélectionner le seuil optimal de
classification.

Courbe ROC : La courbe ROC est tracée en reliant les points


(FPR, TPR) pour différents seuils de classification. Chaque
point de la courbe ROC correspond à un seuil de classification
spécifique. Plus la courbe ROC est proche du coin supérieur
gauche (0,1) de l'axe, meilleure est la performance du modèle.
Validation et évaluation du modèle

Modèles non supervisé

1.Inertie intra-classe : Mesure la cohésion des clusters. Plus l'inertie intra-classe est faible, plus les
points à l'intérieur de chaque cluster sont proches les uns des autres.
2.Inertie inter-classe : Mesure la séparation entre les clusters. Plus l'inertie inter-classe est élevée,
plus les clusters sont séparés les uns des autres.
3.Silhouette Score : Calcule la qualité globale des clusters en mesurant à quel point chaque point est
proche de son propre cluster par rapport aux autres clusters. Un score silhouette proche de 1 indique
des clusters bien séparés, -1 indique des clusters mal séparés et 0 indique un chevauchement de
clusters.
4.Davies-Bouldin Index : Calcule la similarité moyenne entre chaque cluster et son cluster le plus
proche. Un score plus faible indique des clusters meilleurs et plus cohérents.

Vous aimerez peut-être aussi