小编Dav*_*ick的帖子

如何使用scikit学习具有新值的inverse_transform

我有一套用于scikit学习PCA的数据。在使用StandardScaler()执行PCA之前,我先缩放了数据。

variance_to_retain = 0.99
np_scaled = StandardScaler().fit_transform(df_data)
pca = PCA(n_components=variance_to_retain)
np_pca = pca.fit_transform(np_scaled)

# make dataframe of scaled data
# put column names on scaled data for use later
df_scaled = pd.DataFrame(np_scaled, columns=df_data.columns)
num_components = len(pca.explained_variance_ratio_)
cum_variance_explained = np.cumsum(pca.explained_variance_ratio_)

eigenvalues = pca.explained_variance_
eigenvectors = pca.components_
Run Code Online (Sandbox Code Playgroud)

然后,我对缩放后的数据集进行了K-Means聚类。我可以在缩放的空间中绘制聚类中心。

我的问题是:如何将中心的位置转换回原始数据空间。我知道StandardScaler.fit_transform()使数据具有零均值和单位方差。但是有了新的形状点(num_clusters,num_features),我可以使用inverse_transform(centers)将中心转换回原始数据的范围和偏移量吗?

谢谢大卫

python pca scikit-learn

3
推荐指数
1
解决办法
8432
查看次数

标签 统计

pca ×1

python ×1

scikit-learn ×1