Comment évaluer et améliorer son modèle de Machine Learning

Marina Kia
Par 
Marina Kia
Responsable Contenu & Évènementiel
Dernière mise à jour le 
09
 
November
 
2023
Devenez Data Scientist et donnez un tournant décisif à votre carrière !
Découvrir notre formation
Comment évaluer et améliorer son modèle de Machine Learning
Sommaire

Une fois que vous avez construit votre modèle de Machine Learning, quelles sont les prochaines étapes ? Il va falloir l’évalue puis l’améliorer si ses performances ne sont pas bonnes. Une baseline vous permettra de démarrer cette analyse. Nous avons vu quelles sont les méthodes pour créer son modèle en Machine Learning, maintenant nous allons voir ensemble comment l'évaluer et l'améliorer !

Devenez Data Scientist et donnez un tournant décisif à votre carrière !
Découvrir notre formation
Formation IAFormation IA

Évaluer son modèle

Tout va partir de votre baseline !

Qu'est-ce qu'une baseline

Une baseline est un élément vous permettant de comparer votre modèle par rapport à autre chose.

Elle peut être de 2 types :
– Vous avez déjà construit un algorithme de Machine Learning, vous comparez alors les performances de celui-ci avec celles du nouvel algorithme que vous avez crée.
– Vous pouvez également comparer les performances de votre modèle avec les connaissances métier d’expert de votre entreprise. Un exemple : dans la métallurgie, vous souhaitez savoir si votre métal est de bonne ou mauvaise qualité. Vous pouvez demander à un expert son point de vue, il aura sans doute 90% de précision dans la prédiction qu’il va réaliser (bonne ou mauvaise qualité) . Cela donne également une baseline « à battre ».

Toujours éviter l'overfitting

Une deuxième chose à étudier dans l’évaluation de votre modèle, ou plutôt un élément à surtout éviter : l’overfitting.

Vous pouvez tout à fait avoir des modèles qui sont très bons dans la prédiction de jeux de données d’entraînement. Il est possible que les performances soient moins grandes dans le jeux de données de test. Cela veut dire que votre modèle a sur-appris (overfit). Prenant l’exemple parlant d’un élève qui révise ses leçons, et qui les apprend par coeur – lors de son entraînement –. Le jour de l’évaluation – du test – celui a 2/20.

Cela signifie qu’il bien trop appris la leçon dans le cadre de ce qui avait dans son cours, mais qu’il n’a pas réussi à généraliser sur d’autres exercices. Les modèles de Machine Learning sont pareils.

L’overfitting correspond à l’incapacité de votre modèle à généraliser sur des données de test, car elles ont appris par coeur sur des données d’entraînement.

Un de nos alumni, Adrien Dodinet explique d’ailleurs ce concept en image dans son projet Fullstack (construction d’une voiture autonome !) Vous ne pouvez alors pas vous fier aux performances de votre modèle pour le mettre en production et le mettre à échelle. Vous pouvez d'ailleurs retrouver les projets de nos alumni directement sur notre chaîne Youtube !

Comment savoir si mon modèle overtfit ?

Pour savoir cela, il vous faudra comparer les performances des prédictions de votre modèle sur des jeux de données d’entraînement et des jeux de données de test.

Si les performances sur les jeux d’entraînement sont largement supérieures à celle sur les données de test, vous avez overfitté. Si l’écart est faible, vous pouvez considérer qu’il n’y a pas eu d’overfitting.

Il reste donc primordial d’avoir une baseline (comparer les performances de votre modèles à autre chose) tout en faisant attention à ne pas avoir d’overfitting.

Une fois l’évaluation faite, il va falloir le réévaluer de manière périodique. Si votre modèle n’overfit pas et que vous avez décidé de le mettre en production, il va falloir l’évaluer périodiquement pour qu’il n’ait pas de baisse de performance avec le temps.

Pur un algorithme, voir ses performances baisser est structurel : beaucoup de facteurs peuvent ré-influencer le projet que vous menez, et que l’algorithme n’avait pas vu au moment de l’entraînement. Il vous faudra alors re-entraîner votre modèle avec des nouvelles données, pour l’améliorer.

Améliorer votre modèle

Si votre modèle n’est pas meilleur que votre baseline, il vous faudra améliorer votre modèle pour obtenir de meilleures performances. À cela 2 techniques :

- Le Feature Engineering : adapter vos données à votre algorithme
- Jouer sur la complexité de vos données

Feature Engineering

Une technique très utilisée qui améliore grandement les performances de votre modèle. Le Feature Engineering est le fait d’adapter vos données à votre algorithme. Un exemple mathématique. Vous faites un algorithme simple de régression linéaire (une droite qui doit passer au plus proche de tous vos points de données et qui permettra de réaliser vos prédictions). Or, la visualisation de vos données donne un nuage de points avec une représentation exponentielle, et non une droite. Elle ne correspond donc pas à la représentation graphique de la régression linéaire. Je vais donc appliquer la fonction inverse à la fonction exponentielle – la fonction logarithmique – pour lisser le nuage de données, pour qu’il s’adapte mieux à ma fonction de régression et la suive. Une fois votre prédiction réalisée, vous pouvez repasser à votre fonction exponentielle.

Le feature engineering : une technique très utilisée qui améliore grandement les performances de votre modèle.

L’idée est ainsi d’adapter vos données pour que votre algorithme les ingère mieux. Les gains de performances sont assez signifiants avec cette technique puisque vous avez à la fois un algorithme performant, et des données qui lui correspondent bien. Cette méthode requiert cependant des connaissance statistiques poussées. L’exemple ici cité est simple comparé à d’autres : vous pouvez faire des calculs beaucoup plus complexes. Des connaissances métiers sont donc importantes, ne serait-ce que sur le jeu de donnée traité (par exemple si vous travaillez sur une projet dans l’immobilier, la santé, la banque, le divertissement etc).

Jouer sur la complexité des algorithmes

Vous pouvez prendre des algorithmes plus complexes pour améliorer vos performances. Vous avons pris l’exemple de la régression linéaire qui est un des plus simples. Vous avez les arbres de décisions qui peuvent être beaucoup plus performants, ou encore bien au dessus, les réseaux de neurones.

Mais il ne suffit pas d’appliquer un algorithme plus puissant pour avoir de meilleures performances.

Un concept majeur en Data Science est la balance entre biais et la variance. Un algorithme à fort biais est un algorithme qui crée des modèles simples (la régression linéaire par exemple). Mais la réalité pouvant être trop simplifiée (par du Feature Engineering par exemple), vous pouvez omettre beaucoup de cas que l’algorithme ne prendra pas en compte dans son scénario. Vous allez donc choisir d’augmenter la complexité d’une algorithme (à forte variance). Si vous augmentez cette complexité, un réseau de neurones prendra en compte ces scénarios. En revanche, ce genre d’algorithmes plus complexes ont tendance à sur-apprendre (overfitté), à mal généralisé sur des données de test, car ils ont appris par coeur sur votre jeu de données d’entraînement.

Cette balance entre biais et variance est extrêmement importante. Si vous avez un modèle peu performant à un instant T, vous pouvez décider de complexifier votre modèle ce qui vous permettra d’augmenter ses performances : en revanche il vous fera faire attention à ce que ce modèle plus complexe n’overfit pas, en comparant vos scores sur jeux de données d’entraînement et de test.

Si vous souhaitez acquérir les compétences en Data recherchées des recruteurs, n'hésitez pas à regarder les formations Data que Jedha Bootcamp propose.

Soirée Portes Ouvertes Jedha BootcampSoirée Portes Ouvertes Jedha Bootcamp
Marina Kia
Marina Kia
Responsable Contenu & Évènementiel
Marina est une passionnée du monde de l'éducation. C'est pour cette raison qu'elle a rejoint Jedha pour animer notre communauté d'alumnis et créer du contenu destiné à aider nos élèves à concrétiser leur projet de reconversion professionnelle dans la Data et la Cybersécurité.

Articles recommandés

Intelligence Artificielle
Méthodes de Machine Learning | Jedha
Différentes méthodes de travail existent en Machine Learning, découvrez ce qu'est une méthode Machine Learning, et comment évaluer son modèle ML.
Intelligence Artificielle
Qu'est-ce que l'overfitting | Jedha
L'overfitting ? Le pire ennemi du Data Scientist ! Comment détecter ce problème et tenter de l'améliorer ? Les réponses et solutions dans cet article !
Intelligence Artificielle
La régression linéaire en Machine Learning | Jedha
La régression linéaire, un des algorithmes des plus utilisés et populaire en Data. Devenez un expert en régression linéaire grâce à nos formations en Machine Learning.
Analyse de donnees
Qu'est-ce que la Data Visualisation ou Dataviz ? | Jedha
Data Visualisation ou Dat Viz qu'est-ce que c'est ? Nous vous expliquons son mode de fonctionnement, son utilité, des exemples d'applications et les différents outils de data visualisation.
Intelligence Artificielle
La vraie différence entre Machine Learning & Deep Learning | Jedha
Machine Learning & Deep Learning sont devenus des termes extrêmement utilisés dans le cadre de nos activités, avec des applications toujours plus nombreuses. Lorsque l’on parle de Deep Learning, nous parlons d’algorithmes capables de mimer les actions du cerveau humain grâce à des réseaux de neurones d’où le terme d’Intelligence Artificielle.
Intelligence Artificielle
Les 6 meilleures formations en Machine Learning
Vous souhaitez vous reconvertir dans la Data ? Découvrez les meilleures offres de formation en Machine Learning pour réussir votre projet professionnel !