رفتن به مطلب

خطا در اجرای pca


SAMA.FA

ارسال های توصیه شده

سلام

 

از فیلترگابور که از فرکانس بالا و انرژی بردار وِژگی استخراج کردم ولی چون ابعاد برداری که از فیلتر بدست میاد زیاده برای اینکه کاهش ابعاد رو بردار انجام بدیم از PCAاستفاده می کنم ولی وقتی پارامتر بردار در کد PCA بعنوان ورودی قرار میدهم خطا میده لطفا یکی بگه چیکار کنم تا خطاش رفع شه ممنون

 

کد :S=همون بردار ویژگی

 

 

data=(S); % artificial data set of 100 variables (genes) and 10 samples

[W, pc] = princomp(data'); pc=pc'; W=W';

plot(pc(1,:),pc(2,:),'.');

title('{\bf PCA} by princomp'); xlabel('PC 1'); ylabel('PC 2')

% consider an artificial data set of 100 variables (e.g., genes) and 10 samples

data=(S);

 

% remove the mean variable-wise (row-wise)

data=data-repmat(mean(data,2),1,size(data,2));

 

% calculate eigenvectors (loadings) W, and eigenvalues of the covariance matrix

[W, EvalueMatrix] = eig(cov(data'));

Evalues = diag(EvalueMatrix);

 

% order by largest eigenvalue

Evalues = Evalues(end:-1:1);

W = W(:,end:-1:1); W=W';

 

% generate PCA component space (PCA scores)

pc = W * data;

 

% plot PCA space of the first two PCs: PC1 and PC2

plot(pc(1,:),pc(2,:),'.')

وقتی این کد اجرا میکنم برداری که بدست میاد تمام اعداد ماتریس صفر میشه وقتی بجای data'=S قرار میدم خطای زیر میاد :

 

خطا:

Index exceeds matrix dimensions

لینک به دیدگاه

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...