TP 6 : Classification supervisée en ouvrant l'œil

On va voir comment l'exploration visuelle du jeu de données permet, parfois, d'obtenir de meilleurs arbres de décision.
Seul un être humain peut réaliser efficacement cette exploration parce qu'un être humain voit certaines propriétés géométriques lui sautent aux yeux.
Cette exploration visuelle est capitale lors de l'étude d'un jeu de données. Son impact sur la démarche et les résultats peut être très important.
Pour qu'elle ne soit pas trop complexe à appliquer, il ne faut pas qu'il y ait trop d'attributs ou qu'il y ait trop de classes.

À l'issue de ce TP, vous m'envoyez par email un compte-rendu (format odt ou pdf) indiquant la réponse aux questions qui sont posées. Vous m'envoyez également un fichier python ou R réalisant toutes les manipulations de ce TP : je dois pouvoir exécuter le fichier Python en tapant python3 nom-de-votre-fichier.py ou le fichier R en tapant source ("nom-de-votre-fichier.R") dans R et reproduire vos résultats. Cette exécution ne doit pas provoquer d'erreur. Remarque : un notebook ne convient pas.

Préliminaires

On utilise le jeu de données disponible à l'url https://philippe-preux.codeberg.page/ensg/miashs/datasets/australian-crabs-species.csv. Ce jeu de données décrit des crabes australiens à l'aide de quelques caractéristiques morphologiques. Ces crabes appartiennent à deux espèces différentes du genre Leptograpsus et on cherche à prédire l'espèce d'un crabe étant données quelques caractéristiques morphologiques (mesurées en millimètres).

À faire :

Le taux de succès obtenu est correct. Cependant, dans la suite de ce TP, on va voir comment en « ouvrant l'œil », on peut faire beaucoup mieux.

On ouvre l'œil

L'arbre de décision construit précédemment commet des erreurs. Nous allons voir une manière de réduire le taux d'erreur.
C'est une méthode très générale qu'il faut absolument connaître et utiliser lorsqu'on utilise des arbres de décision.
Nous allons procéder visuellement car cette manière de faire ne s'automatise pas facilement. Alors que parfois, comme on l'a déjà dit, il y a des choses qui sautent aux yeux.

Les arbres de décision découpent l'espace des données à l'aide de séparateurs linéaires en déterminant des seuils de valeurs des attributs.

En regardant attentitvement les représentations bivariées, on voit que pour une certaine combinaison d'attributs, les deux classes sont presque parfaitement séparées par une droite. N'étant ni horizontale ni verticale, l'algorithme d'induction d'arbres de décision ne peut pas exploiter cette information.
Une fois cette droite déterminée, on a vu que les données de l'une des classes sont situées en dessous de cette droire, les données de l'autre classe étant située au dessus. Donc, en utilisant l'équation de cette droite, les données de l'une des classes correspondent à des valeurs positives, l'autre classe à des valeurs négatives. On peut donc ajouter un nouvel attribut au jeu de données qui correspond à cette droite et selon le signe, déterminer de quelle classe il s'agit. Avec un tel attribut, l'algorithme d'induction d'arbre de décision sera capable de mieux déterminer la classe des données.

À faire :

La méthode qui vient d'être décrite peut s'appliquer dès que l'on repère une forme géométrique simple qui sépare les données de deux classes. Ce peut être une droite, une parabole, un cercle, etc.