Как ответить
Краткая суть: В задаче регрессии Random Forest (RF) выдаёт прогнозы, ограниченные диапазоном целевой переменной в обучающей выборке. Если все метки были положительными, то и предсказания будут только положительными. Gradient Boosting (GB) может давать отрицательные значения, даже если обучающие данные были строго положительными, из-за последовательной коррекции остатков.
Подробнее: RF усредняет предсказания независимых деревьев. Каждое дерево регрессии выдаёт среднее значение целевой переменной в листе — оно не может быть меньше минимума или больше максимума обучающих меток в этом листе. Агрегируя по всем деревьям, итоговый прогноз остаётся внутри глобального диапазона обучающей выборки. Поэтому если y_train >= 0, то y_pred >= 0.
GB же строит деревья последовательно, каждое следующее дерево подгоняется под отрицательный градиент функции потерь (остатки). Итоговый прогноз — сумма начального значения (обычно среднего) и предсказаний всех деревьев. Каждое дерево может давать как положительные, так и отрицательные значения (поскольку остатки бывают отрицательными). В результате даже при y_train > 0 сумма может стать отрицательной, если модель «перекомпенсирует» ошибки. Это проявляется, например, при небольшом количестве деревьев или сильной регуляризации — но в общем случае GB способен экстраполировать за пределы наблюдаемого диапазона, а RF — нет.
Пример: Пусть истинные значения — все положительные (10, 20, 30). После первого дерева остатки могут стать отрицательными (-2, +1, +3). Второе дерево их скорректирует, но итоговый прогноз для первого объекта может оказаться 20 - 2 = 18 (всё ещё положительно). Однако если ошибки будут большими, а число деревьев невелико, может получиться отрицательное значение.
Важное уточнение: В классификации (бинарной) RF выдаёт вероятности от 0 до 1, а GB может выдавать логиты (от -∞ до +∞) до применения сигмоиды. Но вопрос, скорее всего, про регрессию, где различие очевидно.