【问题标题】:PCA- Principal Component Analysis in Matlab , codePCA- Matlab中的主成分分析,代码
【发布时间】:2013-11-22 06:28:35
【问题描述】:

我想在 Matlab 中执行我的特征选择的 PCA。据我了解,在 Matlab 中已经是预编译的函数 [pc, zscores, pcvars] = princomp(yeastvalues)

这是真的还是我需要别的东西?

【问题讨论】:

  • Princomp 是“统计工具箱”的功能,如果这是您的问题,则不是纯 matlab。
  • 你在问什么?你搜索过princomp 函数吗?就目前而言,你什么都不问
  • 在最新版本的 MATLAB 中,您应该使用pca
  • 我有 9x66 数据集。我提取了 9 个参数(特征)来描述用户在移动机器人平台上执行某些任务时的运行情况。我想使用 SVM 对用户运行进行分类。所以,想用PCA来看看哪些特征对分类最重要。现在更清楚了吗?

标签: matlab pca


【解决方案1】:

在最新版本的 MATLAB 中,最好使用的函数是 pca。这是为了逐步取代旧功能princomp,尽管princomp 仍然支持向后兼容,我认为至少在几个版本中可能会保持这种状态。

pcaprincomp 都是 Statistics Toolbox 的一部分。您可以通过输入命令ver 来检查您是否安装了Statistics Toolbox,该命令将列出您已安装的所有产品。

任一命令的输出通常标记为[coeffs, scores, latent]。首先是主成分的系数。第二个是主成分分数(与 z 分数完全不同)。三是主成分方差。鉴于您的变量命名为 [pc, zscores, pcvars],我不确定您期望得到什么,但这就是您将得到的。

【讨论】:

  • 是的,我有统计工具箱。所以我可以使用princomp或pca。那么在使用 princomp 或 pca 之前我应该​​如何处理数据集呢?
  • 我不知道在应用 PCA 之前或之后应该如何处理数据 - 这完全取决于您的数据是什么样的,以及您想回答什么问题。如果您的数据都是数字,那么您可以直接将其放入 PCA,但根据您的应用程序,您可能希望将其居中、缩放或对其应用其他转换。如果它不是数字,或者它包含丢失的数据,则需要以其他方式对其进行更改。在不了解您的应用程序和数据性质的情况下,没有人可以回答这个问题。
  • 我的应用程序是辅助机器人。因此,我从我的传感器数据中提取了一些我认为与用户在执行某些任务时运行的分类相关的参数。我从部署在轮椅上的传感器包中获取运动数据。我对某些动作进行分类,例如转 180 度,并给他一个标记(从 1 到 4)所以从传感器包和软件中,我提取了速度、距离、时间、速度的标准偏差等相关参数为用户分类运行。所以我的数据都是数字。现在希望很明确。
  • drtoolbox 对于降维操作很有用。 homepage.tudelft.nl/19j49/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 2012-10-24
  • 2015-07-03
  • 1970-01-01
  • 2015-07-29
  • 2013-03-31
  • 2019-09-29
相关资源
最近更新 更多