Random Forest : Classifier les Iris


Commençons par un peu de botanique.

Saviez-vous qu'il existe plus de 210 types d'iris différents ?
Chaque type a des caractéristiques différentes (tiges, pétales, sépale (voir photo) etc.).
Dans cet article, nous allons essayer d'apprendre à notre ordinateur à reconnaître un type d'iris en fonction de ces caractéristiques.

Une fleur de pommier

Description des données.


Les 3 types d'iris étudiés (setosa, versicolore, virginica)


Nous utiliserons le data set iris , un ensemble de données 'historique', puisque créé en...1936 (!) par Ronald Fisher. Ensemble également très simple puisque constitué de :

-  3 classes d'iris : Iris Setosa , Iris Versicolore , Iris Virginica
-  4 caractéristiques : longueur des sépales, largeur des sépales,longueur des pétales, largeur des pétales
- 50 exemples pour chaque type

Séparation linéaire


Nous avons donc 4 dimensions (4 caractéristiques différentes), pour simplifier, passons à 2 dimensions : la surface des pétales et la surface des sépales, sachant que la surface est égale à largeur x longueur. Et voyons ce que cela donne :




On voit qu'il est possible de tracer un trait, par exemple une ligne horizontale au niveau de 'surface de la pétale' = 2 cm2, qui séparerait les iris setosa (les ronds verts) d'une des deux autres classes. On dit donc que ces classes sont linéairement séparables car, en deux dimensions, on peut tracer une ligne pour les séparer (si on avait plus de dimensions : en 3 dimensions, on parle de plan et si on a plus de 3 dimensions, on parle d'hyperplan).

Il existe une famille d'algorithmes qui cherchent justement quelle ligne peut-on tracer pour séparer des ensembles, c'est ce que l'on appelle des classificateurs linéaires. Ces algorithmes ont l'avantage d'être généralement très rapides et grâce à une technique appelée kernel, ils sont même capables de traiter des données non linéairement séparables ! C'est le cas des fameux SVM (Support Vector Machine).

Pour le moment, nous allons plutôt continuer dans le végétal et allons voir que nous pouvons utiliser des 'forêts' pour apprendre à reconnaître les types d'iris... des forêts aléatoires qui plus est. Voyons ce que tout cela signifie.