gpt4 book ai didi

python - 为什么 numrow>numcol 用于 matplotlib 中的 PCA

转载 作者:太空宇宙 更新时间:2023-11-04 01:25:47 24 4
gpt4 key购买 nike

我有 15 个数据集,全部包含 62 个信息点,我正在尝试对它们进行 pca 分析,第一个数据集中的每个点都对应第二个和第三个数据集中的相同点,等等。但是目前我的代码,见下文,产生超过 62 个点的平均值,而不是 15 个,我在代码中只包含 3 个。为什么当我交换数组中的 x 和 y 时,它会说“我们假设 a 中的数据是用 numrows>numcols 组织的”。我能做些什么来改变这个?这是我的代码。

import numpy as np
import matplotlib
from matplotlib.mlab import PCA

x=np.zeros((62,3))
a=np.genfromtxt('1.txt').T[2] #list 62numbers
x[:,0]=a
print x[:,0]
b=np.genfromtxt('2.txt').T[2] #list 62numbers
x[:,1]=b
c=np.genfromtxt('3.txt').T[2] #list 62numbers
x[:,2]=c
results=PCA(x)
print results.mu

最佳答案

PCA函数接受形状为 (M,N) 的数组, 其中M是观察次数,N是数据的维数(每次观察的特征数)。错误消息告诉您没有足够的样本来执行 PCA。如果 M < N,则 PCA 失败因为在那种情况下你是欠采样的(协方差矩阵是奇异的)。

关于python - 为什么 numrow>numcol 用于 matplotlib 中的 PCA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18057201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com