python - Scikit-learn - 您可以在没有交叉验证的情况下运行 RandomizedSearchCV 吗?

标签 python scikit-learn cross-validation

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

提前致谢,

最佳答案

您可以使用cv=ShuffleSplit(n_iter=1)来获得单个随机分割,或者如果有特定的分割,则使用cv=PredefinedSplit(...)分割你想做的事(我认为仅在 beta 0.16b1 中)。请参阅docs的选项。

关于python - Scikit-learn - 您可以在没有交叉验证的情况下运行 RandomizedSearchCV 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29190182/

相关文章:

python - Werkzeug 中的线程和本地代理。用法

python - 如何从 sklearn 转换(Imputer)中保留 DataFrame 中的数据类型

split - 为什么我们应该在将 StratifiedKFold() 作为 GridSearchCV 的参数传递时调用 split() 函数?

python - 使用 sklearn 获得精确率和召回率

python - 在不涉及元组的情况下将两个列表变成 1

python - 使用带有 selenium 的双循环并使用 By.SELECTOR 进行网页抓取

python - 如何从外键模型填充 Django 中的下拉列表

python - 属性错误 : 'GMM' object has no attribute 'covariances_' || AttributeError: 'module' object has no attribute 'GaussianMixture'

python - 将python sklearn概率估计制作成索引序列

runtime-error - 我在每个类中有超过三个元素,但我收到此错误 : "class cannot be less than k=3 in scikit-learn"