Понимание параметра max_features в RandomForestRegressor
При построении каждого дерева в случайном лесу с использованием загрузочных выборок для каждого терминала node мы выбираем m переменных случайным образом из p-переменных, чтобы найти лучший раскол (p - общее количество функций в ваших данных). Мои вопросы (для RandomForestRegressor):
1) Что соответствует max_features (m или p или что-то еще)?
2) Являются ли переменные m произвольно выбранными из переменных max_features (каково значение m)?
3) Если max_features соответствует m, то зачем мне устанавливать его равным p для регрессии (по умолчанию)? Где случайность с этой настройкой (т.е. Как она отличается от мешков)?
Спасибо.
Ответы
Ответ 1
Прямо из документации:
[max_features
] - размер случайных подмножеств рассматриваемых объектов при разбиении a node.
Итак, max_features
- это то, что вы называете m. Когда max_features="auto"
, m = p, и в деревьях не выполняется выбор подмножества признаков, поэтому "случайный лес" на самом деле представляет собой мешковатый ансамбль обычных деревьев регрессии. В документах говорится, что
Эмпирические хорошие значения по умолчанию max_features=n_features
для задач регрессии и max_features=sqrt(n_features)
для задач классификации
Установив max_features
по-другому, вы получите "истинный" случайный лес.