From: John G on
I've got an m x m array. I want to apply Fisher discriminant analysis to it - the LDA in MatLab's stats toolbox isn't the Fisher one so I used the version provided by the supplementary toolbox stprtool package. http://cmp.felk.cvut.cz/cmp/software/stprtool/index.html

How do I run my program? I don't really understand the input:

data [struct] Binary labeled training vectors.
.X [dim x num_data] Training vectors.
.y [1 x num_data] Labels (1 or 2)


Also, I'm not really sure I understand the concept of a training data set. Does it have to be a subset of the array you want to analyze or a general data set?
From: Peter Perkins on
On 4/27/2010 4:10 PM, John G wrote:
> I've got an m x m array. I want to apply Fisher discriminant analysis to
> it - the LDA in MatLab's stats toolbox isn't the Fisher one

What makes you say that? I seem to recall that many version ago, the
default may have been something other than LDA, but even then you could
ask for LDA.
From: John G on
Peter Perkins <Peter.Perkins(a)MathRemoveThisWorks.com> wrote in message <hr7o6j$ioa$1(a)fred.mathworks.com>...
> On 4/27/2010 4:10 PM, John G wrote:
> > I've got an m x m array. I want to apply Fisher discriminant analysis to
> > it - the LDA in MatLab's stats toolbox isn't the Fisher one
>
> What makes you say that? I seem to recall that many version ago, the
> default may have been something other than LDA, but even then you could
> ask for LDA.



The LDA built into the stats toolbox appears to assume covariances equal & classes distributed normally, unlike Fisher LDA, so that's why I'm trying to use the one provided by the link I mentioned in my original post.

I'm not really sure about how to implement it given my data (square array) or even for that matter what a training data set is? Is it a particular subarray of the data you want analyzed, is it something else? etc.
From: Peter Perkins on
On 4/27/2010 8:04 PM, John G wrote:
> The LDA built into the stats toolbox appears to assume covariances equal
> & classes distributed normally, unlike Fisher LDA,

That _is_ Fisher LDA. How do you define it? If you want _unequal_ cov
matrices, that's quadratic discriminant analysis.
From: John G on
Peter Perkins <Peter.Perkins(a)MathRemoveThisWorks.com> wrote in message <hr81mf$nn2$1(a)fred.mathworks.com>...
> On 4/27/2010 8:04 PM, John G wrote:
> > The LDA built into the stats toolbox appears to assume covariances equal
> > & classes distributed normally, unlike Fisher LDA,
>
> That _is_ Fisher LDA. How do you define it? If you want _unequal_ cov
> matrices, that's quadratic discriminant analysis.


I guess I was wrong then. I thought Fisher's LDA was a bit different (Wikipedia says it doesn't necessarily make the same assumptions as regular LDA).

How do you implement the MatLab LDA then?

[C,err,P,logp,coeff] = classify(sample,training,group,'linear')

but what would you use for group and training? The example is kind of unclear. I'm uncertain what a training data set is - is it a particular subset of the m x m array you're working with or can it be generalized to something else or what?