2015-03-30 4 views
0

Я пытаюсь использовать функцию приложения scinkit-learn для RandomForestTreeRegressor для получения индексов листьев для каждого наученного дерева для некоторых данных. Я указал max_depth из 3, что должно привести к максимальному индексу листа 4, но я фактически получаю число намного более высоких индексов в 40-х годах. Есть ли объяснения для этого?Листовые индексы Off для scinkit-learn Случайная лесная регрессия

Возможно, что-то случилось с моими данными, поэтому я попробовал то же самое с примером кода на странице scikit и нашел ту же проблему. Если вы хотите воспроизвести его, вы можете редактировать исходный код здесь: http://bit.ly/1GHz1iG

ответ

1

Индексы фактически просматривают все узлы в дереве, а не только листья. Есть до 2 ** max_depth листьев (что было бы 8 в вашем случае, не уверен, почему вы ожидаете 4). Тем не менее, поскольку все узлы пронумерованы, цифры могут достигать 2 ** (max_depth + 1) - 1