Регресс Catboost. Функция Экстраполяция - PullRequest
0 голосов
/ 06 января 2019

Я новичок в ML и у меня проблема с catboost. Итак, я хочу предсказать значение функции (например, cos | sin и т. Д.). Я прошел все, но мой прогноз всегда прямой

Возможно ли это, и если да, то как я могу решить свои проблемы

Буду рад любому комментарию))

train_data = np.array(np.arange(1, 100, 0.5))
test_data = np.array(np.arange(100, 120, 0.5))

train_labels = np.array(list(map(lambda x : math.cos(x), np.arange(1, 100, 0.5))))

model = CatBoostRegressor(iterations=100, learning_rate=0.01, depth=12, verbose=False)
model.fit(train_data, train_labels)
preds = model.predict(test_data)

plt.plot(preds)
plt.show()

Эта картинка показывает, что я хочу:

enter image description here

1 Ответ

0 голосов
/ 06 января 2019

Я скомпилировал ваш код и обнаружил, что вектор предсказания содержит одинаковое значение для всех записей [-0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229 -0.09229]

Я думаю, что ваша модель находится в состоянии смещения (недостаточного). Попробуйте увеличить число функций или использовать полиномиальные функции.

...