我现在正在尝试使用PCA的一些东西但是对我来说知道哪些是每个特征值的特征非常重要。
numpy.linalg.eig
为我们提供了已排序的对角矩阵,但我希望这个矩阵与它们在原始位置。有人知道我怎么做吗?
答案 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)
。您希望如何订购这些特征值,为什么?