Добрый день, подскажите пожалуйста, как CatBoostRegressor считает конечные результаты?
Я написал небольшой скрипт, чтобы визуализировать дерево, построенное катбустом (model.plot_tree). Но значения в листьях отличаются от прогнозируемых значений (model.predict). Также я нашёл, что катбуст пересчитывает эти значения по формуле RawFormulaVal, но я нигде не могу найти эту формулу.
Код:
import pandas as pd
from catboost import CatBoostRegressor
features = pd.DataFrame({'feature_1':[1,2]})
target = pd.DataFrame({'c':[3,4]})
model_tmp = CatBoostRegressor(iterations=1, depth=1, verbose=0)
model_tmp.fit(features, target)
print('Result:', model_tmp.predict([1]))