我想了解如何在管道中应用逆变换,而不是StandardScaler直接使用该函数。
我正在使用的代码如下:
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder, StandardScaler
categoric = X.select_dtypes(['object']).columns
numeric = X.select_dtypes(['int']).columns
tf = ColumnTransformer([('onehot', OneHotEncoder(), categoric),
('scaler', StandardScaler(), numeric)])
X_preprocessed = tf.fit_transform(X)
model = KMeans(n_clusters=2, random_state=24)
model.fit(X_preprocessed)
Run Code Online (Sandbox Code Playgroud)
获得给定模型(本例中为 KMeans)的输出后,如何取回numeric任何 X 数据帧值的原始比例?
我知道StandardScaler有一个方法 ( .inverse_transformation) 可以做到这一点,但我的问题是在使用管道时出现的ColumnTransformer。
PS:这样做的目的是解释模型的质心。