PredefinedSplit对于GridSearchCV无法正常工作

时间:2018-10-12 20:34:32

标签: python scikit-learn

我正在使用GridSearchCV(和BayeSearchCV)来调整我的超参数。我的训练和验证集是预定义的,不需要折叠。根据文档:我将训练集的索引设置为“ -1”,并将验证集的索引设置为“ 0”。但是,在一个玩具示例中,GridSearchCV无法正常工作(下面的附加程序输出)。

from sklearn.model_selection import PredefinedSplit
# This is my training data (train+validation): X_train
# This is the corresponding y: y_train

estimator = lgb.LGBMRegressor(random_state=1000, 
objective='quantile',alpha=q*0.01)

# enforeced training set " -1"
my_test_fold = -np.ones(len(X_train), dtype=int)
# validation set "0"
my_test_fold[-100:-50]=0  

pcv = PredefinedSplit(test_fold=my_test_fold)
lgbm_cv = GridSearchCV(estimator, param_grid,cv=pcv)                        
lgbm_cv.fit(X_train, y_train)

pd.DataFrame(lgbm_cv.cv_results_)

程序输出:my_test_fold [-100:-50] = 0 image1

当我设置“ my_test_fold [-100:-50] = 0”时,则cv_results_没有“ mean_test_score”。

当我设置“ my_test_fold [0:50] = 0”时,则cv_results_确实具有​​“ mean_test_score”。 Program output: my_test_fold[0:50]=0

在我看来,CV是否可以识别验证集,这取决于将哪些数据设置为验证?对我来说,这似乎是一个错误。有什么想法吗?

0 个答案:

没有答案
相关问题