首页 > 解决方案 > sklearn 中的 pca.inverse_transform

问题描述

将我的数据拟合到 X = 我的数据之后

pca = PCA(n_components=1)
pca.fit(X)
X_pca = pca.fit_transform(X)

现在 X_pca 有一个维度。

当我按定义执行逆变换时,它不应该返回原始数据,即X,二维数组吗?

当我做

X_ori = pca.inverse_transform(X_pca)

我得到相同的尺寸但是不同的数字。

此外,如果我同时绘制 X 和 X_ori 它们是不同的。

标签: pythonscikit-learnpca

解决方案


当我按定义执行逆变换时,它不应该返回原始数据吗

不,只有当您指定的组件数量与输入数据的维度相同时,您才能期望这一点。对于任何小于此的 n_components,在应用逆 PCA 变换后,您将得到与原始数据集不同的数字:下图给出了二维的说明。

在此处输入图像描述


推荐阅读