Scikitlearn你能在没有交叉验证的情况下运行随机的searchcv吗?

2024-06-28 19:56:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道你是否可以在没有交叉验证的情况下运行随机的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)

提前谢谢你


Tags: 代码search参数标准paramdist情况train
1条回答
网友
1楼 · 发布于 2024-06-28 19:56:47

您可以使用cv=ShuffleSplit(n_iter=1)来获得单个随机拆分,或者如果您想执行某个特定的拆分,可以使用cv=PredefinedSplit(...)(我想只在beta 0.16b1中)。有关选项,请参见docs。在

相关问题 更多 >