Matlab问题-主成分分析
我有一组100个观察值,每个观察值有45个特征。每一个观察都有一个标签,我想根据这45个特征来预测。这是一个45×100维的输入矩阵和一个1×100维的目标矩阵。Matlab问题-主成分分析,matlab,Matlab,我有一组100个观察值,每个观察值有45个特征。每一个观察都有一个标签,我想根据这45个特征来预测。这是一个45×100维的输入矩阵和一个1×100维的目标矩阵。 问题是,我想知道这45个特征中有多少与我的数据集相关,基本上是主成分分析,我知道我可以用Matlab functionprocesspca实现这一点。 你能告诉我怎么做吗?假设输入矩阵是x,有45行100列,y是一个有100个元素的向量。你试过了吗 COEFF=princomp(X) 组件分析(PCA) n-by-p数据矩阵X,并
问题是,我想知道这45个特征中有多少与我的数据集相关,基本上是主成分分析,我知道我可以用Matlab function
processpca
实现这一点。
你能告诉我怎么做吗?假设输入矩阵是
x
,有45行100列,y
是一个有100个元素的向量。你试过了吗
COEFF=princomp(X)
组件分析(PCA)
n-by-p数据矩阵X
,并返回
主成分系数
被称为装载。X行
对应于观察结果,列对应于
变量COEFF
是一个逐p矩阵,
包含系数的每列
对于一个主成分。这个
列按递减顺序排列
成分方差
假设您想要基于45x100矩阵构建1x100向量的模型,我不相信PCA会像您所想的那样。PCA可用于选择模型估计的变量,但这是一种收集一组模型特征的间接方法。不管怎样,我建议阅读以下两种: 而且
…两者都在MATLAB中提供代码,不需要任何工具箱。从您的问题中,我推断您不需要在MATLAB中执行此操作,但您只需要分析数据集。根据我的观点,关键在于依赖关系的可视化
如果你不是被迫在MATLAB中进行分析,我建议你尝试更专业的软件,比如WEKA(www.cs.waikato.ac.nz/ml/WEKA/)或RapidMiner(rapid-I.com)。这两个工具都可以提供PCA和其他降维算法+它们包含很好的可视化工具 您的用例听起来像是分类和特征选择的组合 统计工具箱在这方面提供了很多很好的功能。工具箱提供了对许多分类算法的访问,包括
- 朴素贝叶斯分类器
- 决策树(又名随机森林)
- 二项和多名义logistic回归
- 线性判别分析
- sequentialfs(向前和向后特征选择)
- 放松
- “treebagger”还支持特征选择和估计变量重要性的选项
你应该找到相关矩阵。在以下示例中,matlab使用“corr”函数查找相关矩阵
@David Heffernan:这是我迄今为止看到的最模糊的评论@杰克:R在语法上类似于Matlab。如果你想走那条路,你可以看看。是的,R是你想要的PCA@David赫弗南:那Matlab的主成分分析代码怎么办?它太少了,以至于人们必须切换到R才能得到好的结果?@Jonas我相信你可以在Matlab中完成,而且我相信它工作得很好,只是统计在R中是最简单的。你可能会发现这篇文章很有用:注意,这个解决方案需要统计工具箱。我已经尝试过了,但问题是我想看看哪些特征在我的数据中是重要的。我想建立一个神经网络,我只想把这些特性作为输入。请把所有相关的代码和文档放在这里。链接可能会随着时间的推移而改变,并使此答案无效。