2011-02-10 82 views
3

我有一组100观察,其中每个观察具有45个特征。每一个观察结果都有一个标签,我想根据这45个特征来预测。所以它是一个尺寸为45 x 100的输入矩阵和尺寸为1 x 100的目标矩阵。
问题是我想知道这45个特征中有多少与我的数据集相关,基本上是委托人组件分析,我知道我可以用Matlab函数processpca来做到这一点。

你能告诉我我该怎么做?假设输入矩阵是具有45行和100列的x,并且y是具有100个元素的向量。Matlab问题 - 主成分分析

+1

@大卫赫弗南:这是对我见过的SO,但最模糊的评论。 @Jack:R在语法上类似于Matlab。如果你想走那条路线,你可以看看http://www.uga.edu/strata/software/pdf/pcaTutorial.pdf。 – aqua 2011-02-10 20:44:10

+0

是啊,R的PCA想要什么 – 2011-02-10 20:45:19

+2

@David Heffernan:Matlab的主成分分析代码缺乏那么多,以至于有一个*有*可以切换到R以获得不错的结果? – Jonas 2011-02-10 21:17:39

回答

5

假设您想要构建基于45x100矩阵的1x100向量模型,我不相信PCA会按照您的想法进行操作。 PCA可用于选择模型估计的变量,但这是收集一组模型特征的一种间接方式。无论如何,我建议您阅读这两种:

Principal Components Analysis

和...

Putting PCA to Work

...这两者在MATLAB提供代码不需要任何的工具箱。

1

你试过COEFF = princomp(x)

COEFF = princomp(X)执行对 n乘p个数据矩阵X主 成分分析(PCA),并返回 主分量系数,也 称为负荷。行X 对应于观察值,列为 变量。 COEFF是一个p-by-p矩阵,每个列包含一个主要组件的系数 。 列按组件方差递减。

0

从你的问题我推断你不需要在MATLAB中做,但你只是想分析你的数据集。根据我的观点,关键是可视化依赖关系。

如果你不是被迫在MATLAB中进行分析,我建议你尝试更专门的软件,比如WEKA(www.cs.waikato.ac.nz/ml/weka/)或RapidMiner(rapid-i .COM)。这两种工具都可以提供PCA和其他降维算法+它们包含很好的可视化工具。

0

您的使用案例听起来像分类和特征选择的组合。

统计工具箱在这方面提供了很多很好的功能。该工具箱提供访问多项分类算法包括

  • 朴素贝叶斯分类袋装
  • 决策树(又名随机森林)
  • 二项式和多标称逻辑回归
  • 线性判别分析

您还有多种选项可用于功能选择,包括

  • sequentialfs(向前和向后特征选择)
  • relifF
  • “treebagger” 还支持用于特征选择和估计变量重要性选项。

或者,您可以使用一些Optimization Toolbox的功能来编写自己的自定义方程来估计变量的重要性。

一对夫妇回来后,我为The MathWorks举办了题为“计算统计:使用MTALAB入门分类”的网络研讨会。您可以在

http://www.mathworks.com/company/events/webinars/wbnr51468.html?id=51468&p1=772996255&p2=772996273

码表的网络研讨会和数据的例子设置可在MATLAB中心

http://www.mathworks.com/matlabcentral/fileexchange/28770

随着使用主成分这一切说和做,很多人在应用分类算法之前作为预处理步骤进行分析。 PCA被使用了很多

  1. 当你需要当你担心多重