Mathématiques derrière les arbres de classification et de régression

14

Quelqu'un peut-il aider à expliquer certaines des mathématiques derrière la classification dans CART? Je cherche à comprendre comment deux étapes principales se produisent. Par exemple, j'ai formé un classificateur CART sur un ensemble de données et utilisé un ensemble de données de test pour marquer ses performances prédictives mais:

  1. Comment la racine initiale de l'arbre est-elle choisie?

  2. Pourquoi et comment se forme chaque branche?

Mon ensemble de données étant 400 000 enregistrements avec 15 colonnes et 23 classes atteint une précision de 100% à partir d'une matrice de confusion, j'utilise une validation croisée 10 fois sur l'ensemble de données. Je serais vraiment reconnaissant si quelqu'un pouvait aider à expliquer les étapes de la classification CART?

G Gr
la source

Réponses:

24

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 TTUNEUNEXT

Tl={tT:t(UNE)X}

et

Tr={tT:t(UNE)>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,,UNEm,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()

Δ=je(E)-je=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=|{tE:t[C]=cj}||E|
gjenje(E)=1-j=1Qpj2
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

Bonne scission

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|=1/2Δ

Δ=1-1/22-1/22-0-0=1/2

La division suivante est pire que la première et le critère de division reflète cette caractéristique. ΔMauvaise séparation

Δ=1-1/22-1/22-1/2(1-(3/4)2-(1/4)2)-1/2(1-(1/4)2-(3/4)2)=1/2-1/2(3/8)-1/2(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

Ensemble de données à deux entités

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.UNE,B,CCUNEB

Un arbre de décision induit possible pourrait être le suivant: entrez la description de l'image ici

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.

Simone
la source
1
grands diagrammes!
Cam.Davidson.Pilon
Merci, malheureusement, il semble que l'éditeur ne supporte pas le téléchargement au format PDF. Ils étaient vectoriels.
Simone
2

Je ne suis pas un expert des CART mais vous pouvez essayer le livre "Elements of Statistical Learning" qui est disponible gratuitement en ligne (voir le chapitre 9 pour les CART). Je crois que le livre a été écrit par l'un des créateurs de l'algorithme CART (Friedman).

Au niveau du bit
la source
Cela a beaucoup aidé! +1 trouvaille brillante!
G Gr
@GarrithGraham pas de problème, je pensais que ce livre gratuit était un "secret bien connu".
Bitwise