CART et les arbres de décision comme les algorithmes fonctionnent par partitionnement récursif de l'ensemble d'apprentissage afin d'obtenir des sous-ensembles aussi purs que possible pour une classe cible donnée. Chaque nœud de l'arbre est associé à un ensemble particulier d'enregistrements qui est divisé par un test spécifique sur une entité. Par exemple, une scission sur un attribut continu peut être induite par le test . L'ensemble des enregistrements est ensuite partitionné en deux sous-ensembles qui mènent à la branche gauche de l'arbre et à la droite.A A ≤ x TTUNEA ≤ xT
Tl= { t ∈ T: t ( A ) ≤ x }
et
Tr={t∈T:t(A)>x}
De même, une caractéristique catégorielle peut être utilisée pour induire des divisions en fonction de ses valeurs. Par exemple, si chaque branche peut être induite par le test .B = { b 1 , … , b k } i B = b iBB = { b1, … , Bk}jeB = bje
L'étape de division de l'algorithme récursif pour induire l'arbre de décision prend en compte toutes les divisions possibles pour chaque entité et essaie de trouver la meilleure en fonction d'une mesure de qualité choisie: le critère de division. Si votre jeu de données est induit sur le schéma suivant
UNE1, … , Am, C
où sont des attributs et est la classe cible, tous les fractionnements candidats sont générés et évalués par le critère de fractionnement. Les divisions sur les attributs continus et les attributs catégoriels sont générées comme décrit ci-dessus. La sélection du meilleur fractionnement est généralement effectuée par des mesures d'impuretés. L'impureté du nœud parent doit être diminuée par la division . Soit une scission induite sur l'ensemble des enregistrements , un critère de scission qui utilise la mesure d'impureté est: C ( E 1 , E 2 , … , E k ) E I ( ⋅ )UNEjC( E1, E2, … , Ek)Eje( ⋅ )
Δ = I( E) - ∑i = 1k| Eje|| E|je( Eje)
Les mesures d'impuretés standard sont l'entropie de Shannon ou l'indice de Gini. Plus précisément, CART utilise l'index Gini défini pour l'ensemble comme suit. Soit la fraction des enregistrements dans de la classe puis
où est le nombre de classes.p j E c j p j = | { t ∈ E : t [ C ] = c j } |EpjEcj
Gini(E)=1- Q ∑ j=1p 2 j Q
pj= | { t ∈ E: t [ C] = cj} || E|
G i n i (E) = 1 - ∑j = 1Qp2j
Q
Cela conduit à une impureté 0 lorsque tous les enregistrements appartiennent à la même classe.
Par exemple, disons que nous avons un ensemble d'enregistrements de classe binaire où la distribution de classe est - ce qui suit est une bonne répartition pour( 1 / 2 , 1 / 2 ) TT( 1 / 2 , 1 / 2 )T
la distribution de probabilité des enregistrements dans est et celle de est . Disons que et ont la même taille, donc . Nous pouvons voir que est élevé:Tl( 1 , 0 )Tr( 0 , 1 )TlTr| Tl| / | T| = | Tr| / | T| =Une / deuxΔ
Δ = 1 - 1 / 22- 1 / deux2- 0 - 0 = 1 / deux
La division suivante est pire que la première et le critère de division reflète cette caractéristique.
Δ
Δ = 1 - 1 / 22- 1 / deux2- 1 / 2 ( 1 - ( trois / 4 )2- ( 1 / quatre )2) -1/deux ( 1-(1/4)2- ( trois / 4 )2) =1/deux- 1 / deux ( 3 / 8 ) - 1 / deux ( 3 / 8 ) = 1 / 8
Le premier fractionnement sera sélectionné comme meilleur fractionnement, puis l'algorithme se déroulera de manière récursive.
Il est facile de classer une nouvelle instance avec un arbre de décision, en fait il suffit de suivre le chemin du nœud racine à une feuille. Un enregistrement est classé avec la classe majoritaire de la feuille qu'il atteint.
Disons que nous voulons classer le carré sur cette figure
c'est la représentation graphique d'un ensemble d'apprentissage induit sur le schéma , où est la classe cible et et sont deux caractéristiques continues.A , B , CCUNEB
Un arbre de décision induit possible pourrait être le suivant:
Il est clair que le carré d' enregistrement sera classé par l'arbre de décision comme un cercle étant donné que l'enregistrement tombe sur une feuille étiquetée de cercles.
Dans cet exemple de jouet, la précision sur l'ensemble d'entraînement est de 100% car aucun enregistrement n'est mal classé par l'arbre. Sur la représentation graphique de l'ensemble d'apprentissage ci-dessus, nous pouvons voir les limites (lignes grises en pointillés) que l'arborescence utilise pour classer les nouvelles instances.
Il y a beaucoup de littérature sur les arbres de décision, je voulais juste écrire une introduction sommaire. Une autre implémentation célèbre est C4.5.