Как выразить регрессионную модель, построенную при помощи RandomForestRegressor, через формулу чтобы это можно было использовать для предсказаний?
В обычной линейной регрессии мне все понятно - вывел интерцепт построенной модели, коэффициенты для независимых переменных и составил классическое уравнение линейной регрессии, которое можно применять на практике. Подскажите пожалуйста, как при помощи RandomForestRegressor достигнуть аналогичного результата? Модель в виде "черного ящика" это уже не плохо, но хотелось бы понять как через независимые переменные можно достичь желаемой величины зависимой переменной. Почитал документацию, а там кроме R2 и feature_importances_ больше ничего похожего на бета-коэффициенты регрессии не нашел. Или я что-то не так понимаю.
Заранее спасибо!
Ответы (1 шт):
Возможно, пример с линейной регрессией хороший, однако, случайный лес имеет гораздо более сложную структуру.
RandomForestRegressor -- ансамбль (т.е. композиция) из n_estimators DecisionTreeRegressor моделей.
Каждое дерево после задания гиперпарамеров делает предсказание для нового наблюдения. Делает оно предсказание согласно первой прикрепленной картинке (только там задача классификации). При каждом split'е (разбиении), пытаясь уменьшить дисперсию в выборке (на самом деле, все чуть сложее, можете почитать тут: https://habr.com/ru/post/116385/)

После того, как новый сэмпл попал в определенный лист дерева, оно предсказывает, например, усредненное значение target'а из этого листа (самая простая эвристика).
Лес, получив предсказания всех деревьев, может, например, снова усреднить их (в контексте задачи регрессии) и выдать финальное предсказание (опять же, это самая простая эвристика)

Уже очевидно, что подход гораздо более серьезный в сравнении с LinearRegression, так что описать предсказание одной единственной формулой вряд ли удастся (если я ошибаюсь, прошу коллег поправить)