2.7 Optimisation et métriques

Maintenant que vous avez découvert différents algorithmes de classification supervisée, que vous êtes capable d’utiliser la validation croisée et les matrices de confusion pour en dériver des métriques, vous avez les éléments nécessaires en main pour vous attaquer à l’optimisation de votre classifieur. La tâche n’est pas simple, car vous avez, en fait, de nombreux paramètres sur lesquels influer. C’est essentiellement par la pratique que vous allez “sentir” ce qui fonctionne bien ou moins bien. Il est cependant utile à ce stade de faire un bilan. Quels sont les moyens d’optimiser un classifieur ? Quelles métriques utiliser pour surveiller votre progression ? De combien devez-vous améliorer votre métrique pour considérer que le gain est appréciable ?

Éléments de réflexion :

  • Il n’y a pas que le taux d’erreur qui soit utile. Quelquefois, l’intérêt se porte sur une ou plusieurs classes cibles. Dans ce cas, des métriques plus ciblées comme le rappel ou la précision sont utiles.
  • Le rappel et la précision s’intéressent à deux points de vue complémentaires par rapport à une classe cible : combien parmi tous les objets de la classe sont détectés comme tel par le classifieur d’un côté, versus combien parmi tout ce qui est classé par l’ordinateur dans la classe cible en fait effectivement partie. Si vous regardez la matrice de confusion, vous constatez qu’il s’agit de traiter l’erreur soit selon les colonnes, soit selon les lignes de cette matrice. Selon le contexte, on est amené à optimiser l’un ou l’autre, sachant qu’un compromis est toujours nécessaire. Le score F, par contre, tente de synthétiser ce compromis dans un cas plus général en une seule valeur.
  • La répartition des individus entre les classes va influer les performances du classifieur. Il est souvent souhaitable d’avoir à peu près le même nombre de cas dans chaque classe. Mais dans une classification où le résultat global compte, une distribution proche de celle qui sera rencontrée dans les échantillons en test et en déploiement donne de meilleurs résultats pour, par exemple, l’erreur globale. Attention ! Le point de référence dépend largement de la répartition des individus. Pour un classifieur binaire, si nous avons 50% des cas dans chaque classe, un classifieur naïf qui classerait tout le monde dans la classe la plus abondante ferait 50% d’erreur. C’est donc notre point de référence et le classifieur que nous construisons doit faire mieux que cela. S’il ne produit que 20% d’erreur, c’est donc une amélioration très nette des performances. Par contre, si nous avons une répartition 90% / 10% des individus entre les deux classes, notre classifieur naïf qui classe tout le monde dans la classe la plus abondante ne ferait déjà plus que 10% d’erreur. Dans ce dernier cas, notre classifieur doit donc faire mieux que cela. Ainsi, un classifieur qui montre les mêmes 20% d’erreur sera ici considéré comme très mauvais !
À vous de jouer !

Vous allez maintenant discuter par équipe ces différents aspects. Les équipes seront désignées par vos encadrants. Ne créez encore aucun projet avant qu’il ne vous soit dit de le faire. Au sein de chaque équipe un responsable de la création du “team” sera désigné, et ensuite, les autres participants se placeront dans ce même “team”.

Réalisez en groupe le travail C02Ga_optimisation, partie I.

Travail en groupe de 4 pour les étudiants inscrits au cours de Science des Données Biologiques III à l’UMONS à terminer avant le 2022-11-10 23:59:59.

Initiez votre projet GitHub Classroom

Voyez les explications dans le fichier README.md, partie I.