Matble怎樣對矩陣進行加標籤整合

2021-08-20 10:56:28 字數 1517 閱讀 1955

這個**主要針對,對不同類資料,加標籤整合

我主要用在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,:);

endend

其測試時需要構建標籤    (上面乙個**就是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

for j=1:mfea

if labela[j,2]==i; %找出label所對應的行,

a(j,:)=fea(j,:); %提取這一行的所有資訊

endend

endlabel = litekmeans(fea,nclass,'replicates',20);

mihat = mutualinfo(gnd,label);%越大,越相關,互資訊

disp(['clustering in the original space. mihat: ',num2str(mihat)]);%這是nmi結果

label = bestmap(gnd,label);

ac=k

ac = length(find(gnd == label))/length(gnd);

disp(['clustering in the original space. mihat: ',num2str(ac)]);%這是ac結果

對於gnmf的**,我前面部落格中給鏈結了

企業如何進行「對標」管理?

對標 管理起源於上世紀70年代的美國,最初是人們利用 對標 尋找與別的公司的差距,把它作為一種調查比較的基準方法。對標 管理是尋找和學習最佳管理案例和執行方式的一種方法,現已成為最受企業歡迎的第三大戰略管理方法。對標 就是對比標桿找差距。推行 對標 管理,就是要把企業的目標緊緊盯住業界最好水平,明確...

怎樣對業務進行建模1

請問 每個業務員有多個客戶,每個客戶又有多個產品,建基礎檔案時,用列表型還是層次型或組合型?遇到需求要看具體應用情況 實際業務中很少見乙個下拉樹中,又放業務員 又放客戶 還要放產品 這樣做有什麼意義?多數情況是通過取數函式 下拉框等來將資料之間的對應關係提取到表單介面上 所以用2個列表型基礎檔案,把...

Julia對矩陣進行預先賦值

我們知道,對於matlab和julia 而言,預先賦值可以獲得更快的運算速度,特別是matlab.由於julia 經常用循還解決相關問題,預先賦值使用的頻率相比matlab而言大大減小。不過,還是有一些地方,可能用到的,盡量不要使用cat 操作,效率低下,速度慢得很。這個原則,還僅是對於matlab...