小编Jai*_*era的帖子

如何在ColumnTransformer的管道中实现逆变换?

我想了解如何在管道中应用逆变换,而不是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:这样做的目的是解释模型的质心。

python pipeline scikit-learn

8
推荐指数
1
解决办法
4682
查看次数

标签 统计

pipeline ×1

python ×1

scikit-learn ×1