Algorithme ID3
Cet article est une ébauche concernant l’informatique.

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.
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, 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
- J. Ross Quinlan, Machine Learning, 1986, « Induction of decision trees », p. 81-106
Voir aussi
Notes et références
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.