我想仅对数据集的数值部分应用StandardScaler,使用sklearn.compose.ColumnTransformer
函数(其余部分已进行独热编码)。我希望查看.scale_
和.mean_
参数,这些参数是根据训练数据拟合的,但是在使用列转换器时,函数scaler.mean_
和scaler.scale_
显然不起作用。有没有办法做到这一点?
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42, stratify=y)
scaler = StandardScaler()
data_pipeline = ColumnTransformer([ ('numerical', scaler, numerical_variables)], remainder='passthrough')
X_train = data_pipeline.fit_transform(X_train)
回答:
拟合的转换器可以在属性transformers_
(一个列表)和named_transformers_
(一个字典样式的对象,键是你提供的名称)中找到。因此,例如,
data_pipeline.named_transformers_['numerical'].mean_