如何解决PCA缩减的数据集未显示与原始数据集相同的值
我正在7维数据集上运行PCA。从PCA中,我推断出理想的尺寸数是3,因为它可以捕捉到我的89%的方差(对于我的目的而言足够准确)。
此后,我使用pca.fit_transform
来获取我的降维数据集。当我打印尺寸缩小的数据集时,看不到原始值(这是我期望的)。我看到了一个数据集,尺寸减小了,但列和行中的值却完全不同(请参见下文)
#ORIGINAL DATASET
height length width std min max kurtosis
0 15.26 14.84 0.8710 5.763 3.312 2.221 5.220
1 14.88 14.57 0.8811 5.554 3.333 1.018 4.956
2 14.29 14.09 0.9050 5.291 3.337 2.699 4.825
3 13.84 13.94 0.8955 5.324 3.379 2.259 4.805
4 16.14 14.99 0.9034 5.658 3.562 1.355 5.175
... ... ... ... ... ... ... ...
205 12.19 13.20 0.8783 5.137 2.981 3.631 4.870
206 11.23 12.88 0.8511 5.140 2.795 4.325 5.003
207 13.20 13.66 0.8883 5.236 3.232 8.315 5.056
208 11.84 13.21 0.8521 5.175 2.836 3.598 5.044
209 12.30 13.34 0.8684 5.243 2.974 5.637 5.063
#PCA REDUCED DATASET
0 1 2
0 0.317047 0.783669 -0.631010
1 -0.003386 1.913214 -0.669754
2 -0.459443 1.907225 0.932489
3 -0.591936 1.931069 0.499311
4 1.102910 2.068090 0.056705
... ... ... ...
205 -1.991107 0.865956 0.513303
206 -2.726865 -0.208190 -0.059059
207 -1.403633 -1.298593 2.905811
208 -2.339328 0.099699 -0.382515
209 -1.955953 -0.525071 1.013113
为什么第二个数据集没有显示与原始数据集相同的值,而只是缩小了尺寸?我觉得我可能误会了一些简单的东西。
关于它的价值,这是我使用的代码:
#STEP 1: normalise the data
from sklearn.preprocessing import scale #required for normalising data set
Xnorm = scale(data_features_pt2)
#STEP 2: perform PCA using sklearn PCA implementation
from sklearn.decomposition import PCA
pca = PCA(n_components = 7)
pca.fit(Xnorm)
#STEP 3: preparing dimensionality reduced dataset
pca = PCA(n_components = 3)
Zred_3 = pca.fit_transform(Xnorm)
print(Zred_3.shape)
非常感谢您的帮助。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。