Quelqu'un peut-il expliquer les principales différences entre les arbres d'inférence conditionnels ( ctree
du party
paquet dans R) par rapport aux algorithmes d'arbre de décision plus traditionnels (comme rpart
dans R)?
- Qu'est-ce qui différencie les arbres en CI?
- Forces et faiblesses?
Mise à jour: J'ai examiné le document de Horthorn et al auquel Chi fait référence dans les commentaires. Je n'ai pas été capable de le suivre complètement - quelqu'un peut-il expliquer comment les variables sont sélectionnées à l'aide de permutations (par exemple, qu'est-ce qu'une fonction d'influence)?
Merci!
r
machine-learning
cart
B_Miner
la source
la source
Réponses:
Pour ce que ça vaut:
à la fois
rpart
et dectree
manière récursive effectuer des divisions univariées de la variable dépendante en fonction des valeurs d'un ensemble de covariables.rpart
et les algorithmes associés utilisent généralement des mesures d’information (telles que le coefficient de Gini ) pour sélectionner la covariable actuelle.ctree
, selon ses auteurs (voir les commentaires de chl ), évite le biais de sélection de variables suivantrpart
(et méthodes associées): ils ont tendance à sélectionner des variables qui ont beaucoup de divisions ou de valeurs manquantes. Contrairement aux autres,ctree
utilise une procédure de test de signification afin de sélectionner des variables au lieu de sélectionner la variable qui maximise une mesure d’information (par exemple, le coefficient de Gini).Le test de signification, ou mieux: les tests de signification multiples calculés à chaque début d’algorithme (choisir covariable - choisir scission - recurse) sont des tests de permutation , c’est-à-dire que "la distribution de la statistique du test sous hypothèse nulle est obtenue en calculant toutes les valeurs possibles de la statistique de test lors du réarrangement des étiquettes sur les points de données observés. " (extrait de l'article de Wikipédia).
Passons maintenant à la statistique de test: elle est calculée à partir des transformations (y compris identité, c'est-à-dire sans transformation) de la variable dépendante et des covariables. Vous pouvez choisir parmi plusieurs transformations pour les deux variables. Pour la variable dépendante (DV), la transformation s'appelle la fonction d'influence pour laquelle vous vous interrogiez.
Exemples (tirés du papier ):
petit exemple de test de permutation en
R
:Supposons maintenant que vous avez un ensemble de covariables, pas un seul comme ci-dessus. Calculez ensuite les valeurs p pour chacune des covariables comme dans le schéma ci-dessus, puis sélectionnez celle ayant la plus petite valeur p . Vous voulez calculer directement les valeurs p au lieu des corrélations, car vous pourriez avoir des covariables de différents types (par exemple numériques et catégoriques).
Une fois que vous avez sélectionné une covariable, explorez maintenant toutes les divisions possibles (ou souvent un nombre quelque peu restreint de toutes les divisions possibles, par exemple en exigeant un nombre minimal d'éléments de la DV avant de procéder à la division) en évaluant à nouveau un test basé sur la permutation.
ctree
est livré avec un certain nombre de transformations possibles pour DV et les covariables (voir l’aide fournieTransformations
dans leparty
package).si généralement, la principale différence semble être celle qui
ctree
utilise un schéma de sélection de covariable basé sur une théorie statistique (c’est-à-dire une sélection par des tests de signification basés sur la permutation) et évite ainsi un biais potentielrpart
, sinon ils semblent similaires. Par exemple, les arbres d'inférence conditionnels peuvent être utilisés comme apprenants de base pour les forêts aléatoires.C'est à peu près tout ce que je peux obtenir. Pour plus d'informations, vous devez vraiment lire les journaux. Notez que je vous recommande fortement de savoir vraiment ce que vous faites lorsque vous souhaitez appliquer n'importe quel type d'analyse statistique.
la source