2013-11-22 62 views
-1

我想在Matlab中执行我的特征选择的PCA。据我了解,在Matlab中已经预编译功能 [pc,zscores,pcvars] = princomp(yeastvalues)Matlab中的PCA-主成分分析,代码

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

+0

Princomp是“统计工具箱”的功能,而不是纯粹的matlab,如果这是你的问题。 – bdecaf

+1

你在问什么?你使用'princomp'函数吗?因为它站立,你什么也没问 – Dan

+1

在最新版本的MATLAB中,你应该使用'pca' –

回答

1

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

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

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

+0

是的,我有统计工具箱。所以我可以使用princomp或者pca。那么在使用princomp或者pca之前我应该​​怎么处理数据集呢? – user1629213

+0

在应用PCA之前或之后,我不知道应该如何处理您的数据 - 完全取决于您的数据是什么样的,以及您想回答哪些问题。如果你的数据全是数字的,那么你可以直接将它直接放入PCA中,但取决于你的应用程序,你可能需要将它集中,或者缩放它,或者应用其他一些变换。如果它不是数字,或者它包含缺少的数据,则需要以其他方式进行修改。没有人可以在不知道您的应用程序和数据性质的情况下做出回答。 –

+0

我的应用程序是辅助机器人。因此,我从我的传感器数据中提取了一些参数,我认为这些参数与在执行某项任务时对用户进行分类有关。 我从部署在轮椅上的传感器包中获取运动数据。我把某些动作归类为180度,Im给他一个标记(从1到4) 所以从传感器包和软件中我已经提取了速度,距离,时间,速度标准差等参数与用户运行的分类相关。所以我的数据都是数字。现在希望很清楚。 – user1629213