当前位置: 首页 > 面试题库 >

使用sklearn对网格搜索使用显式(预定义)验证集

常乐
2023-03-14
问题内容

我有一个数据集,以前已将其分为3组:训练,验证和测试。必须按照给定的方式使用这些集合,以便比较不同算法之间的性能。

我现在想使用验证集优化我的SVM的参数。但是,我找不到如何将验证集显式输入到中sklearn.grid_search.GridSearchCV()。以下是我之前用于在训练集上进行K折交叉验证的一些代码。但是,对于此问题,我需要使用给定的验证集。我怎样才能做到这一点?

from sklearn import svm, cross_validation
from sklearn.grid_search import GridSearchCV

# (some code left out to simplify things)

skf = cross_validation.StratifiedKFold(y_train, n_folds=5, shuffle = True)
clf = GridSearchCV(svm.SVC(tol=0.005, cache_size=6000,
                             class_weight=penalty_weights),
                     param_grid=tuned_parameters,
                     n_jobs=2,
                     pre_dispatch="n_jobs",
                     cv=skf,
                     scoring=scorer)
clf.fit(X_train, y_train)

问题答案:

采用 PredefinedSplit

ps = PredefinedSplit(test_fold=your_test_fold)

然后设置cv=psGridSearchCV

test_fold:“类似数组的形状(n_samples个)

test_fold [i]给出样本i的测试集折叠。值-1表示相应的样本不属于任何测试集折叠,而是始终将其放入训练折叠中。

另见这里

使用验证集时,请将属于验证集的所有样本的test_fold设置为0,将所有其他样本的test_fold设置为-1。



 类似资料:
  • 我可以在我的OpenAPI定义中使用我自己的自定义格式并让AWS API Gateway使用它们进行验证吗?我找不到任何参考资料,所以我假设没有? 例如,我只想问候一个叫戴夫的人:

  • 我想使用Spring boot和JSON模式验证器选项在Mongo中定义一个集合(https://docs.mongodb.com/manual/core/schema-validation/#json-模式),我不想要JSR-303 Bean验证(这不是一个有效的答案Spring data mongoDb not null注释,就像Spring data Jpa一样),但在创建集合时,使用Col

  • 我试图验证二叉查找树。给定二叉树的根,确定它是否是有效的二叉查找树(BST)。 有效的BST定义如下: 节点的左子树只包含键小于节点键的节点。节点的右子树只包含键大于节点键的节点。左子树和右子树也必须是二叉搜索树。 https://leetcode.com/problems/validate-binary-search-tree/ 我正在使用递归解决方案,但它未能通过以下测试用例: 输入:[2,1

  • 如何使用threeten BP验证自定义格式的日期,如31/02/1985?

  • 我正在寻找一个解决方案来解决Swagger(OpenAPI)数据类型和JSON模式之间处理数据类型空值的不兼容性。 我们的swagger文件包含所有模式定义,我想使用JSON。Net模式,用于API测试中的模式验证步骤。 有效的swagger属性定义: 将失败JSON模式验证空值()。 如果我将可为空的属性定义替换为: 对于空值,验证将是成功的,但这打破了昂首阔步的语法。 我找不到的OpenAPI

  • 我目前正在使用Spring Security开发Spring Boot REST应用程序。我的工作场所使用Auth0(提供用户管理的外部第三方服务)进行身份验证,并已要求我在此应用程序中实现它。身份验证发生在用React编写的前端应用程序中。前端应用程序显示登录表单,并将用户名和密码发送给Auth0,Auth0验证凭据,并在验证用户时返回JWT令牌。 在此之后,前端应用程序将通过头中的JWT令牌从