как использовать TimeSeriesSplit в xgb.cv - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь запустить XGBoost для анализа временных рядов. это мои коды, которые используются еще где

xgb1 = xgb.XGBRegressor(learning_rate=0.1,n_estimators=n_estimators,max_depth=max_depth,min_child_weight=min_child_weight,gamma=0,subsample=0.8,colsample_bytree=0.8,
                                reg_alpha=reg_alpha,objective='reg:squarederror', nthread=4, scale_pos_weight=1, seed=27)
xgb_param = xgb1.get_xgb_params()
dmatrix = xgb.DMatrix(data=X_train, label=y_train)
cv_folds = 5
early_stopping_rounds = 50
cvresults = xgb.cv(dtrain=dmatrix, params = xgb_param,num_boost_round=xgb1.get_params()['n_estimators'], nfold=cv_folds,
                           metrics='rmse', early_stopping_rounds=early_stopping_rounds)

Очевидная проблема здесь в том, что я хочу провести перекрестную проверку данных временных рядов и, следовательно, не могу использовать cv_folds = 5.

(Как) можно использовать функцию TimeseriesSplit в xgb.cv?

спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...