AccueilđŸ‡«đŸ‡·Chercher

Algorithme ID3

En intelligence artificielle, plus prĂ©cisĂ©ment en apprentissage automatique, l’algorithme ID3 (acronyme de Iterative Dichotomiser 3) est un algorithme de classification supervisĂ©, c’est-Ă -dire qu'il se base sur des exemples dĂ©jĂ  classĂ©s dans un ensemble de classes pour dĂ©terminer un modĂšle de classification. Le modĂšle que produit ID3 est un arbre de dĂ©cision. Cet arbre servira Ă  classer de nouveaux Ă©chantillons.

Arbre de dĂ©cision potentiel gĂ©nĂ©rĂ© par ID3. Les attributs sont disposĂ©s sous forme de nƓuds en fonction de leur capacitĂ© Ă  classer les exemples. Les valeurs des attributs sont reprĂ©sentĂ©es par des branches.

ID3 a été développé par Ross Quinlan en 1986[1]. L'algorithme C4.5[2] est une amélioration d'ID3, notamment du point de vue de la facilité d'implémentation.

Principe général

Chaque exemple en entrĂ©e est constituĂ© d'une liste d'attributs. Un de ces attributs est l’attribut « cible » et les autres sont les attributs « non cibles ». On appelle aussi cette "cible" la "classe". En fait l’arbre de dĂ©cision va permettre de prĂ©dire la valeur de l’attribut « cible » Ă  partir des autres valeurs. Bien entendu, la qualitĂ© de la prĂ©diction dĂ©pend des exemples : plus ils sont variĂ©s et nombreux, plus la classification de nouveaux cas sera fiable.

Un arbre de dĂ©cision permet de remplacer un expert humain dont il modĂ©lise le cheminement intellectuel. À chaque nƓud correspond une question sur un attribut non cible. Chaque valeur diffĂ©rente de cet attribut sera associĂ©e Ă  un arc ayant pour origine ce nƓud. Les feuilles de l'arbre, quant Ă  elles, indiquent la valeur prĂ©vue pour l’attribut cible relativement aux enregistrements contenus par la branche (indiquĂ©s par les diffĂ©rents arcs) reliant la racine Ă  cette feuille.

ID3 construit l'arbre de dĂ©cision rĂ©cursivement. À chaque Ă©tape de la rĂ©cursion, il calcule parmi les attributs restant pour la branche en cours, celui qui maximisera le gain d'information. C’est-Ă -dire l'attribut qui permettra le plus facilement de classer les exemples Ă  ce niveau de cette branche de l'arbre. On appelle ce calcul l'entropie de Shannon dont voici la formule utilisĂ©e :

Algorithme

fonction ID3(exemples, attributCible, attributsNonCibles)
   si exemples est vide alors /* NƓud terminal */
       renvoyer un nƓud Erreur
   sinon si attributsNonCibles est vide alors /* NƓud terminal */
       renvoyer un nƓud ayant la valeur la plus reprĂ©sentĂ©e pour attributCible
   sinon si tous les exemples ont la mĂȘme valeur pour attributCible alors /* NƓud terminal */
       renvoyer un nƓud ayant cette valeur
   sinon /* NƓud intermĂ©diaire */
       attributSélectionné = attribut maximisant le gain d'information parmi attributsNonCibles
       attributsNonCiblesRestants = suppressionListe(attributsNonCibles, attributSélectionné)
       nouveauNƓud = nƓud Ă©tiquetĂ© avec attributSĂ©lectionnĂ©
       pour chaque valeur de attributSélectionné faire
           exemplesFiltrés = filtreExemplesAyantValeurPourAttribut(exemples, attributSélectionné, valeur)
           nouveauNƓud->fils(valeur) = ID3(exemplesFiltrĂ©s, attributCible, attributsNonCiblesRestants)
       finpour
       renvoyer nouveauNƓud

Références

  • J. Ross Quinlan, Machine Learning, 1986, « Induction of decision trees », p. 81-106

Voir aussi

Notes et références

  1. Quinlan, J. R. 1986. Induction of Decision Trees. Mach. Learn. 1, 1 (Mar. 1986), 81–106
  2. Quinlan, J. R. C4.5: Programs for Machine Learning. Morgan Kaufmann Publishers, 1993.
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.