1. Difference entre .fit vs .transform
Lors de l’entraînement d’un modèle de machine learning, le modèle doit être d’abord ajusté (fit) aux données d’entraînement (X_train). Ensuite, ce modèle ajusté est utilisé pour transformer (transform) les données d’entraînement et les données de validation (X_valid). Cependant, il est important de ne pas réentrainer (fit) le modèle aux données de validation, car cela pourrait entraîner une fuite de données et altérer les résultats d’évaluation.
Le modèle mentionné dans l’exemple peut être un codage "OneHotEncoding" ou un régressseur logistique, mais il peut être n’importe quel autre modèle de machine learning en fonction des besoins et des données.
2. Fuite des données
La fuite de données se produit lorsque des informations du jeu de données de test sont accidentellement introduites dans le modèle lors de son entraînement. Cela peut se produire si le jeu de données de test n’est pas correctement séparé du jeu de données d’entraînement et que des informations provenant du jeu de données de test sont utilisées pour entraîner le modèle, ce qui peut donner l’impression d’une performance plus élevée du modèle que ce n’est réellement le cas.
Pour éviter la fuite de données, il est important de séparer correctement les données d’entraînement et de test en utilisant des méthodes telles que la stratification ou la répartition aléatoire, et de ne pas effectuer de transformations sur les données de test qui sont basées sur les informations provenant des données d’entraînement. Il est également important de faire attention aux pipelines de prétraitement et de veiller à ce que les transformations soient effectuées uniquement sur les données d’entraînement et non sur les données de test.
3. Transformation de variable avec le logarithme
L’application du logarithme peut être utilisée pour transformer une variable qui a une distribution exponentielle ou qui est fortement skewed (asymétrique) dans le but de l’ajuster à une distribution normale.
Lorsqu’une variable est transformée avec un logarithme, le modèle de prédiction peut être entraîné sur la variable transformée, ce qui peut entraîner des résultats de prédiction plus précis en raison de la distribution normalisée des données. Une fois que les prédictions ont été effectuées, il peut être nécessaire de retirer le logarithme pour obtenir des prédictions dans la plage d’origine de la variable. Cela peut être accompli en utilisant l’opération exponentielle (exp).
En résumé, l’application du logarithme, la prédiction avec un modèle de machine learning et le retrait du logarithme sont une technique courante pour ajuster les données pour la modélisation en machine learning.
4. Contrat de maintenance ML
Le contrat de maintenance du modèle et le calendrier de ré-entraînement font référence à la gestion continue d’un modèle d’apprentissage automatique après son déploiement.
Voici quelques étapes pour déterminer un contrat de maintenance du modèle et définir un calendrier de ré-entraînement :
Identifier les métriques de performance du modèle : Déterminer les métriques de performance importantes pour que le modèle atteigne ses objectifs et fixer des seuils pour celles-ci.
Mettre en place des outils de surveillance : Utiliser des outils de surveillance pour suivre la performance du modèle en temps réel et identifier tout problème ou anomalie.
Établir un protocole de gestion des problèmes : Déterminer qui est responsable de la résolution des problèmes lorsqu’ils surviennent et établir un protocole pour les gérer.
Définir un calendrier de ré-entraînement : Décider d’un calendrier pour ré-entraîner régulièrement le modèle afin de garantir qu’il reste à jour avec les nouvelles données et continue de bien fonctionner.
Identifier les critères de ré-entraînement : Déterminer les critères pour savoir quand le modèle doit être ré-entraîné, comme lorsque sa performance tombe en dessous d’un certain seuil ou lorsque de nouvelles données sont disponibles.
Développer un plan de versionnage : Développer un plan de versionnage du modèle pour pouvoir suivre facilement les changements au fil du temps et comparer différentes versions.
Voici quelques ressources qui peuvent être utiles pour approfondir l’étude de la maintenance et du ré-entraînement de modèles :
"Continuous Delivery for Machine Learning" de Martin Fowler
"Machine Learning Operations : A Step-by-Step Guide to Creating and Deploying ML Pipelines" de Mark Treveil
Cours "Machine Learning Engineering" d’Andrew Ng sur Coursera