Ищите рабочий пример GradientBoostingRegressor, мой ВСЕГДА накачки - PullRequest
0 голосов
/ 23 января 2020

Ищем рабочий пример sklearn.ensemble.GradientBoostingRegressor. Попытка только базовой c программы инициализации / подгонки / прогнозирования не дает ожидаемого результата. Отлично работает с тестовыми данными (X_test). Но при прогнозировании значений X, выходящих за пределы данных обучения, всегда получается одно и то же значение (плоская линия / оверфит).

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

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# Train Models and Predict with test data
ensb_model = GradientBoostingRegressor(loss='ls')
ensb_model.fit(X_train, y_train)
ensb_pred = ensb_model.predict(X_test)
df = pd.DataFrame({'Actual': y_test.flatten(), 'Ensemble': ensb_pred.flatten()})
print("---Model Results {accuracy}---")
print(df)

# Forecast
first_predict = np.amax(X)
x_forecast = np.arange(start=first_predict,stop=last_predict,step=step).reshape(-1,1)
ensb_fore = ensb_model.predict(x_forecast)
pred_df = pd.DataFrame({'Time': x_forecast.flatten(), 'Ensemble': ensb_fore.flatten()})
print("---Forecast---")
print(pred_df)
...