Vous êtes sur la page 1sur 5

Les 3 étapes essentielles de l’apprentissage automatique

(Machine Learning)

L’apprentissage automatique (Machine Learning) est utilisé en intelligence artificielle et en science et


analyse des données (Analytics and Data Science).

Il existe différents types d’apprentissage automatique : le supervisé, le non-supervisé et celui par


renforcement.

Apprentissage supervisé : pour cet apprentissage, nous avons des données en entrée (Features) et
le résultat attendu (Label). Il nous permet de faire des prédictions basées sur un modèle* qui est
obtenu à partir de données d’historique et de l’algorithme choisi.

L’apprentissage supervisé tente de répondre à deux questions :

Classification : « quelle classe ?";

Régression : « combien ? ».

Apprentissage non-supervisé : avec cet apprentissage, vous avez toujours des features, mais pas
de label, car nous n’essayons pas de prédire quoi que ce soit.

À partir des données historiques que nous avons, nous essayons de voir ce que nous pouvons
apprendre des données, sans oublier de valider les conclusions obtenues avec des experts en la
matière.

Ce type d’apprentissage automatique sert généralement à découvrir des structures et des modèles
dans les données. Il peut également être utilisé pour l’ingénierie des caractéristiques (Feature
engineering) lors du processus de préparation des données pour l’apprentissage supervisé (nous y
reviendrons plus tard).
Apprentissage par renforcement : avec ce type d’apprentissage, vous commencez avec un agent
(algorithme) qui doit choisir parmi une liste d’actions. Ensuite, en fonction de l’action choisie, il recevra
un retour de l’environnement (provenant d’un humain dans certaines situations ou d’un autre
algorithme) : c’est soit une récompense pour un bon choix, soit une pénalité pour une mauvaise
action. L’agent (l’algorithme) apprend quelle stratégie (ou choix d’actions) maximise le cumul de
récompenses.

Ce type d’apprentissage est souvent utilisé dans le cadre de la robotique, de la théorie des jeux et des
véhicules autonomes.

Les principales étapes sont :

La préparation des données


Récolte des données : tout d’abord, rassemblez les données dont vous aurez besoin pour
l’apprentissage automatique. Veillez à les rassembler sous une forme consolidée, afin qu’elles
soient toutes contenues dans un seul tableau (Flat Table).

Réconciliation (Data Wrangling) : il s’agit de préparer les données afin de les rendre exploitables
par les algorithmes d’apprentissage automatique.

Nettoyage des données : trouvez les « Null », les valeurs manquantes et les données
dupliquées. Il faut remplacer les « Null » et les valeurs manquantes par d’autres valeurs
(ou les supprimer) et s’assurer de ne pas avoir de doublons.

Décomposition des données : les colonnes de texte contiennent parfois plus d’une
information ; nous devons donc les diviser en autant de colonnes dédiées que
nécessaire. Si certaines colonnes représentent des catégories, convertissez-les en
colonnes de type catégorie.

Agrégation de données : regroupez certaines informations ensemble quand c’est


pertinent

Mise à l’échelle (Data Scaling) : cela permettra d’obtenir des données à une échelle
commune, si ce n’est déjà le cas. La mise à l’échelle des données ne s’applique pas au
label ou aux colonnes de catégories. Elle est nécessaire lorsqu’il y a une grande
variation dans les plages de features.

Mise en forme et transformation (Data Shaping & Transformation) : de catégoriel à


numérique.

Enrichissement des données : parfois, vous devrez enrichir les données existantes par des
données externes afin de donner à l’algorithme plus d’informations avec lesquelles travailler, ce
qui améliore le modèle (par exemple, des données économiques ou météorologiques).

L’ingénierie des caractéristiques (Feature Engineering)


Visualisez vos données dans leur ensemble pour voir s’il existe des liens entre les colonnes. En
utilisant des graphiques (Charts), vous pouvez voir les caractéristiques/features côte à côte et
détecter tout lien entre les features, et entre les features et les labels.

Les liens entre les features nous permettent de voir si une feature donnée est


directement dépendante d’une autre. Si c’est le cas, il se peut que vous n’ayez pas
besoin des deux features.

Les liens entre une feature et le label nous permettent de voir si une feature aura un fort


effet sur le résultat.

Parfois, vous devrez générer des features supplémentaires à partir de celles qui existent déjà dans
une classification (par exemple, lorsque l’algorithme choisi est incapable de différencier
correctement les classes).

Vous pouvez vous retrouver avec un nombre énorme de colonnes. Dans ce cas, vous devez
choisir les colonnes que vous utiliserez comme features, mais si vous avez des milliers de
colonnes (c’est-à-dire des features potentielles), vous devrez appliquer une réduction
dimensionnelle. Il existe plusieurs techniques pour ce faire, notamment l’analyse en composantes
principales ou ACP (Principal Component Analysis, PCA en anglais). L’ACP est un algorithme
d’apprentissage non-supervisé qui utilise les colonnes existantes pour générer de nouvelles
colonnes, appelées composantes principales, qui peuvent être utilisées ultérieurement par
l’algorithme de classification.

Le choix d’algorithme
À cette étape, on peut commencer à entraîner les algorithmes, mais avant tout :

Divisez votre ensemble de données en trois parties : entraînement, test et validation.


Les données d’entraînement serviront à entraîner le ou les algorithmes choisis ;

Les données de test seront utilisées pour vérifier la performance du résultat ;

Les données de validation ne seront utilisées qu’à la toute fin du processus et ne


seront, sauf nécessité, que très rarement examinées et utilisées avant afin d’éviter
d’introduire un quelconque biais dans le résultat.

Choisissez le ou les algorithmes pertinents.


Essayez les algorithmes avec différentes combinaisons de paramètres et comparez les
performances de leurs résultats.

Utilisez la procédure des hyperparamètres (Grid-Search en Python, par exemple) pour essayer de
nombreuses combinaisons, et trouver celle qui donne le meilleur résultat (n’essayez pas de
combinaisons manuelles).

Dès que vous êtes raisonnablement satisfait d’un modèle, sauvegardez-le même s’il n’est pas
parfait, car vous risquez de ne plus jamais retrouver la combinaison qui vous a permis de l’obtenir.

Continuer les essais après chaque nouveau modèle. Si les résultats ne sont pas satisfaisants,
vous pouvez recommencer :

Au stade des hyperparamètres, si vous avez de la chance.

Il est également possible de devoir recommencer à partir du choix de features à inclure


ou même revoir l’état de nos données (vérifiez s’il n’y a pas de problèmes de
normalisation, de régularisation, d’échelle, de valeurs aberrantes…).

Lorsqu’on embarque dans un processus d’apprentissage automatique, il est important de garder à


l’esprit qu’il se peut que nos données ne nous permettent peut-être pas d’arriver à un meilleur résultat
que celui que nous obtenons déjà avec nos méthodes classiques déjà en place. Mais cela nous
révèle assurément des informations intéressantes lors du processus d’analyse de données.

(*) Modèle : le résultat obtenu en analysant les données avec un algorithme et toute combinaison
donnée de paramètres, en supposant que le modèle est une fonction mathématique y = f(x), où x est
la feature, y est le label et f(x) le modèle.

Vous aimerez peut-être aussi