Matble怎样对矩阵进行加标签整合

这篇博客介绍如何在Matlab中对矩阵进行加标签整合,特别是针对不同类数据的操作。作者分享了一段代码,该代码适用于处理如mnist_all.mat这样的数据,并且在GNMF(非负矩阵分解)的相关处理中有应用。文中还提及了对2D Hela image data的类似处理,并提供了一个名为Matrix_adt的测试代码。此外,作者提到了之前博客中有关GNMF的更多代码资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个代码主要针对,对不同类数据,加标签整合

数据为  mnist_all.mat  (因为时间隔得有点久我忘了当初下载网站)

我主要用在GNMF相关处理中,其中对2D Hela image data数据也是类似加标签,希望对你有帮助

%对MNIST数据的处理
%   整合为一个数据矩阵
%在因为每张图是28X28=784,所以每一行代表一张图
%需要从所有图中选取500样本,每类选取50个样本
load('mnist_all.mat');	
%  load('usps_all.mat');	

fea=zeros(500,784);
gnd1=ones(50,1);      %第一类,全部标记为1
gnd=gnd1;
for i=2:10
    gnd=[gnd;i*gnd1];    %gnd  标记;里面第一类标记1,依次内推到第十类标记为10.
end

%下面开始构建处理矩阵
%每个样本选50个样本(随机)
t=0;
for i=1:10
    st=['test',num2str(i-1)];  %选取不同的test,然后从中随机提取50个样本;例test0
    test=eval(st);             %将字符串对应的矩阵取值出来;例将test0,对应的所以样本。
    for j=1:50
        t=t+1;
        fea(t,:)=test(i*j,:);
    end
end

其测试时需要构建标签    (上面一个代码就是Matrix_adt.m)

%  先运行Matrix_adt.m,构建标签gnd,与矩阵fea
nClass=10;
K=10;

label = litekmeans(fea,K,'Replicates',20);
 [mFea,nSmp]=size(fea);
labelA=[];
labelA=[(1:mFea)',label];
A=[];
for i=1:K
   
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值