%% Train fea=double(pyramid); gnd=label; fea=normc(fea); num_class_train=20; rand_class=randperm(257); train_sample=[]; train_label=[]; test_sample=[]; test_label=[]; %Getting training and testing data for the close-set class num_all_class=70; for i=1:num_class_train p=fea(:,gnd==rand_class(i)); p_size=size(p,2); p=p(:,randperm(p_size)); p=p(:,1:num_all_class); train_size=ceil(50); %number of Train samples for each class test_size=num_all_class-train_size; train_sample=[train_sample p(:,1:train_size)]; train_label=[train_label rand_class(i).*ones(1,train_size)]; test_sample=[test_sample p(:,train_size+1:num_all_class)]; test_label=[test_label rand_class(i).*ones(1,test_size)]; end %Proceed SRC methods train_src_separate;
时间: 2023-12-22 20:05:01 浏览: 132
FEA.rar_FEA_fea.rar_finite element_有限元
这段代码是用于进行 SRC(Sparse Representation-based Classification)算法的训练和测试,其中将数据集划分为训练集和测试集,并将训练集中的每个类别随机选择一定数量的样本作为训练样本,其余样本作为测试样本。具体地,代码中使用了一个名为“fea”的变量来表示数据集的特征,一个名为“gnd”的变量来表示数据集的标签。在训练过程中,首先对数据集进行了归一化处理,然后按照每个类别随机取出一定数量的样本作为训练样本,并将其余样本作为测试样本。最后,使用train_src_separate函数来实现SRC算法的训练和测试。
阅读全文