我想知道您是否可以在没有交叉验证的情况下运行RandomizedSearchCV (只需使用简单的训练/测试拆分?
我想这样做是为了能够大致估计哪些参数对更细粒度的调优有用,其中我将使用标准的交叉验证。
代码如下:
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)提前谢谢你,
发布于 2015-03-23 21:21:11
你可以使用cv=ShuffleSplit(n_iter=1)来获得一个随机的拆分,或者如果你想做一个特定的拆分,也可以使用cv=PredefinedSplit(...) (我想只在测试版0.16b1中)。有关选项,请参阅docs。
https://stackoverflow.com/questions/29190182
复制相似问题