首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Scikit -规模与网格搜索相结合

Scikit -规模与网格搜索相结合
EN

Stack Overflow用户
提问于 2015-12-03 04:06:15
回答 1查看 4.2K关注 0票数 9

我是新的科学工具包,有两个轻微的问题,结合一个数据规模和网格搜索。

  1. 有效定标器

考虑到交叉验证,我希望每次我们在K-1折叠上训练模型时,数据定标器(例如,使用preprocessing.StandardScaler() )只适合于K-1折叠,然后应用于其余的折叠。

我的印象是,下面的代码将适合于整个数据集上的定标器,因此,我想修改它,使其像前面所描述的那样运行:

代码语言:javascript
运行
复制
classifier = svm.SVC(C=1)    
clf = make_pipeline(preprocessing.StandardScaler(), classifier)
tuned_parameters = [{'C': [1, 10, 100, 1000]}]
my_grid_search = GridSearchCV(clf, tuned_parameters, cv=5)
  1. 取回内标量装置

当refit=True“在”网格搜索之后,模型在整个数据集上进行重构(使用最佳估计器),我的理解是,管道将再次被使用,因此定标器将适合于整个数据集。理想情况下,我希望重用适合我的“测试”数据集。有什么方法可以直接从GridSearchCV检索它吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-03 18:03:52

  1. GridSearchCV对管道对象一无所知;它假设提供的估计器是原子的,因为它不能只选择某个特定阶段(例如,StandartScaler),不能在不同的数据上适应不同的阶段。所有GridSearchCV都会在所提供的估计器上调用fit(X,y)方法,其中X,y-一些数据的分裂。因此,它适用于所有阶段在同一分裂。
  2. 试试这个: best_pipeline = my_grid_search.best_estimator_ best_scaler = best_pipeline["standartscaler"]
  3. 如果将变压器/估值器封装到管道中,则必须在每个参数的名称(例如:tuned_parameters = [{'svc__C': [1, 10, 100, 1000]}] )中添加前缀,请参阅这些示例以获得更多详细信息( 多特征提取方法的比较流水线:将PCA和logistic回归链接起来 )。

不管怎样,看看这个,它可能会帮助你GridSearchCV

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34057716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档