资源简介
在matlab上实现kpca的程序,没有任何问题,绝对可以运行
代码片段和文件信息
function [train_kpcatest_kpca] = kpcaFordata(traintestthresholdrbf_var)
%train 是训练数据
%test 是测试数据
%threshold 是阀值,是累计特征值的和占总的特征值的和的百分比,其范围是1—100。
%rbf_var 是径向基函数的参数
%% Data kpca processing
%% 源地址:http://blog.sina.com.cn/lssvm
%这个思路应该是这样的:根据训练数据得到中心核矩阵,计算出指定的特征向量(这是目的)。同样根据测试数据计算出测试数据的中心核矩阵,利用训练数据的特征向
%量计算出测试数据的kpca
%% 函数默认设置
if nargin <4
rbf_var=10000;%?
end
if nargin <3
threshold = 90;
end
%% 数据处理
patterns=zscore(train); %训练数据标准化
test_patterns=zscore(test); %测试数据标准化
train_num=size(patterns1); %train_num是训练样本的个数
test_num=size(test_patterns1);%test_num是测试样本的个数
cov_size = train_num; %cov_size是训练样本的个数
%% 计算核矩阵这是一个对称阵
for i=1:cov_size
for j=i:cov_size
K(ij) = exp(-norm(patterns(i:)-patterns(j:))^2/rbf_var); %核函数 rbf_var ??
K(ji) = K(ij
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2355 2013-05-01 21:38 kpcaFordata.m
- 上一篇:matlab迷宫小游戏
- 下一篇:svm算法的仿真程序
评论
共有 条评论