如何在matlab中使用PCA减少矩阵维数? [复制]

Posted

技术标签:

【中文标题】如何在matlab中使用PCA减少矩阵维数? [复制]【英文标题】:How to reduce matrix dimension using PCA in matlab? [duplicate] 【发布时间】:2015-07-19 09:43:16 【问题描述】:

我想减少更大维度的矩阵,即 2000*768;到一些较低的尺寸,即 200*768 或 400*400(不固定);在 MatLab 中使用主成分分析 (PCA)。我想这样做是为了减少特征尺寸。我怎样才能轻松做到?请推荐一些教程来更好地理解 PCA。

提前致谢。

【问题讨论】:

欢迎来到 SO!请查看***.com/tour。通常,您会在此处提问之前展示您尝试过的内容。 很惊讶您没有使用 Google。重复的链接是我找到的第一个。 【参考方案1】:

PCA 是一种非常有用的降维工具,但是当您确切了解它在做什么以及从中得到什么时,就应该使用它。对于一个好的介绍click here - 这是一个不错的解释,不难理解。还有this article,这是一个快速的 DIY 演练,可以帮助您更好地了解正在发生的事情。

一旦你知道你得到了什么,PCA is easy in matlab。只需输入pca(X),即可对数据集X执行。

得到的结果在很大程度上取决于得到的结果(例如things like normalisation are very important for input data),您可以使用值得了解的额外参数来设置主成分分析。 See matlab's guide here.

您在降维中寻找的内容是用尽可能少的组件最好地表示数据。使用[coeff,score,latent,tsquared,explained] = pca(X)explained 输出,您会得到一个向量,告诉您每个主成分解释了多少数据,这可以很好地指示是否可以进行降维。

【讨论】:

虽然答案很有趣,但我认为您不应该回答这类问题,因为它会鼓励跑题。 好的,让它尽可能通用,以便在 OP 需要时对其进行调查。可能应该刚刚评论它。 实际上,根据 SO 的标准,要求资源的问题被认为是题外话 啊,好的,谢谢提醒

以上是关于如何在matlab中使用PCA减少矩阵维数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何让matlab全速运行

matlab自带princomp(PCA降维方式)

主成分分析(PCA)原理与实现

在matlab中,关于PCA降维运算,求得特征向量矩阵之后,又要如何才能得到我需要的投影矩阵呢?

matlab中怎样计算一个矩阵中每个数的平方?

matlab中怎样计算一个矩阵中每个数的平方