假设我在一个管道上使用[StandardScaler,PCA& amp; Lasso],其中网格搜索超过PCA参数的2个值和Lasso参数的3个值(因此6个可能的参数组合)。在进行CV时,对于给定的折叠,算法仅标准化该折叠中的列车(即,不包括用于确定标准化器的均值/方差的折叠测试集)或者它标准化了折叠之外的整个数据集(在这种情况下,整个网格搜索过程只进行了一次标准化)?
答案 0 :(得分:5)
如果您使用的sklearn.pipeline.Pipeline
对象包含sklearn.preprocessing.StandardScaler
,sklearn.decomposition.PCA
和sklearn.linear_model.Lasso
,请使用此管道使用{{进行交叉验证的估算工具1}},然后GridSearchCV
将仅在内部列车折叠处估计中心和重新缩放到单位方差的参数。
在评估测试折叠上的管道时,StandardScaler
将使用存储的平均值和标准偏差,并从测试集中减去列车平均值,并将结果除以列车标准偏差。
答案是:否,StandardScaler
不会以任何方式使用测试集来确定数据的均值和方差。