我想知道你是否可以在没有交叉验证的情况下运行随机的searchcv(只使用一个简单的训练/测试分割?在
我想这样做是为了能够大致确定哪些参数对于更细粒度的调优是有用的,我将使用标准的交叉验证。在
代码如下:
pipe = Pipeline(steps=[('gbm', GradientBoostingClassifier())])
param_dist = dict(gbm__max_depth=[3,6,10],
gbm__n_estimators=[50,100,500,1000],
gbm__min_samples_split=[2,5,8,11],
gbm__learning_rate=[0.01,0.05,0.1,0.5,1.0],
gbm__max_features=['sqrt', 'log2']
)
grid_search = RandomizedSearchCV(pipe, param_distributions=param_dist,cv=???)
grid_search.fit(X_train, y_train)
提前谢谢你
您可以使用
cv=ShuffleSplit(n_iter=1)
来获得单个随机拆分,或者如果您想执行某个特定的拆分,可以使用cv=PredefinedSplit(...)
(我想只在beta 0.16b1中)。有关选项,请参见docs。在相关问题 更多 >
编程相关推荐