Встречается на собеседованиях • сегодня

Может ли градиентный бустинг деревьев дать отрицательное значение при положительной осевой переменной

Градиентный бустинг деревьев может дать отрицательное предсказание даже при положительной целевой переменной. Это происходит из-за:

  1. Аддитивной природы бустинга - каждое дерево вносит коррекцию в предсказание, и суммарный результат может выйти за границы исходного диапазона.
  1. Использования функций потерь, которые не ограничивают выходные значения (например, MSE).

  2. Особенностей начального приближения (базового предсказания), которое может быть отрицательным.

Пример с XGBoost:

python
import xgboost as xgb
import numpy as np

X = np.array([[1], [2], [3]])
y = np.array([1, 2, 3])  # Все целевые значения положительные

model = xgb.XGBRegressor()
model.fit(X, y)
print(model.predict([[0]]))  # Может выдать отрицательное значение

Для ограничения диапазона можно использовать:

  • Трансформацию целевой переменной (логарифмирование)
  • Функции потерь с ограничениями (Poisson, Gamma)
  • Постобработку предсказаний (например, max(pred, 0))
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы