大佬教程收集整理的这篇文章主要介绍了使用`GridSearchCV`来测试从管道中完全删除一个步骤的效果吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我正在使用 gridsearchcv
来搜索超参数,并且我也在使用 Pipeline
,因为我(认为我)想要预处理我的数据:
param_grID = {
'svc__gAMMa': np.linspace(0.2,1,5)
}
pipeline = Pipeline(steps=[('scaler',StandardScaler()),('svc',SVC())])
search = gridsearchcv(pipeline,param_grID,cv=10)
search.fit(Train_x,Train_y)
有没有办法测试我的假设,即包含 scaler
步骤实际上是有帮助的(不仅仅是删除它并重新运行它)?
即,有没有办法写:
param_grID = {
'svc__gAMMa': np.linspace(0.2,5),'scaler': [On,Off]
}
或者我应该有什么不同的方法来解决这个问题?
您可以像这样将 passthrough
传递给您的 param_grid
来实现:
param_grid = {
'svc__gAMMa': np.linspace(0.2,1,5),'scaler': ['passthrough',StandardScaler()]
}
如sklearn pipelines docs
个别步骤也可以作为参数替换,非最终步骤可以通过将它们设置为“passthrough”来忽略:
>>> from sklearn.pipeline import Pipeline
>>> from sklearn.svm import SVC
>>> from sklearn.decomposition import PCA
>>> from sklearn.linear_model import LogisticRegression
>>> estimators = [('reduce_dim',PCA()),('clf',SVC())]
>>> pipe = Pipeline(estimators)
>>> param_grid = Dict(reduce_dim=['passthrough',PCA(5),PCA(10)],... clf=[SVC(),LogisticRegression()],... clf__C=[0.1,10,100])
>>> grid_search = GridSearchCV(pipe,param_grid=param_grid)
以上是大佬教程为你收集整理的使用`GridSearchCV`来测试从管道中完全删除一个步骤的效果吗?全部内容,希望文章能够帮你解决使用`GridSearchCV`来测试从管道中完全删除一个步骤的效果吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。