En clair
Une variable catégorielle décrit une qualité ou une appartenance, pas une quantité qu'on mesure. Ses valeurs possibles forment une liste finie de catégories comme « chat », « chien » et « oiseau » ou « rouge », « vert » et « bleu ». On l'oppose à la variable numérique qui prend des valeurs continues comme une taille en centimètres ou un prix.
On en distingue souvent deux familles. Les variables nominales n'ont pas d'ordre naturel : l'espèce d'un animal, la couleur d'un fruit. Les variables ordinales en ont un. C'est le cas de « petit », « moyen » et « grand » ou d'une note de satisfaction de 1 à 5.
Pourquoi c'est important
Les algorithmes d'apprentissage automatique manipulent des nombres. Il faut donc transformer une variable catégorielle avant de s'en servir. On peut la découper en plusieurs colonnes binaires (l'encodage « one-hot ») ou lui attribuer un entier. Ce choix a des conséquences. Numéroter 1, 2 et 3 des catégories sans ordre peut faire croire à tort à une progression entre elles.
En classification c'est souvent elle qu'on cherche à prédire : l'espèce d'une fleur, le genre d'un texte, la présence d'une maladie. En clustering elle peut servir à décrire les groupes obtenus.
Dans la pratique
Prenons un jeu de données sur des fleurs. La longueur des pétales est une variable numérique. L'espèce de la fleur est une variable catégorielle. Un modèle de classification apprend à relier les mesures à l'une des espèces possibles. On l'évalue souvent avec une matrice de confusion qui compare les catégories prédites aux catégories réelles.
Autre exemple, la case « type de contrat » d'un formulaire avec les valeurs « CDI », « CDD » et « stage ». Pour l'analyser on compte combien de personnes tombent dans chaque catégorie ou on la croise avec une autre variable.
À ne pas confondre avec
- Une variable numérique mesure une quantité et permet des calculs comme la moyenne. Faire la moyenne de codes de catégories n'a en général pas de sens.
- Une variable ordinale est une variable catégorielle dont les catégories sont ordonnées. Toutes les variables catégorielles ne le sont pas.
- Dans un jeu de données supervisé l'étiquette est la catégorie à prédire. Elle est souvent catégorielle mais le mot désigne son rôle dans l'apprentissage et non sa nature statistique.