我想要进行主成分分析以实现数据降维和集成。
我有三个特征(变量)和五个样本,如下所示。我希望通过转换它们(计算第一主成分)将它们集成为一维(一个特征)输出。我希望使用转换后的数据进行进一步的统计分析,因为我相信它显示了三个输入特征的“主要”特征。
我首先使用scikit-learn在python中编写了一个测试代码,如下所示。这是一个简单的情况,其中3个特征的值都是相等的。换句话说,我对三个相同向量[0,1,2,1,0]应用了PCA。
代码:
我有三个特征(变量)和五个样本,如下所示。我希望通过转换它们(计算第一主成分)将它们集成为一维(一个特征)输出。我希望使用转换后的数据进行进一步的统计分析,因为我相信它显示了三个输入特征的“主要”特征。
我首先使用scikit-learn在python中编写了一个测试代码,如下所示。这是一个简单的情况,其中3个特征的值都是相等的。换句话说,我对三个相同向量[0,1,2,1,0]应用了PCA。
代码:
import numpy as np
from sklearn.decomposition import PCA
pca = PCA(n_components=1)
samples = np.array([[0,0,0],[1,1,1],[2,2,2],[1,1,1],[0,0,0]])
pc1 = pca.fit_transform(samples)
print (pc1)
输出
[[-1.38564065]
[ 0.34641016]
[ 2.07846097]
[ 0.34641016]
[-1.38564065]]
- 在降维后,首先进行第一主成分分析是否是数据整合的适当方法?
1-2. 例如,如果特征如下[功率排名,速度排名],并且功率与速度有负相关性,当为二维特征时,我想知道哪些样本同时具有“高功率”和“高速度”。比较[功率1,速度1]和[功率2,速度2]是很容易决定的,但像[功率4,速度2]与[功率3,速度3]这样的情况就很难了。因此,我想对二维的'功率和速度'数据集应用PCA并提取第一主成分,然后使用'第一主成分'的排名。这种方法仍然适用吗?
- 在这种情况下,我认为输出结果也应该是 [0, 1, 2, 1, 0],与输入相同。但是输出却是 [-1.38564065, 0.34641016, 2.07846097, 0.34641016, -1.38564065]。代码存在问题还是输出结果正确?