#scikit-learn #random-forest
#scikit-learn #случайный лес
Вопрос:
В регрессоре случайного леса из Scikit Learn можно установить ccp_alpha
параметр, который связан с методом обрезки (docs), и я использую его для контроля моей переоснащения.
После ее применения я хотел бы использовать эту сокращенную модель для выполнения настройки гиперпараметров с помощью случайного поиска и найти свою лучшую модель. Итак, я хочу эту сокращенную модель.
Возможно ли получить эту сокращенную модель?
Комментарии:
1. Что значит «получить» модель? Модель, возвращенная после вашей
fit
(или перекрестной проверки), действительно является сокращенной моделью, если вы указали это с ненулевым значениемccp_alpha
.
Ответ №1:
Когда вы применяете .fit(X_train, y_train)
функцию к объекту класса RandomForestClassifier()
or RandomForestRegressor()
, возвращаемая подогнанная модель уже была обрезана. Это происходит под капотом в реализации sklearn. Теоретически, randomForest — это не просто комбинация деревьев решений, но сокращенная, агрегированная и загруженная с использованием настроек по умолчанию версия нескольких больших деревьев решений.
Будьте уверены, модель, возвращенная здесь, не является чрезмерно подходящей из-за обрезки. Если вы заметили переобучение, я бы посоветовал вам проверить оценку o.o.b вашей модели и описать весь ваш конвейер данных для получения дальнейших предложений
Ответ №2:
Обратитесь к этой документации от scikit-learnhttps://scikitlearn.org/stable/auto_examples/tree/plot_cost_complexity_pruning.html
В нем содержится подробное объяснение реализации обрезки с использованием метода «стоимость-сложность».