max_features
- это параметр, который необходимо настроить. Такие значения, как sqrt
или n/3
, являются значениями по умолчанию и обычно работают прилично, но параметр необходимо оптимизировать для каждого набора данных, поскольку он будет зависеть от имеющихся у вас функций, их корреляций и важности.
Поэтому я предлагаю многократно тренировать модель с сеткой значений для max_features
, пробуя каждое возможное значение от 2 до общего числа ваших функций.
Тренируйте RandomForestRegressor
с oob_score=True
и используйте oob_score_
для оценки производительности леса. После того, как вы перебрали все возможные значения max_features
, оставьте значение, которое получило наибольшее значение oob_score
.
В целях безопасности сохраните значение n_estimators
на верхнем уровне.
PS: эта процедура в основном является оптимизацией поиска по сетке для одного параметра и обычно выполняется с помощью перекрестной проверки. Поскольку RF дают вам оценки OOB, вы можете использовать их вместо CV, так как они быстрее вычисляются.