k=3000
UnqLab = unique(TrainingLabels)
n = length(UnqLab)
count=hist(TrainingLabels,UnqLab);
num = 1;
for i = 1:n
fprintf('\n %i',i)
nn = count(i)
for j = 1:nn
NTrainingFeatures(num,:) = TrainingFeatures(num,ranking(i,1:k))
num = num +1;
end
end
Here TrainingLabels的大小爲21,000 * 1,包含按排序順序排列的257個標籤。例如001,001,001,001,001,001 ...... 002,002,002 ....... 257,257。你能減少這個matlab代碼的計算時間嗎?
TrainingFeatures大小爲21,000 * 4096,包含一些值。
排名大小爲257 * 4096。 排名包含排名例如(3076,456,765,4000,87,5,.....)。這是第一排的樣子。這意味着所有第一個標籤在3076處輸入TrainingFeatures已經給出第一等級。
此代碼需要太多的計算時間(天)。有沒有什麼辦法可以減少時間。在Matlab或Python中的代碼將工作。
如果您發現它有幫助,您介意接受答案嗎? – Mozglubov
新的這裏..所以不知道它也是一個選項。 – AAA
不用擔心,它只是有助於表明,如果問題出現在任何人的搜索中,問題都已得到解答。歡迎來到堆棧溢出! – Mozglubov