带有 XGBoost 的 Sklearn GridSearchCV - 可能不会使用参数 cv

Sklearn GridSearchCV with XGBoost - parameters cv might not be used

我有一个元组列表,其中一个元组具有结构 (train_ids、test_ids)。该列表旨在用作带有 XGBoost 的 SKlearns GridSearchCV 方法的 'cv' 参数。但是,在训练期间我遇到以下错误:

Parameters { "cv" } might not be used. 

This may not be accurate due to some parameters are only used in language binding
but passed down to XGBoost core. Or some parameters are not used but slip through
this verifciation.

XGBoost 支持 cv 参数吗?如果没有,是否有任何解决方法或其他常见做法来处理用于时间序列分类的 CV?

您似乎已将元组列表作为参数传递到 GridSearchCV 的参数网格中。但是,它们随后将被传递给不支持此类参数的 XGBClassifier

您必须将列表作为其 cv 参数传递给 GridSearchCV,如下所示:

import xgboost
from sklearn.model_selection import GridSearchCV


clf = xgboost.XGBClassifier()

gridsearch = GridSearchCV(
    estimator=clf, 
    param_grid={...},  # here only hyperparameters of XGBClassifier
    cv=[(train_ids, test_ids)]  # <-- here your list of indices
)

这就是它的完成方式,应该可以解决您的问题。