Python中的主成分分析(PCA)无法正常工作

时间:2016-11-25 23:03:22

标签: python numpy pca

我是Python的新手,并遵循此https://stackoverflow.com/a/13224566/

import numpy as np
import matplotlib.pyplot as plt

from matplotlib.mlab import PCA

pcadata = array(1,2,3)
pcaresults = PCA(pcadata)

print(pcaresults)

它给出了错误:pcadata = array(1,2,3) NameError:未定义名称“array” 背景:我在Windows环境中的Pydev Eclipse中使用Python

1 个答案:

答案 0 :(得分:0)

数组本身并没有实现数组,而是在模块numpy中实现。使用np.array([1,2,3])生成包含整数[1,2,3]的一维数组。

为了进行主成分分析,您必须拥有比自由度更多的向量(即 - 您必须拥有比列更多的行)。因此,您应该将pcadata设置为至少有三行。

 `pcadata = np.array([[1,2,3],[4,5,6],[6,7,8]])` 

您在下面的评论中询问,如何访问pcaresults值?您可以使用print(pcaresults.a)访问输入的规范化居中版本。如果您想要pcaresults的其他一些属性,则应尝试help(pcaresults)查看pcaresults中包含的其他内容。