Python sklearn pca的n_分量等于问题的特征数

Python sklearn pca的n_分量等于问题的特征数,python,scikit-learn,pca,Python,Scikit Learn,Pca,当我没有设置n_components参数时,保留的组件数量等于数据帧的特征数量 如果未设置n_组件,则转换后的数据帧应该相同,但事实证明并非如此 为什么转换后的数据帧与原始数据帧不同 import pandas as pd pca = PCA(random_state=seed) pd1 = pd.DataFrame([[1,1,1],[2,2,2],[3,3,3]]) pca.fit(pd1) print(pd1) print(pca.transform(pd1)) 输出为: 0 1 2

当我没有设置n_components参数时,保留的组件数量等于数据帧的特征数量

如果未设置n_组件,则转换后的数据帧应该相同,但事实证明并非如此

为什么转换后的数据帧与原始数据帧不同

import pandas as pd
pca = PCA(random_state=seed)
pd1 = pd.DataFrame([[1,1,1],[2,2,2],[3,3,3]])
pca.fit(pd1)
print(pd1)
print(pca.transform(pd1))
输出为:

0  1  2
0  1  1  1
1  2  2  2
2  3  3  3
[[-1.73205081e+00 -1.11022302e-16  0.00000000e+00]
 [ 0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.73205081e+00  1.11022302e-16  0.00000000e+00]]
文件中说

这就是为什么你的结果有三个部分

然后PCA将把你的数据转换到三个主轴上,在这三个主轴上方差最大且正交

要获得关于PCA作用的更多数学解释,请查看其他来源,如中的文档

这就是为什么你的结果有三个部分

然后PCA将把你的数据转换到三个主轴上,在这三个主轴上方差最大且正交


要获得关于PCA作用的更多数学解释,请检查其他来源,如

,因为sklearn应该提供不同的输出。。。这就是它的目的不?…因为sklearn应该提供不同的输出。。。这就是为什么不?。。。。
n_components == min(n_samples, n_features)