【发布时间】:2011-06-26 20:30:57
【问题描述】:
我想使用 Matlab 的“princomp”函数,但是这个函数给出了排序数组中的特征值。这样我就无法找出哪个列对应哪个特征值。 对于 Matlab,
m = [1,2,3;4,5,6;7,8,9];
[pc,score,latent] = princomp(m);
与
相同m = [2,1,3;5,4,6;8,7,9];
[pc,score,latent] = princomp(m);
也就是说,交换前两列不会改变任何东西。潜在的结果(特征值)将是:(27,0,0) 信息(哪个特征值对应于哪个原始(输入)列)丢失。 有没有办法告诉matlab不要对特征值进行排序?
【问题讨论】:
-
这...不是 PCA/特征分解的工作方式。不是刻薄,但是一本教科书可能会比这个社区更好地帮助你。
-
@Sunny 特征值对应于特征向量,它为您提供列/城市的线性组合。它们展示了不同城市之间的相互关系。
-
@Sunny 特征值与矩阵的特定行/列不对应。特征向量的分量就是这样做的。
-
@Sunny。我认为您对线性代数有基本的误解。也许更多帮助可以在这里找到math.stackexchange.com。谢谢
-
@Sunny:-1,请不要这样打,已经有很多知识渊博的人建议你,你缺乏基本的线性代数。提高你的线性代数技能,你会注意到“主成分分析”实际上是多么简单。谢谢
标签: matlab linear-algebra pca eigenvalue