Exercices Méthodologie (8.6)

Exercice 54

Nous revenons sur les attributs discrets comme déja abordés dans l'exercice 50.

  1. Le traitement des attributs discrets à plusieurs valeurs comme d'ailleurs la classification multi-classes (à plus de deux classes) peut nécessiter de se ramener au cas binaire. Une première solution est de remplacer un attribut A à 5 valeurs {a,b,c,d,e} par 5 attributs binaires (dans {0,1} ou dans {-1,+1}) notés, par exemple, Aa, Ab, Ac, Ad et Ae tels que Aa (respectivement Ab, Ac, Ad et Ae) prend la valeur 1 si et seulement si l'attribut A a la valeur a (respectivement b, c, d et e). Notez que d'autres codages sont possibles car 5 valeurs peuvent être codées avec des triplets de valeurs binaires.
  2. Une deuxième méthode peut être de coder l'attribut A par un nouvel attribut continu A en remplaçant a par 0, b par 1, c par 2, d par 3 et e par 4. Parfois, il peut être nécessaire de normaliser les valeurs (voir exercice 56). Si on normalise dans [0,1], on prendrait les valeurs 0, 0.25, 0.5, 0.75 et 1. Si on normalisait dans [-1,1], on prendrait les valeurs -1, -0.5, 0, 0.5 et 1. Notez qu'on a introduit par ces codages un ordre entre les valeurs de l'attribut A.
  3. Considérons un attribut A qui prend des valeurs entières de 1 à 10. Notez que ce cas apparaît lorsqu'on traite des réponses à des questionnaires et que, selon les questions, il peut ou pas y avoir un ordre entre les réponses (il y a un ordre pour des réponses de la forme "très satisfait" à "très mécontent"). Prenons le cas de C4.5. Si on déclare l'attribut A comme discret alors l'arbre pourra contenir un test à 10 branches où chaque branche correspond à une valeur possible de A. Si on autorise C4.5 à regrouper les valeurs avec l'option correspondante, alors C4.5 pourra considérer des tests sur A d'arité entre 2 et 10 comme, par exemple, un test ternaire où la première branche correspond à A=1 ou A=2 ou A=5, la seconde branche correspond à A=4 ou A=6 ou A=7 et la troisième branche aux autres valeurs possibles de A. Si on déclare l'attribut A comme continu alors C4.5 pourra considérer des tests de la forme A <= k où k est un nombre réel. La construction des tests est décrite à la fin de la Section 3.1. Notez que cela suppose qu'un ordre soit pertinent sur les valeurs de 1 à 10.

Exercice 55

L'exercice aborde la discrétisation des attributs continus. Les réponses sont dans les questions.

Exercice 56

L'exercice aborde la normalisation des attributs continus. Il faut noter que de nombreuses méthodes d'apprentissage statistique et méthodes d'apprentissage basées sur l'utilisation de distances nécessitent de normaliser les attributs. C'est le cas des SVMs, des réseaux de neurones, des méthodes de plus proche voisin, des méthodes de clustering comme les k-moyennes.

  1. Soit un attribut B prenant les valeurs -0.5, 2.2, -1, 0.5, 0.75, -0.4 et 3. Pour ramener dans [0,1], on effectue la transformation en remplaçant une valeur x dans l'intervalle [min, max] par la valeur (x-min)/(max-min). Soit ici (x+1)/4. Les nouvelles valeurs de B sont alors respectivement 0.125, 0.8, 0, 0.375, 0.4375, 0.15 et 1. Pour ramener dans [-1,1], on effectue la transformation en remplaçant une valeur x dans l'intervalle [min, max] par la valeur -1+ 2(x-min)/max-min). Soit ici -1 + 2(x+1)/4. Les nouvelles valeurs de B sont alors respectivement -0.75, 0.6, -1, -0.25,-0.125, -0.7 et 1.
  2. La moyenne des valeurs de A est a=4.14. L'écart type empirique est la racine carrée de la somme des carrés des écarts à la moyenne, soit la racine carrée de (1-a)^2 + (1.5-a)^2 + ... + (9-a)^2 qui vaut sd=7.1. Les nouvelles valeurs de A sont -0.44, -0.37, -0.30, -0.02, 0.19, 0.26 et 0.68. Soit un attribut B prenant les valeurs -0.5, 2.2, -1, 0.5, 0.75, -0.4 et 3. Les nouvelles valeurs de B sont -0.32, 0.43, -0.46, -0.04, 0.03, -0.29 et 0.65.