J'écris actuellement une implémentation de Random Forests mais je crois que la question est spécifique aux arbres de décision (indépendants des RF).
Le contexte est donc que je crée un nœud dans un arbre de décision et que les variables de prédiction et de cible sont continues. Le nœud a un seuil divisé pour partitionner les données en deux ensembles, et je crée une nouvelle prédiction pour chaque sous-ensemble en fonction de la valeur cible moyenne dans chaque ensemble. Est-ce la bonne approche?
La raison pour laquelle je demande, c'est que lors de la prédiction de variables binaires , je crois que l'approche typique (correcte?) Consiste à diviser les données en sous-ensembles 0 et 1 sans prendre une moyenne sur les lignes de données de chaque sous-ensemble. Les divisions ultérieures se diviseront en sous-ensembles à grains plus fins et une moyenne à chaque division résultera des divisions ultérieures (plus bas dans l'arbre de décision) opérant sur ce qui sont maintenant des variables continues plutôt que des variables binaires (parce que nous opérons sur les valeurs d'erreur résiduelles au lieu de l'original cibles).
Question secondaire: la distinction entre les deux approches (binaire vs continue) est-elle significative - ou donnera-t-elle réellement des résultats identiques pour un arbre de décision complet?
la source
Réponses:
Un problème potentiel avec les arbres est qu'ils ont tendance à mal s'insérer dans la queue. Imaginez un nœud terminal qui capture la plage basse de l'ensemble d'entraînement. Il prédira en utilisant la moyenne de ces points de consigne d'entraînement, qui sous-estimeront toujours le résultat (puisque c'est la moyenne).
Vous pouvez essayer des arbres modèles [1]. Ceux-ci s'adapteront aux modèles linéaires dans les nœuds terminaux et (je pense) font un meilleur travail que les arbres de régression. Mieux encore, utilisez une version plus évoluée appelée Cubist qui combine différentes approches ([1] et [2] ci-dessous).
Ces modèles gèrent également différemment les prédicteurs continus et discrets. Ils peuvent effectuer des séparations multidirectionnelles pour les variables catégorielles. Le critère de division est très similaire aux arbres CART.
Les arbres modèles se trouvent dans R dans le package RWeka (appelé 'M5P') et Cubist est dans le package Cubist. Bien sûr, vous pouvez également utiliser Weka et Cubist a une version C disponible sur le site RuleQuest.
[1] Quinlan, J. (1992). Apprendre avec des classes continues. Actes de la 5e Conférence conjointe australienne sur l'intelligence artificielle, 343–348.
[2] Quinlan, J. (1993). Combiner l'apprentissage basé sur l'instance et basé sur le modèle. Actes de la dixième conférence internationale sur l'apprentissage automatique, 236–243.
la source