一个个的选取训练集和测试集以及给它们加上对应标签好麻烦,为方便以后选取,以for循环写了一个选取代码,方便后来人。
z=3;%种类数-1
g=50;%每种类别的样本数
p=0.6;%训练集占比
labels=creatLabelMat(z,g);
%随机产生训练集 测试集
zhonglei=size(unique(labels),1);
train=[];
test=[];
trainlabel=[];
testlabel=[];
for i=0:zhonglei-1
data=jiangwei((gi+1):(g(i+1)), : );
[~,idx]=sort(rand(g,1));
train=[train;data(idx(1:gp),: )];%取第i类中的1:gp为训练集
test=[test;data(idx(gp+1:end),: )];%取第i类中的gp+1:gp为测试集
trainlabel=[trainlabel;creatLabelMat(0,gp)(i+1)];%第i类训练集标签
testlabel=[testlabel;creatLabelMat(0,g-gp)*(i+1)];%第i类测试集标签
end
超方便的选取训练集、测试集并加标签的MATLAB代码
最新推荐文章于 2024-07-02 12:06:44 发布