Назад к вопросам
JuniorТеорияЧасто
Что выведет эта программа?
import numpy as np
from sklearn.tree import DecisionTreeRegressor
X = np.array([[1], [2], [3], [4]])
y = np.array([2.0, 4.0, 10.0, 12.0])
pred = np.full(4, y.mean())
tree = DecisionTreeRegressor(max_depth=1, random_state=0).fit(X, y - pred)
pred = pred + 0.5 * tree.predict(X)
print(pred[0], pred[3])5.0 9.0
- Ждать
3.0 11.0: значения листьев-4.0и4.0умножаются на скорость обучения0.5перед сложением, поэтому среднее7.0сдвигается только на2.0. - Ждать
4.5 9.5: у дерева глубины 1 два листа, и каждый предсказывает средний остаток своих объектов, поэтому-5и-3оба становятся-4.
- На чём будет обучаться второе дерево после этого шага?
- Почему первое предсказание ансамбля начинается со среднего
y?