在SciPy中进行主成分分析可以使用scipy.linalg.eig
函数。以下是一个简单的示例代码:
import numpy as np
from scipy.linalg import eig
# 创建一个随机的数据集
data = np.random.rand(10, 5)
# 计算数据集的协方差矩阵
cov_mat = np.cov(data, rowvar=False)
# 计算特征值和特征向量
eig_vals, eig_vecs = eig(cov_mat)
# 输出前两个主成分
print("Principal Component 1:")
print(eig_vecs[:, 0])
print("Principal Component 2:")
print(eig_vecs[:, 1])
在这个示例中,我们首先生成一个随机的数据集,然后计算数据集的协方差矩阵。接下来,使用scipy.linalg.eig
函数计算协方差矩阵的特征值和特征向量,然后输出前两个主成分(特征向量)。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: SciPy怎么用于随机数生成和概率分布