用于在Python中查找要素的非排序特征值

时间:2011-06-03 13:18:32

标签: python pca

我现在正在尝试使用PCA的一些东西但是对我来说知道哪些是每个特征值的特征非常重要。

numpy.linalg.eig为我们提供了已排序的对角矩阵,但我希望这个矩阵与它们在原始位置。有人知道我怎么做吗?

2 个答案:

答案 0 :(得分:1)

斯文在评论中提到的是正确的。特征值没有“默认”排序。每个特征值与特征向量关联重要是特征值 - 特征向量对正确匹配。您会发现所有语言和包都会这样做。

因此,如果R给出特征值[e1,e2,e3和特征向量[v1,v2,v3],python可能会给你(比方说)[e3,e2,e1][v3,v2,v1]

回想一下,特征值会告诉您数据中的多少方差由与之关联的特征向量解释。因此,对PCA有用的特征值(对我们来说很直观)的自然排序是按大小(升序或降序)。这样,您可以轻松查看特征值并确定要保留的特征值(大,因为它们可以解释大部分数据)以及要抛出哪些(小的,可能是高频特征或仅是噪声)

答案 1 :(得分:0)

(不是答案,但我需要为此评论提供高级格式。)

你必须指定你想要的订购。例如,该矩阵的特征值

    / 0  1 \
A = |      |
    \ 1  0 /

+1-1,对应于特征向量(1 1)(1 -1)。您希望如何订购这些特征值,为什么?