[已答复] 请问我明明设置的10类样本,为什么画图出来的是68类

[复制链接]
ssyyww 发表于 7 天前
testClass=[];
perClass=42;
for times=1:10
load('PIE_pose27.mat');        
disp(['-------------times: ',num2str(times)]);        
nClass = length(unique(gnd));
totleClass=nClass;
class=10;         %总类别数
labelclass=7;    %每类已标记数
labelnumber=class*labelclass;  %总共已标记数
unlabelnumber=class*(perClass-labelclass); %总共未标记数


%--------------随机选择k类样本--------
ctime=datestr(now,30);
tseed=str2num(ctime((end-5):end));
rand('seed',tseed);
a=randperm(totleClass);
disp(['聚类的类别:']);


Testgnd=a(1:class);
Testgnd=sort(Testgnd)
TESTGND(times,:)=Testgnd;
testClass=[testClass;Testgnd];
fea_T=[];
gnd_T=[];



%-------------读取k类样本--------------
for i=1:class
%    Testgnd=randgnd(times,:);
   gnd_class=find(gnd==Testgnd(i));
   fea_T=[fea_T;fea(gnd_class(1:perClass),:)];
   gnd_T=[gnd_T;i*ones(perClass,1)];
end
fea=fea_T;
gnd=gnd_T;




%NMF learning
%Normalize each data vector to have L2-norm equal to 1  
tic;
fea = NormalizeFea(fea);
%Clustering in the NMF space
rand('twister',5489);
[Z,H,dnorm]=nmf(fea',10);
X = H;        

X = NormalizeFea(X');
label = litekmeans(fea,nClass,'Replicates',20);
                        
Y = tsne(X);                 
gscatter(Y(:,1), Y(:,2),label);



end


1 条回复


lyqmath 发表于 6 天前
nClass = length(unique(gnd));

看一下这个数据是多少
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表