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

modifier

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

modifier

fonction ID3(exemples, attributCible, attributsNonCibles, attributParent)
   si exemples est vide alors /* Nœud terminal */
       renvoyer un nœud ayant la valeur attributParent
   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é
       nouvelAttributParent = valeur la plus représentée pour attributCible
       
       pour chaque valeur de attributSélectionné faire
           exemplesFiltrés = filtreExemplesAyantValeurPourAttribut(exemples, attributSélectionné, valeur)
           nouveauNœud->fils(valeur) = ID3(exemplesFiltrés, attributCible, attributsNonCiblesRestants, nouvelAttributParent)
       finpour
       
       renvoyer nouveauNœud

Références

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

Voir aussi

modifier

Notes et références

modifier
  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.

📚 Artikel Terkait di Wikipedia

ID3

sujets et articles portant le même nom. ID3, ID-3 ou ID.3 est un sigle qui peut désigner : Algorithme ID3, un algorithme qui produit un arbre de décision, définissant

Algorithme CART

publié par Leo Breiman en 1984. L'algorithme construit un arbre de décision d'une manière analogue à l'algorithme ID3. Contrairement à ce dernier, l'arbre

Liste d'algorithmes

largeur Algorithme de parcours en profondeur Algorithme de Viterbi Algorithme de Kosaraju's ID3 CHAID CART C4.5 C5 Exhaustive CHAID QUEST Algorithme de Bresenham

Algorithme C4.5

automatique, l’algorithme C4.5 est un algorithme de classification supervisé, publié par Ross Quinlan. Il est basé sur l'algorithme ID3 auquel il apporte

Apprentissage automatique appliqué aux systèmes de détection d'intrusion réseau

et K. S. Balagani, « K-Means+ID3: A Novel Method for Supervised Anomaly Detection by Cascading K-Means Clustering and ID3 Decision Tree Learning Methods »

Arbre de décision (apprentissage)

plusieurs algorithmes pour construire des arbres de décision, parmi lesquels : ID3 (Iterative Dichotomiser 3) C4.5, C5 (successeurs d'ID3) CHAID (CHi-squared

MP3

copyright ou le fait qu'il s'agisse d'un original ou d'une copie. Le format ID3 a été conçu dans le but d'inclure des métadonnées aux fichiers MP3 tout en

Intelligence artificielle symbolique

de versions, l'apprentissage PAC, l'apprentissage par arbre de décision ID3, l'apprentissage à partir de cas et la programmation logique inductive pour