web-dev-qa-db-fra.com

Différents algorithmes d'arbre de décision avec comparaison de la complexité ou des performances

Je fais des recherches sur l'exploration de données et plus précisément sur les arbres de décision.

Je voudrais savoir s'il existe plusieurs algorithmes pour construire un arbre de décision (ou un seul?), Et lequel est le meilleur, basé sur des critères tels que

  • Performance
  • Complexité
  • Erreurs dans la prise de décision
  • et plus.
36
Youssef

Les implémentations de l'arbre de décision diffèrent principalement selon ces axes:

  • le critère de fractionnement (c'est-à-dire comment la "variance" est calculée)

  • s'il construit des modèles pour régression (variables continues, par exemple, un score) ainsi que classification (variables discrètes, par exemple, une étiquette de classe)

  • technique pour éliminer/réduire sur-ajustement

  • si elle peut gérer données incomplètes


Les principales implémentations de l'Arbre de décision sont:

  • ID3 , ou dichotomiseur itératif, était la première des trois implémentations d'arbre de décision développées par Ross Quinlan (Quinlan, JR 1986. Induction of Decision Trees. Mach. Learn . 1, 1 (mars 1986), 81-106.)

  • [~ # ~] cart [~ # ~] , ou Arbres de classification et de régression est souvent utilisé comme générique acronyme du terme Arbre de décision, bien qu'il ait apparemment une signification plus spécifique. En résumé, la mise en œuvre de CART est très similaire à C4.5; la seule différence notable est que CART construit l'arbre sur la base d'un critère de fractionnement numérique appliqué récursivement aux données, tandis que C4.5 comprend l'étape intermédiaire de construction ensemble de règles s.

  • C4.5 , la prochaine itération de Quinlan. Les nouvelles fonctionnalités (par rapport à ID3) sont: (i) accepte à la fois les fonctionnalités continues et discrètes; (ii) gère les points de données incomplets; (iii) résout le problème de sur-ajustement par une technique ascendante (très intelligente) généralement connue sous le nom de "élagage"; et (iv) différents poids peuvent être appliqués aux caractéristiques qui composent les données d'apprentissage. Parmi ceux-ci, les premiers trois sont très importants - et je dirais que toute implémentation DT que vous choisissez a les trois. La quatrième (pondération différentielle) est beaucoup moins importante

  • C5.0 , l'itération Quinlan la plus récente. Cette implémentation est couverte par un brevet et probablement, par conséquent, est rarement implémentée (en dehors des progiciels commerciaux). Je n'ai jamais codé moi-même d'implémentation C5.0 (je n'ai même jamais vu le code source), je ne peux donc pas proposer une comparaison éclairée de C5.0 par rapport à C4.5. J'ai toujours été sceptique quant aux améliorations revendiquées par son inventeur (Ross Quinlan) - par exemple, il affirme qu'il est "plusieurs ordres de grandeur" plus rapide que C4.5. D'autres revendications sont tout aussi larges ("beaucoup plus efficaces en mémoire"), etc. Je vais juste vous indiquer études qui rendent compte du résultat de la comparaison des deux techniques et vous pouvez décider par vous-même.

  • [~ # ~] chaid [~ # ~] (détecteur d'interaction automatique chi carré) est en fait antérieur à l'implémentation ID3 d'origine d'environ six ans (publié dans une thèse de doctorat de Gordon Kass en 1980). Je connais très peu de cette technique. La plate-forme R a un package appelé CHAID qui comprend une excellente documentation

  • [~ # ~] mars [~ # ~] (splines de régression multi-adaptatives) est en fait un terme déposé par l'inventeur original de MARS, Salford Systems . En conséquence, les clones MARS dans les bibliothèques non vendues par Salford sont nommés quelque chose d'autre que MARS - par exemple, dans R, la fonction pertinente est les polymères dans la bibliothèque poly-spline. Matlab et Statistica ont également des implémentations avec fonctionnalité MARS

Je recommanderais CART ou C4.5 (encore une fois, je n'ai aucune expérience directe avec C5.0 ou CHAID, bien que je connaisse leurs ensembles de fonctionnalités).

C4.5 est l'arôme décisionnel implémenté dans Orange ; CART est la saveur de sklearn - deux excellentes implémentations dans d'excellentes bibliothèques ML.

C4.5 est une étape majeure au-delà de ID3 - à la fois en termes de plage (C4.5 a un spectre de cas d'utilisation beaucoup plus large car il peut gérer des variables continues dans les données de formation) et en termes de qualité du modèle.

L'amélioration revendiquée la plus significative de C5.0 par rapport à C4.5 est peut-être la prise en charge de arbres boostés. Le support d'ensemble pour les DT - arbres boostés et forêts aléatoires - a été inclus dans la mise en œuvre des DT dans Orange; ici, le support d'ensemble a été ajouté à un algorithme C4.5. sklearn propose également une gamme de forêts aléatoires et des méthodes de boost.

80
doug