Python:可以用多维向量进行PCA吗?

Python:可以用多维向量进行PCA吗?,python,scikit-learn,pca,Python,Scikit Learn,Pca,我想尝试使用描述进行PCA 是否可以对具有不同维度的数组执行相同的操作,如以下所示 X = np.array([[-1, -1], [-2, -1], [-3, -2, 3], [1, 1], [2, 1], [3, 2, 3]]) 如果我尝试,会出现以下错误: pca = PCA(n_components=2) pca.fit(X) ValueError: setting an array element with a sequence. 不,考虑到主成分分析的数学背景,这是不可能的。PC

我想尝试使用描述进行PCA

是否可以对具有不同维度的数组执行相同的操作,如以下所示

X = np.array([[-1, -1], [-2, -1], [-3, -2, 3], [1, 1], [2, 1], [3, 2, 3]])
如果我尝试,会出现以下错误:

pca = PCA(n_components=2)
pca.fit(X)
ValueError: setting an array element with a sequence.

不,考虑到主成分分析的数学背景,这是不可能的。PCA是高维空间中的一种旋转。

你对X的定义有点滥用了NumPy。你最终会得到一个对象的数据类型,而不是一个整数数组。如果打印X的值,您会看到它是一个列表对象数组。我不清楚,也可能不知道在2元素子列表中,第三维度的值是什么。你应该清理你的数据,这样所有的维度都是一样的。我相信PCA和类似的方法都假设向量长度相等。相关的,你为什么要这么做?“我不知道有哪种声音分析方法是可取的。”马特尔说。我想对具有不同维度的数据进行降维,如上图所示,但降维是对长度相同的向量执行的。这个想法是将苹果与苹果进行比较,而不是将苹果与松鼠或椰子进行比较。为什么有些向量的维数比其他向量的维数少?我要说的是,Numpy中的任何东西都不能很好地处理这样的数组。这不仅仅是PCA。即使X+1也会引发异常。
pca = PCA(n_components=2)
pca.fit(X)
ValueError: setting an array element with a sequence.