假设我正在使用GridSearchCV、PCA和Lasso在管道上执行StandardScaler,其中网格搜索的PCA参数超过2个值,Lasso参数超过3个值(因此,有6个可能的参数组合)。在进行CV时,对于给定的折叠,该算法是否只标准化该折叠中的训练集(即不包括该折叠的用于确定标准化器均值/方差的测试集),还是对折叠外的整个数据集进行标准化(在这种情况下,对整个网格搜索过程只进行一次标准化)?
发布于 2014-06-03 18:22:40
如果您使用的是包含sklearn.pipeline.Pipeline对象的sklearn.preprocessing.StandardScaler、sklearn.decomposition.PCA和sklearn.linear_model.Lasso,并使用这个管道使用GridSearchCV进行交叉验证的估计,那么StandardScaler将估计仅在内部火车折叠上对单元方差进行对中和重标度的参数。
在测试折皱上对管道进行评价时,StandardScaler将使用存储的方法和标准偏差,从测试集中减去列车均值,并将结果除以列车标准差。
所以答案是:No,StandardScaler不会以任何方式使用测试集来确定数据的均值和方差。
https://stackoverflow.com/questions/24020095
复制相似问题