Понимание параметра max_features в RandomForestClassifier - PullRequest
1 голос
/ 11 марта 2020

Я анализирую RandomForestClasifier и мне нужна помощь.

max_features Параметр дает максимальное количество функций для разделения в случайном лесу, которое обычно определяется как sqrt(n_features). Если m является квадратом из n, то ни одна из комбинаций для формирования DT не равна nCm. Что если nCm меньше n_estimators (нет деревьев решений в случайном лесу)?

пример: Для n = 7, max_features равно 3, поэтому nCm равно 35, что означает 35 уникальных комбинаций признаков для деревьев решений. Теперь для n_estimators = 100, будут ли остальные 65 деревьев повторять комбинацию функций? Если так, не будут ли деревья коррелировать, внося смещение в ответ?

1 Ответ

2 голосов
/ 11 марта 2020
  1. max_features Параметры устанавливает максимальное количество функций, которые будут использоваться при каждом разделении. Следовательно, если число узлов p p.

  2. max_samples обеспечивает выборку по точкам данных из X. По умолчанию он выбирает тот же размер, что и X.

Из документации:

max_samples int или float, по умолчанию = Нет

Если bootstrap равно True, число выборки для рисования из X для обучения каждого базового оценщика.

Если None (по умолчанию), то нарисуйте X.shape [0] samples.

Следовательно, уникальная комбинация дерева, которая может быть сформировано будет p! * nCm * (n+n-1)! / (n!(n-1)!)

Для ваших примеров, давайте рассмотрим, есть 10 узлов в каждом дереве и 10 выборок в вашем X.

10! * 7C3 * (19!/ 10! * 9!)
= 11732745024000.0

Следовательно, не будет быть предвзятым для набора данных разумного размера.

...