Path: news.mathworks.com!newsfeed-00.mathworks.com!newsfeed2.dallas1.level3.net!news.level3.com!postnews.google.com!v38g2000yqb.googlegroups.com!not-for-mail
From: Greg Heath <heath@alumni.brown.edu>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Feature Extraction for EMG data using PCA
Date: Tue, 10 Mar 2009 09:36:57 -0700 (PDT)
Organization: http://groups.google.com
Lines: 43
Message-ID: <41ea4541-412d-4eb8-90aa-3dce3b1f16de@v38g2000yqb.googlegroups.com>
References: <goh104$17e$1@fred.mathworks.com> <6a1f9244-51d8-4e3b-9fb8-2aefcab53109@y33g2000prg.googlegroups.com> 
	<golmid$8sp$1@fred.mathworks.com>
NNTP-Posting-Host: 68.39.98.10
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1236703017 3088 127.0.0.1 (10 Mar 2009 16:36:57 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 10 Mar 2009 16:36:57 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: v38g2000yqb.googlegroups.com; posting-host=68.39.98.10; 
	posting-account=mUealwkAAACvQrLWvunjg50tRAnsNtJR
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB5; 
	Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; 
	.NET CLR 2.0.50727; .NET CLR 3.0.04506.30; Seekmo 10.0.341.0),gzip(gfe),gzip(gfe)
Xref: news.mathworks.com comp.soft-sys.matlab:523788


On Mar 4, 6:53=A0am, "anoop " <nomail...@rediffmail.com> wrote:
> "russell.f...@gmail.com" <russell.f...@gmail.com> wrote in message <6a1f9=
244-51d8-4e3b-9fb8-2aefcab53...@y33g2000prg.googlegroups.com>...
> > On Mar 2, 10:20=3DA0am, "anoop " <nomail...@rediffmail.com> wrote:
> > > I have a EMG data matrix of size 90(subjects) x 4800(variables). I wa=
nt t=3D
> > o apply PCA to reduce the no. of variables, e.g ( i want matrix of size=
 90 =3D
> > x 1200 after PCA).
> > > I need a matlab program to do so. suggestions are welcome!!
>
> > You can write a program to do PCA using subroutines included in basic
> > Matlab without any extra toolboxes.
>
> > You need to find the eigenvectors and eigenvalues of the covariance
> > matrix of your data, from which you find the most significant
> > principal components, then you expand your data along the principal
> > directions.
>
> well i wrote the program as given below:
> max_PCs=3D1200;
> covariance_matrix=3Dcov(data);
> [eigvect,eigval]=3Deig(covariance_matrix);
> eigval=3Ddiag(eigval);
> [junk,rindices]=3Dsort(-1*eigval);
> eigen_values=3Deigval(rindices);
> arranged_eigen_vectors=3Deigvect(:,rindices);
> eigen_values_extacted=3Deigen_values(1:max_PCs);
> principle_components=3Darranged_eigen_vectors(:,1:max_PCs);
> projected_data=3Dxpca*principle_components;
>
> but it takes very long time to execute. could you please give me faster m=
atlab code?? what should i use for training theneuralnetwork (projected dat=
a or principal components) ??

If you use principal components, what would you use for targets?

If you are designing a classifier use PLS,
not PCA.

Hope this helps.

Greg