我是新的科学工具包,有两个轻微的问题,结合一个数据规模和网格搜索。
考虑到交叉验证,我希望每次我们在K-1折叠上训练模型时,数据定标器(例如,使用preprocessing.StandardScaler() )只适合于K-1折叠,然后应用于其余的折叠。
我的印象是,下面的代码将适合于整个数据集上的定标器,因此,我想修改它,使其像前面所描述的那样运行:
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)
当refit=True“在”网格搜索之后,模型在整个数据集上进行重构(使用最佳估计器),我的理解是,管道将再次被使用,因此定标器将适合于整个数据集。理想情况下,我希望重用适合我的“测试”数据集。有什么方法可以直接从GridSearchCV检索它吗?
发布于 2015-12-03 18:03:52
best_pipeline = my_grid_search.best_estimator_ best_scaler = best_pipeline["standartscaler"]
tuned_parameters = [{'svc__C': [1, 10, 100, 1000]}]
)中添加前缀,请参阅这些示例以获得更多详细信息( 多特征提取方法的比较、流水线:将PCA和logistic回归链接起来 )。不管怎样,看看这个,它可能会帮助你GridSearchCV。
https://stackoverflow.com/questions/34057716
复制相似问题