2012-12-16 37 views
3

我有一个多维数据的大数据集(240维)。Matlab中的线性判别分析LDA

我是一名初学者执行数据挖掘,我想通过使用Matlab应用线性判别分析。不过,我已经看到网上有很多功能解释,但我不明白它们应该如何应用。

基本上我想申请LDA。

完成这一步之后,我希望能够对我的数据进行重建。

我可以手动做到这一点,但我想知道是否有任何预定义的功能可以做到这一点,因为他们应该已经被优化。

我的初始数据是这样的:size(x)= [2000 240]。所以基本上我有240个特征(尺寸)和2000个数据点。我想在这个数据集上执行LDA。

任何帮助或提示都可以。

谢谢你的帮助。

回答

3

来自Statistics Toolbox的函数classify确实是线性的(并且,如果设置了一些选项,则为二次的)判别分析。在文档中有几个工作示例说明了它应该如何使用:请输入doc classifyshowdemo classdemo来查看它们。

240个功能是相当多的,因为只有2000个观测值,即使您只有两个类。您可能希望在LDA之前应用降维方法,如PCA(请参阅doc princomp)或使用功能选择方法(请参阅doc sequentialfs)。

+0

我有10类:它们是手写的数字0,1,2,3,4,5,6,7,8,9每个对应一个类。我将使用Fisher线性判别分析(LDA)将240维数据投影到较低维的子空间上,就像我在PCA中做的那样。 – Eneramo

+0

谢谢萨姆我通过你提供的文档链接解决了我的问题。 – Eneramo

1

您可以使用fitcdiscr在MATLAB使用LDA分类2014