Le data leakage, également appelé fuite de données, est un phénomène préoccupant qui peut mettre en danger la sécurité de votre entreprise. Découvrez comment protéger vos données sensibles contre les fuites et les attaques informatiques.
La fuite de données est un des points de vigilance les plus importants lors de la conception d’un modèle prédictif. La création d’un modèle prédictif découle d’un besoin opérationnel, on cherche alors à créer un outil de prédiction pour répondre aux attentes métiers. Performance et transparence sont les mots d’ordre d’un bon modèle prédictif.
La mesure de performance est une étape indispensable du développement d’un modèle, car elle est au cœur de la problématique de modélisation prédictive. Elle nous assure l’exploitabilité de l’outil en garantissant sa robustesse, car elle nous permet d’évaluer le caractère opérationnel des modèles. En effet, plus un modèle est performant plus il est fiable et donc utilisable. Pour évaluer ses performances, on mesure à l’aide de métriques la qualité de la prédiction en confrontant les valeurs prédites aux valeurs réelles.
Durant l’étape de conception, nous avons à disposition un certain volume de données. Ces données doivent nous permettre à la fois d’entraîner et de tester les performances de notre modèle. Afin d’obtenir une mesure précise des performances, il est indispensable de disposer d’une quantité suffisante de données sur lesquelles le modèle va être testé. Ces données ne doivent pas être connues par le modèle et il ne doit donc en aucun cas s’entraîner sur celles-ci.
Pour que cette étape se passe au mieux il faut être très rigoureux dans l’étape de préparation des données. Dès le départ du projet, il faut veiller à ce qu’une partie des données soit mise de côté. Si ce n’est pas bien le cas, des données non destinées à l’entraînement pourraient fuiter et participer à l’entraînement du modèle. Cela biaiserait alors les résultats du modèle lors de son évaluation. C’est ce que l’on appelle le Data Leakage en Machine Learning.
Dans cet article, nous nous intéresserons en premier lieu aux indicateurs qui nous aident à repérer ce phénomène. Puis dans un second temps, nous verrons quelles sont les précautions à prendre pour éviter la fuite de données.
Comment puis-je savoir qu’il y a eu une fuite de données ?
Un très bon indicateur est une performance de modèle anormalement élevée. Obtenir un score très élevé pour un modèle qui prédit par exemple la souscription d’un client ou encore des pronostics sportifs devrait nous donner la puce à l’oreille. En effet, sur des problématiques comme celles-ci, il est pratiquement impossible d’obtenir des scores très élevés, car la part de hasard dans la réalisation d’un événement est très importante. Il faut donc prendre du recul sur les résultats obtenus et prendre soin de vérifier comment en est-on arrivé à ce score.
Quelles sont les précautions à prendre ?
On appelle technique de train-test split (dite aussi hold-out), le fait de diviser l’ensemble des données à disposition en deux parties : une partie dédiée à l’entraînement et une autre dédiée à l’évaluation. Ce n’est qu’à l’issue de l’entraînement du modèle que l’on pourra consulter les données de test, avant cette étape, elles devront avoir été soigneusement mises de côté.
Comme précisé précédemment c’est seulement après avoir réalisé cette étape cruciale de séparation des données, que l’on peut procéder à la préparation des données (phase de preprocessing). Lors de cette étape, on décide des traitements qui vont être appliqués à nos variables avant d’entraîner l’algorithme choisi.
Mais pourquoi ne peut-on pas utiliser toutes les données ?
Pour mieux comprendre comment cela se traduit, étudions ensemble la phase d’imputation des valeurs manquantes. Imaginons que l’on souhaite imputer toutes les valeurs manquantes d’une variable par sa médiane. Si on calcule la médiane sur l’ensemble des données (jeu d’entraînement et de test confondus), alors la valeur de la médiane sera différente de celle qui est calculée uniquement sur le jeu d’entraînement. Il y aura alors fuite de données car l’indicateur de position contient des informations contenues dans le jeu de test. Cet exemple s’étend bien sûr à toutes les étapes de preprocessing qui précèdent l’entraînement du modèle : imputation des valeurs manquantes, traitement des valeurs extrêmes, normalisation, etc.
Cette précaution est bien évidemment aussi à prendre lorsque l’on applique la technique de cross-validation. Les sets de validation doivent être mis de côté pour rester inconnus du modèle.
Conclusion
La performance est déterminée en grande partie par la qualité des données, il faut donc veiller à ce qu’elles soient préparées avant d’entraîner le modèle. Néanmoins cette étape est délicate car elle est propice à la fuite de données. Une grande rigueur doit être adoptée pour garantir qu’aucune information contenue dans le jeu de test ne serve à l’entraînement du modèle. Ce n’est que comme cela que nous pourrons nous assurer des réelles performances d’un modèle. Si vous souhaitez en découvrir davantage sur la prédiction de modèles, n’hésitez pas à lire notre article sur le Data drift et ses conséquences.