Je ne sais pas exactement ce que vous avez fait, donc votre code source m'aiderait à deviner moins.
De nombreuses forêts aléatoires sont essentiellement des fenêtres dans lesquelles la moyenne est supposée représenter le système. C'est un arbre CAR sur-glorifié.
Disons que vous avez un arbre CAR à deux feuilles. Vos données seront divisées en deux piles. La sortie (constante) de chaque pile sera sa moyenne.
Maintenant, faisons-le 1000 fois avec des sous-ensembles aléatoires de données. Vous aurez toujours des régions discontinues avec des sorties qui sont des moyennes. Le gagnant d'un RF est le résultat le plus fréquent. Cela ne fait que "brouiller" la frontière entre les catégories.
Exemple de sortie linéaire par morceaux de l'arbre CART:
Disons, par exemple, que notre fonction est y = 0,5 * x + 2. Une intrigue qui ressemble à ceci:
Si nous devions modéliser cela en utilisant un seul arbre de classification avec seulement deux feuilles, nous trouverions d'abord le point de la meilleure division, divisé à ce point, puis approximer la sortie de la fonction à chaque feuille en tant que sortie moyenne sur la feuille.
Si nous devions recommencer avec plus de feuilles sur l'arbre CART, nous pourrions obtenir ce qui suit:
Pourquoi les forêts centrafricaines?
Vous pouvez voir que, dans la limite des feuilles infinies, l'arbre CART serait un approximateur acceptable.
Le problème est que le monde réel est bruyant. Nous aimons penser en termes de moyens, mais le monde aime à la fois la tendance centrale (moyenne) et la tendance à la variation (dev standard). Il y a du bruit.
La même chose qui donne à un arbre CAR sa grande force, sa capacité à gérer la discontinuité, le rend vulnérable à la modélisation du bruit comme s'il s'agissait d'un signal.
Leo Breimann a donc fait une proposition simple mais puissante: utiliser les méthodes Ensemble pour rendre les arbres de classification et de régression robustes. Il prend des sous-ensembles aléatoires (un cousin du rééchantillonnage bootstrap) et les utilise pour former une forêt d'arbres centrafricains. Lorsque vous posez une question sur la forêt, toute la forêt parle et la réponse la plus courante est prise en sortie. Si vous avez affaire à des données numériques, il peut être utile de regarder l'attente en tant que sortie.
Donc, pour la deuxième parcelle, pensez à modéliser à l'aide d'une forêt aléatoire. Chaque arbre aura un sous-ensemble aléatoire des données. Cela signifie que l'emplacement du "meilleur" point de partage variera d'arbre en arbre. Si vous deviez faire un tracé de la sortie de la forêt aléatoire, à l'approche de la discontinuité, les premières branches indiqueront un saut, puis plusieurs. La valeur moyenne dans cette région traversera un chemin sigmoïde lisse. Bootstrapping est convolutant avec un gaussien, et le flou gaussien sur cette fonction de pas devient un sigmoïde.
Bottom lines:
Vous avez besoin de beaucoup de branches par arbre pour obtenir une bonne approximation d'une fonction très linéaire.
Il existe de nombreux "cadrans" que vous pouvez modifier pour avoir un impact sur la réponse, et il est peu probable que vous les ayez tous définis sur les valeurs appropriées.
Les références: