Université de Bordeaux, Master Mention Informatique, 2021-2022

Analyse, classification et indexation des données: feuille 5

Classifieur bayésien

Dans la première partie de ce TD on s’appuie sur l’exemple du cours qui consiste à séparer des poissons en deux classes : bars et saumons. La classification sera faite à partir d’une seule caractéristique (la longueur) dans un premier temps, puis à partir de deux caractéristiques (longueur et brillance). En d’autres termes, le descripteur sera d’abord de dimension 1 puis de dimension 2.

Données

Dans cet exercice, nous allons travailler avec un fichier (salmon_seabass.csv) contenant des informations sur la longueur et la brillance de deux classes de poissons : les saumons et les bars. Le fichier est disponible à l'adresse :

https://www.labri.fr/perso/zemmari/datasets/salmon_seabass.csv

  1. Chargez le fichier, et notez que la colonne species indique la catégorie du poisson :

    • 0 : il s'agit d'un saumon
    • 1 : il s'agit d'un bar
In [ ]:
 
In [ ]:
 
  1. Affichez le nombre de valeurs fournies pour chacune des deux classes. On les nommera sizeVTSaumon et sizeVTBar.
In [ ]:
 

Exercice 1. classifieur avec une seule dimension

Dans un premier temps, nous allons considérer un seul descripteur : la longueur width des poissons.

  1. Mélanger les données.
In [ ]:
 
  1. Créer deux variables $X$ et $y$ respectivement la longueur du poisson et son espèce
In [ ]:
 
  1. Découper les données en deux parties : 80% pour l'entrainement et 20% pour le test.
In [ ]:
 

1.1. Classifieur ML

  1. Calculer les estimateurs non biaisés de la moyenne et de l'écart type pour chacune des espèces de poisson. Attention, il faut travailler sur la portion d'entraînement du dataset.
In [ ]:
 
  1. Dessiner les courbes des lois normales correspondant à la fonction de maximum de vraisemblance. Indiquer la frontière de décision. Quelle est l'espèce prédite d'un poisson de longueur 12 ?
In [ ]:
 
  1. Evaluer la qualité du modèle entrainé.
In [ ]:
 
In [ ]:
 

1.2. Classifieur MAP

  1. Ecrire une fonction classify() permettant également de classifier les poissons mais en utilisant cette fois un classifieur a posteriori.
In [ ]:
 
  1. Evaluer ce classifieur
In [ ]:
 

Exercice 2. Classifieur avec deux descripteurs

Dans cet exercice, nous allons considérer le dataset dans sa globalité. Nous allons donc baser notre classification sur les deux descripteurs width et lightness.

Reprogrammer et tester les deux classifieurs vus dans l'exercice 1. Quel est l'impact du rajout du nouveau descripteur ?

In [ ]:
 
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [ ]:
 

Exercice 3. Bayes avec sklearn

Comparer vos résultats avec ceux obtenus avec un classifieur de Bayes de la bibliothèque sklearn.

In [ ]:
 
In [ ]:
 
In [ ]:
 
In [ ]: