资源简介
PCA和KPCA的Matlab和C++程序,其中核函数使用的是高斯核函数
代码片段和文件信息
clc
clear
%load(‘studydata.txt‘)
%x=studydata;
load(‘test.txt‘)
x=test;
psize=size(x);
percent=0.95; %KPCA中特征值的提取效率
d=0.98; %特征值成分的提取比重
var=287;
sign=1; %采用gauss核
tic
[eigenvaluekernelmatrixeigenvectorsproject_invectorsleleijit]=kpca(xpercentvarsign); %未对样本进行筛选的KPCA
disp(‘KPCA所用时间‘);
toc
groupnumber=3; %样本分组的组数
tic
l=floor(psize(1)/groupnumber); %重采样进行重新分组
i=2;
k(1)=1;
while i<=groupnumber+1
k(i)=(i-1)*l;
i=i+1;
if i*l>psize;
k(i)=psize(1);
break;
end
end
xx=x(k(1):k(2):);
[eigenvaluekleigenvectorsakpcaproject_invectorsleleijit]=kpca(xxpercentvarsign); %先对第一组处理
if t==1
sume=abs(eigenvectors(:1));
else
sume=abs(eigenvectors(:1))+abs(eigenvectors(:2));
end
[valuegetnumberrestdata]=shaixuan(xxsumed); %对样本进行筛选
ter_xx=restdata; %记录获取的新样本数据
pvalue=value; %记录获取的样本编号
newdatanumber=getnumber;%记录获取的样本数目
%pvalue
for j=2:groupnumber %对每一小组样本执行KPCA并对样本进行筛选
xx=x(k(j)+1:k(j+1):);
[eigenvaluekleigenvectorsakpcaproject_invectorsleleijit]=kpca(xxpercentvarsign);
if t==1
sume=abs(eigenvectors(:1));
else
sume=abs(eigenvectors(:1))+abs(eigenvectors(:2));
end
[valuegetnumberrestdata]=shaixuan(xxsumed); %对样本进行筛选
ter_xx=[ter_xx;restdata];
for ii=1:getnumber
value(ii)=value(ii)+k(j);
end
pvalue=[pvalue;value];
newdatanumber=getnumber+newdatanumber;
end
%disp(‘分组对样本进行提取之后的样本集是‘);
%ter_xx
[eigenvalue2kleigenvectors2project_invectors2le2leiji2t2]=kpca(ter_xxpercentvarsign); %再次调用KPCA
for i=1:newdatanumber
newkernermatrix(i:)=kernelmatrix(pvalue(i):); %获取索取样本对应核矩阵的行数据
end
newproject=eigenvectors2‘*newkernermatrix; %计算经AKPCA的运算后的投影
newproject=newproject‘;
disp(‘AKPCA所用时间‘);
toc
newdatanumber
disp(‘AKPCA所得的特征投影为‘);
newproject
%save ‘newproject.txt‘ newproject -ASCII
sut=abs(project_invectors(:1))-abs(newproject(:1)); %求解误差
sut=abs(sut‘./project_invectors(:1)‘);
disp(‘经过AKPCA第一投影每一项的标准误差为‘)
sut
hold on
subplot(221);
plot(project_invectors(:1)‘project_invectors(:2)‘‘.‘);
title(‘KPCA(gauss核)的前两个主分量的分布‘);
subplot(222)
percent_spca=100*le;
pareto(percent_spca);
title(‘KPCA特征值的累积贡献率‘);
subplot(223);
plot(newproject(:1)‘newproject(:2)‘‘.‘);
title(‘AKPCA(gauss核)的前两个主分量的分布‘);
subplot(224)
percent_spca=100*le2;
pareto(percent_spca);
title(‘AKPCA特征值的累积贡献率‘);
hold off
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2007-06-02 19:15 毕设matlab和c++\
文件 2528 2007-05-31 21:03 毕设matlab和c++\fenzuAKPCA.asv
文件 2696 2007-06-01 21:39 毕设matlab和c++\fenzuAKPCA.m
文件 2035 2007-05-31 21:23 毕设matlab和c++\fggfgh.asv
文件 2035 2007-05-31 21:24 毕设matlab和c++\fggfgh.m
文件 177 2007-04-18 22:37 毕设matlab和c++\kernel.m
文件 1605 2007-05-31 19:00 毕设matlab和c++\kpca.m
文件 330 2007-06-01 21:54 毕设matlab和c++\kpcakongxiresult436.txt
文件 1729 2007-05-31 19:02 毕设matlab和c++\pca.m
文件 330 2007-05-30 10:01 毕设matlab和c++\pcakongxiresult.txt
文件 795 2007-05-31 19:18 毕设matlab和c++\shaixuan.asv
文件 792 2007-06-01 08:40 毕设matlab和c++\shaixuan.m
文件 1551 2007-04-16 09:20 毕设matlab和c++\studydata.txt
文件 9277 2007-05-17 13:17 毕设matlab和c++\test.txt
文件 1380 2007-05-31 19:48 毕设matlab和c++\testAKPCA.asv
文件 1639 2007-06-01 22:05 毕设matlab和c++\testAKPCA.m
文件 483 2007-05-31 16:29 毕设matlab和c++\testkernelparameter.m
文件 1313 2007-05-31 19:02 毕设matlab和c++\test_pca_and_kpca.asv
文件 1316 2007-05-31 19:03 毕设matlab和c++\test_pca_and_kpca.m
目录 0 2007-06-02 19:15 毕设matlab和c++\单洁毕业设计C++程序5.28\
目录 0 2007-06-02 19:15 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\
文件 441629 2007-06-02 18:59 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\eigen.txt
文件 3 2007-06-02 18:59 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\gaussparameter.txt
文件 2117 2007-06-02 18:56 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\kpca.cpp
文件 3377 2007-06-02 18:51 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\kpca.dsp
文件 516 2007-06-02 19:15 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\kpca.dsw
文件 11033 2007-06-02 18:51 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\kpca.h
文件 58368 2007-06-02 19:15 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\kpca.ncb
文件 48640 2007-06-02 19:15 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\kpca.opt
文件 1246 2007-06-02 18:56 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\kpca.plg
文件 7257 2007-06-02 18:59 毕设matlab和c++\单洁毕业设计C++程序5.28\kpca\kpcaproject.txt
............此处省略15个文件信息
- 上一篇:MFC中的多线程同步
- 下一篇:c++头文件大全,很全哦,
评论
共有 条评论